This module handles various plots
Main plotting routine
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(atom_data_type), | intent(in) | :: | atom_data | |||
| type(band_plot_type), | intent(in) | :: | band_plot | |||
| type(dis_manifold_type), | intent(in) | :: | dis_manifold | |||
| real(kind=dp), | intent(in), | allocatable | :: | fermi_energy_list(:) | ||
| type(fermi_surface_plot_type), | intent(in) | :: | fermi_surface_plot | |||
| type(ham_logical_type), | intent(inout) | :: | ham_logical | |||
| type(kmesh_info_type), | intent(in) | :: | kmesh_info | |||
| real(kind=dp), | intent(in) | :: | kpt_latt(:,:) | |||
| type(output_file_type), | intent(in) | :: | output_file | |||
| type(wvfn_read_type), | intent(in) | :: | wvfn_read | |||
| type(real_space_ham_type), | intent(inout) | :: | real_space_ham | |||
| type(kpoint_path_type), | intent(in) | :: | kpoint_path | |||
| type(print_output_type), | intent(in) | :: | print_output | |||
| type(wannier_data_type), | intent(in) | :: | wannier_data | |||
| type(wannier_plot_type), | intent(in) | :: | wannier_plot | |||
| type(ws_region_type), | intent(in) | :: | ws_region | |||
| type(w90_calculation_type), | intent(in) | :: | w90_calculation | |||
| complex(kind=dp), | intent(inout), | allocatable | :: | ham_k(:,:,:) | ||
| complex(kind=dp), | intent(inout), | allocatable | :: | ham_r(:,:,:) | ||
| complex(kind=dp), | intent(in) | :: | m_matrix(:,:,:,:) | |||
| complex(kind=dp), | intent(in) | :: | u_matrix(:,:,:) | |||
| complex(kind=dp), | intent(in) | :: | u_matrix_opt(:,:,:) | |||
| real(kind=dp), | intent(in) | :: | eigval(:,:) | |||
| real(kind=dp), | intent(in) | :: | real_lattice(3,3) | |||
| real(kind=dp), | intent(inout), | allocatable | :: | wannier_centres_translated(:,:) | ||
| real(kind=dp), | intent(in) | :: | bohr | |||
| integer, | intent(inout), | allocatable | :: | irvec(:,:) | ||
| integer, | intent(in) | :: | mp_grid(3) | |||
| integer, | intent(inout), | allocatable | :: | ndegen(:) | ||
| integer, | intent(inout), | allocatable | :: | shift_vec(:,:) | ||
| integer, | intent(inout) | :: | nrpts | |||
| integer, | intent(in) | :: | num_bands | |||
| integer, | intent(in) | :: | num_kpts | |||
| integer, | intent(in) | :: | num_wann | |||
| integer, | intent(inout) | :: | rpt_origin | |||
| character(len=20), | intent(in) | :: | transport_mode | |||
| logical, | intent(in) | :: | have_disentangled | |||
| logical, | intent(in) | :: | lsitesymmetry | |||
| type(w90_system_type), | intent(in) | :: | w90_system | |||
| character(len=50), | intent(in) | :: | seedname | |||
| integer, | intent(in) | :: | stdout | |||
| type(timer_list_type), | intent(inout) | :: | timer | |||
| integer, | intent(in) | :: | dist_k(:) | |||
| type(w90_error_type), | intent(out), | allocatable | :: | error | ||
| type(w90_comm_type), | intent(in) | :: | comm |
Plots the interpolated band structure
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | mp_grid(3) | |||
| real(kind=dp), | intent(in) | :: | real_lattice(3,3) | |||
| type(band_plot_type), | intent(in) | :: | band_plot | |||
| type(kpoint_path_type), | intent(in) | :: | kpoint_path | |||
| type(real_space_ham_type), | intent(in) | :: | real_space_ham | |||
| type(ws_region_type), | intent(in) | :: | ws_region | |||
| type(print_output_type), | intent(in) | :: | print_output | |||
| real(kind=dp), | intent(in) | :: | recip_lattice(3,3) | |||
| integer, | intent(in) | :: | num_wann | |||
| type(wannier_data_type), | intent(in) | :: | wannier_data | |||
| complex(kind=dp), | intent(in) | :: | ham_r(:,:,:) | |||
| integer, | intent(in) | :: | irvec(:,:) | |||
| integer, | intent(in) | :: | ndegen(:) | |||
| integer, | intent(inout) | :: | nrpts | |||
| real(kind=dp), | intent(in) | :: | wannier_centres_translated(:,:) | |||
| type(ws_distance_type), | intent(inout) | :: | ws_distance | |||
| integer, | intent(in) | :: | bands_num_spec_points | |||
| integer, | intent(in) | :: | stdout | |||
| character(len=50), | intent(in) | :: | seedname | |||
| type(timer_list_type), | intent(inout) | :: | timer | |||
| type(w90_error_type), | intent(out), | allocatable | :: | error | ||
| type(w90_comm_type), | intent(in) | :: | comm |
Prepares a Xcrysden bxsf file to view the fermi surface
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in), | allocatable | :: | fermi_energy_list(:) | ||
| real(kind=dp), | intent(in) | :: | recip_lattice(3,3) | |||
| type(fermi_surface_plot_type), | intent(in) | :: | fermi_surface_plot | |||
| integer, | intent(in) | :: | num_wann | |||
| complex(kind=dp), | intent(in) | :: | ham_r(:,:,:) | |||
| integer, | intent(in) | :: | irvec(:,:) | |||
| integer, | intent(in) | :: | ndegen(:) | |||
| integer, | intent(in) | :: | nrpts | |||
| integer, | intent(in) | :: | timing_level | |||
| integer, | intent(in) | :: | stdout | |||
| character(len=50), | intent(in) | :: | seedname | |||
| type(timer_list_type), | intent(inout) | :: | timer | |||
| type(w90_error_type), | intent(out), | allocatable | :: | error | ||
| type(w90_comm_type), | intent(in) | :: | comm |
Plot the WF in Xcrysden format based on code written by Michel Posternak
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(wannier_plot_type), | intent(in) | :: | wannier_plot | |||
| type(wvfn_read_type), | intent(in) | :: | wvfn_read | |||
| type(wannier_data_type), | intent(in) | :: | wannier_data | |||
| type(print_output_type), | intent(in) | :: | print_output | |||
| complex(kind=dp), | intent(in) | :: | u_matrix_opt(:,:,:) | |||
| type(dis_manifold_type), | intent(in) | :: | dis_manifold | |||
| real(kind=dp), | intent(in) | :: | real_lattice(3,3) | |||
| type(atom_data_type), | intent(in) | :: | atom_data | |||
| real(kind=dp), | intent(in) | :: | kpt_latt(:,:) | |||
| complex(kind=dp), | intent(in) | :: | u_matrix(:,:,:) | |||
| integer, | intent(in) | :: | num_kpts | |||
| integer, | intent(in) | :: | num_bands | |||
| integer, | intent(in) | :: | num_wann | |||
| logical, | intent(in) | :: | have_disentangled | |||
| logical, | intent(in) | :: | spinors | |||
| real(kind=dp), | intent(in) | :: | bohr | |||
| integer, | intent(in) | :: | stdout | |||
| character(len=50), | intent(in) | :: | seedname | |||
| type(timer_list_type), | intent(inout) | :: | timer | |||
| integer, | intent(in) | :: | dist_k(:) | |||
| type(w90_error_type), | intent(out), | allocatable | :: | error | ||
| type(w90_comm_type), | intent(in) | :: | comm |
Read a single UNK file into wvfn (or wvfn_nc for spinors), keeping
the first num_inc bands flagged in inc_band (bands not flagged are
read and discarded).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | wfnname |
Name of the UNK file to read |
||
| logical, | intent(in) | :: | formatted |
Whether the UNK file is formatted |
||
| logical, | intent(in) | :: | spinors |
Whether the wavefunctions are spinors |
||
| logical, | intent(in) | :: | inc_band(:) |
Bands to keep |
||
| integer, | intent(in) | :: | num_inc |
Number of bands to keep |
||
| integer, | intent(in) | :: | num_bands |
Total number of bands in the file |
||
| integer, | intent(in) | :: | kpt |
Expected k-point index (checked against the file header) |
||
| integer, | intent(in) | :: | ngx |
Expected grid dimensions (checked against the file header) |
||
| integer, | intent(in) | :: | ngy |
Expected grid dimensions (checked against the file header) |
||
| integer, | intent(in) | :: | ngz |
Expected grid dimensions (checked against the file header) |
||
| complex(kind=dp), | intent(inout), | allocatable | :: | wvfn(:,:) |
Destination, band as second index (caller-allocated; if .not. spinors) |
|
| complex(kind=dp), | intent(inout), | allocatable | :: | wvfn_nc(:,:,:) |
Spinor destination, spin as third index (caller-allocated; if spinors) |
|
| integer, | intent(in) | :: | stdout | |||
| type(w90_error_type), | intent(out), | allocatable | :: | error | ||
| type(w90_comm_type), | intent(in) | :: | comm |
Plot u_matrix and u_matrix_opt to textfiles in readable format
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=dp), | intent(in) | :: | u_matrix_opt(:,:,:) | |||
| complex(kind=dp), | intent(in) | :: | u_matrix(:,:,:) | |||
| real(kind=dp), | intent(in) | :: | kpt_latt(:,:) | |||
| type(dis_manifold_type), | intent(in) | :: | dis_manifold | |||
| logical, | intent(in) | :: | have_disentangled | |||
| integer, | intent(in) | :: | num_wann | |||
| integer, | intent(in) | :: | num_kpts | |||
| integer, | intent(in) | :: | num_bands | |||
| character(len=50), | intent(in) | :: | seedname | |||
| type(w90_error_type), | intent(out), | allocatable | :: | error | ||
| type(w90_comm_type), | intent(in) | :: | comm |
June 2018: RM and SP Write to file the matrix elements of bvector and their weights This is used by EPW to compute the velocity. You need "write_bvec = .true." in your wannier input
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(kmesh_info_type), | intent(in) | :: | kmesh_info | |||
| integer, | intent(in) | :: | num_kpts | |||
| character(len=50), | intent(in) | :: | seedname | |||
| type(w90_error_type), | intent(out), | allocatable | :: | error | ||
| type(w90_comm_type), | intent(in) | :: | comm |
Write out the matrix elements of r
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(kmesh_info_type), | intent(in) | :: | kmesh_info | |||
| complex(kind=dp), | intent(in) | :: | m_matrix(:,:,:,:) | |||
| real(kind=dp), | intent(in) | :: | kpt_latt(:,:) | |||
| integer, | intent(in) | :: | irvec(:,:) | |||
| integer, | intent(in) | :: | nrpts | |||
| integer, | intent(in) | :: | num_kpts | |||
| integer, | intent(in) | :: | num_wann | |||
| character(len=50), | intent(in) | :: | seedname | |||
| integer, | intent(in) | :: | dist_k(:) | |||
| type(w90_error_type), | intent(out), | allocatable | :: | error | ||
| type(w90_comm_type), | intent(in) | :: | comm |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | num_kpts | |||
| integer, | intent(in) | :: | num_wann | |||
| type(kmesh_info_type), | intent(in) | :: | kmesh_info | |||
| complex(kind=dp), | intent(in) | :: | m_matrix(:,:,:,:) | |||
| character(len=50), | intent(in) | :: | seedname | |||
| integer, | intent(in) | :: | dist_k(:) | |||
| type(w90_error_type), | intent(out), | allocatable | :: | error | ||
| type(w90_comm_type), | intent(in) | :: | comm |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | num_bands | |||
| integer, | intent(in) | :: | num_wann | |||
| integer, | intent(in) | :: | num_kpts | |||
| complex(kind=dp), | intent(in) | :: | u_matrix_opt(:,:,:) | |||
| real(kind=dp), | intent(in) | :: | eigval(:,:) | |||
| logical, | intent(in) | :: | lwindow(:,:) | |||
| integer, | intent(in) | :: | timing_level | |||
| integer, | intent(in) | :: | iprint | |||
| integer, | intent(in) | :: | stdout | |||
| type(timer_list_type), | intent(inout) | :: | timer |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | num_wann | |||
| type(wannier_data_type), | intent(in) | :: | wannier_data | |||
| real(kind=dp), | intent(in) | :: | real_lattice(3,3) | |||
| complex(kind=dp), | intent(in) | :: | u_matrix(:,:,:) | |||
| complex(kind=dp), | intent(in) | :: | u_matrix_opt(:,:,:) | |||
| logical, | intent(in) | :: | have_disentangled | |||
| type(w90_system_type), | intent(in) | :: | w90_system | |||
| type(w90_error_type), | intent(out), | allocatable | :: | error | ||
| type(w90_comm_type), | intent(in) | :: | comm | |||
| integer, | intent(in) | :: | stdout | |||
| character(len=50), | intent(in) | :: | seedname |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | num_wann | |||
| integer, | intent(in) | :: | num_kpts | |||
| type(kmesh_info_type), | intent(in) | :: | kmesh_info | |||
| complex(kind=dp), | intent(in) | :: | m_matrix(:,:,:,:) | |||
| type(print_output_type), | intent(in) | :: | print_output | |||
| type(timer_list_type), | intent(inout) | :: | timer | |||
| integer, | intent(in) | :: | dist_k(:) | |||
| type(w90_error_type), | intent(out), | allocatable | :: | error | ||
| type(w90_comm_type), | intent(in) | :: | comm | |||
| integer, | intent(in) | :: | stdout |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(in) | :: | translate_home_cell | |||
| integer, | intent(in) | :: | num_wann | |||
| real(kind=dp), | intent(in) | :: | wannier_centres(:,:) | |||
| real(kind=dp), | intent(in) | :: | real_lattice(3,3) | |||
| type(atom_data_type), | intent(in) | :: | atom_data | |||
| type(print_output_type), | intent(in) | :: | print_output | |||
| type(w90_error_type), | intent(out), | allocatable | :: | error | ||
| type(w90_comm_type), | intent(in) | :: | comm | |||
| integer, | intent(in) | :: | stdout | |||
| character(len=50), | intent(in) | :: | seedname |