| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=50), | public | :: | seedname |
base name for reading/writing of files |
|||
| complex(kind=dp), | public, | allocatable | :: | ham_k(:,:,:) |
KS Hamiltonian, takes size (number of WF, number of WF, number of k-points) |
||
| complex(kind=dp), | public, | allocatable | :: | ham_r(:,:,:) |
RS Hamiltonian, takes size (number of WF, number of WF, number of RS-points) |
||
| complex(kind=dp), | public, | pointer | :: | a_matrix(:,:,:) | => | null() |
pointer to matrix "a" (projections), dimensioned (number of bands, number WF, number of k-points) |
| complex(kind=dp), | public, | pointer | :: | m_matrix_local(:,:,:,:) | => | null() |
pointer to rank local part of "m", dimensioned (number of bands, number of bands, FD neighbours, number of k-points on this rank) |
| complex(kind=dp), | public, | pointer | :: | u_matrix(:,:,:) | => | null() |
pointer to matrix "u", dimensionsed (number of WF, number of WF, number of k-points) |
| complex(kind=dp), | public, | pointer | :: | u_matrix_opt(:,:,:) | => | null() |
pointer to matrix "u_matrix_opt", dimensioned (number of bands, number of WF, number of k-points) |
| real(kind=dp), | public, | pointer | :: | eigval(:,:) | => | null() |
pointer to eigenvalue array dimensioned (number of bands, number of k-points) |
| integer, | public, | allocatable | :: | dist_kpoints(:) |
distribution of k-points; dist_kpoints(i) = rank operating on k-point i |
||
| integer, | public, | allocatable | :: | exclude_bands(:) |
index of bands to exclude from the calculation: passed to DFT code to define space for overlaps, projections, etc |
||
| integer, | public, | allocatable | :: | irvec(:,:) | |||
| integer, | public, | allocatable | :: | ndegen(:) | |||
| integer, | public, | allocatable | :: | shift_vec(:,:) | |||
| integer, | public | :: | mp_grid(3) |
Dimensions of the Monkhorst-Pack grid |
|||
| integer, | public | :: | nrpts |
Dimensions of the RS grid |
|||
| integer, | public | :: | num_bands |
Number of bands (greater or equal to number of WFs) |
|||
| integer, | public | :: | num_kpts |
Total number of k-points |
|||
| integer, | public | :: | num_proj | = | 0 |
Number of projectors defined |
|
| integer, | public | :: | num_wann |
Number of WFs |
|||
| integer, | public | :: | optimisation | = | 3 |
Algorithm control (affects memory use/speed) |
|
| integer, | public | :: | rpt_origin | ||||
| logical, | public | :: | calc_only_A | = | .false. | ||
| logical, | public | :: | gamma_only | = | .false. |
Select gamma_only branch of some algorithms |
|
| logical, | public | :: | have_disentangled | = | .false. |
Flag that disentanglment has been performed |
|
| logical, | public | :: | lhasproj | = | .false. |
Flag that projectors are defined |
|
| logical, | public | :: | lsitesymmetry | = | .false. |
Flag that symmetry-adapted WFs are to be calculated |
|
| logical, | public | :: | use_bloch_phases | = | .false. |
Flag to bypass disentanglement |
|
| logical, | public | :: | setup_complete | = | .false. |
Internal flag to indicate completion of setup |
|
| real(kind=dp), | public, | allocatable | :: | fermi_energy_list(:) |
Array of energies around the Fermi energy |
||
| real(kind=dp), | public, | allocatable | :: | kpt_latt(:,:) |
Tabulation of k-points in crystal coordinates |
||
| real(kind=dp), | public, | allocatable | :: | wannier_centres_translated(:,:) | |||
| real(kind=dp), | public | :: | real_lattice(3,3) | ||||
| type(atom_data_type), | public | :: | atom_data | ||||
| type(band_plot_type), | public | :: | band_plot | ||||
| type(dis_control_type), | public | :: | dis_control | ||||
| type(dis_manifold_type), | public | :: | dis_manifold | ||||
| type(dis_spheres_type), | public | :: | dis_spheres | ||||
| type(fermi_surface_plot_type), | public | :: | fermi_surface_data | ||||
| type(ham_logical_type), | public | :: | ham_logical | ||||
| type(kmesh_info_type), | public | :: | kmesh_info | ||||
| type(kmesh_input_type), | public | :: | kmesh_input | ||||
| type(kpoint_path_type), | public | :: | kpoint_path | ||||
| type(output_file_type), | public | :: | output_file | ||||
| type(print_output_type), | public | :: | print_output | ||||
| type(proj_type), | public, | allocatable | :: | proj(:) | |||
| type(proj_type), | public, | allocatable | :: | proj_input(:) | |||
| type(real_space_ham_type), | public | :: | real_space_ham | ||||
| type(select_projection_type), | public | :: | select_proj | ||||
| type(settings_type), | public | :: | settings |
container for input file (.win) data and options set via library interface |
|||
| type(sitesym_type), | public | :: | sitesym | ||||
| type(timer_list_type), | public | :: | timer | ||||
| type(transport_type), | public | :: | tran | ||||
| type(w90_calculation_type), | public | :: | w90_calculation | ||||
| type(w90_comm_type), | public | :: | comm | ||||
| type(w90_physical_constants_type), | public | :: | physics | ||||
| type(w90_system_type), | public | :: | w90_system | ||||
| type(wann_control_type), | public | :: | wann_control | ||||
| type(wannier_data_type), | public | :: | wannier_data | ||||
| type(wannier_plot_type), | public | :: | wann_plot | ||||
| type(wann_omega_type), | public | :: | omega | ||||
| type(wann_omega_type), | public | :: | wann_omega | ||||
| type(ws_region_type), | public | :: | ws_region | ||||
| type(wvfn_read_type), | public | :: | wvfn_read |
type lib_common_type character(len=50) :: seedname ! size=50 is a convention here !! base name for reading/writing of files ! matrices complex(kind=dp), allocatable :: ham_k(:, :, :) !! KS Hamiltonian, takes size (number of WF, number of WF, number of k-points) complex(kind=dp), allocatable :: ham_r(:, :, :) !! RS Hamiltonian, takes size (number of WF, number of WF, number of RS-points) complex(kind=dp), pointer :: a_matrix(:, :, :) => null() !! pointer to matrix "a" (projections), dimensioned (number of bands, number WF, number of k-points) complex(kind=dp), pointer :: m_matrix_local(:, :, :, :) => null() !! pointer to rank local part of "m", dimensioned (number of bands, number of bands, FD neighbours, number of k-points on this rank) complex(kind=dp), pointer :: u_matrix(:, :, :) => null() !! pointer to matrix "u", dimensionsed (number of WF, number of WF, number of k-points) complex(kind=dp), pointer :: u_matrix_opt(:, :, :) => null() !! pointer to matrix "u_matrix_opt", dimensioned (number of bands, number of WF, number of k-points) real(kind=dp), pointer :: eigval(:, :) => null() !! pointer to eigenvalue array dimensioned (number of bands, number of k-points) integer, allocatable :: dist_kpoints(:) !! distribution of k-points; dist_kpoints(i) = rank operating on k-point i integer, allocatable :: exclude_bands(:) !! index of bands to exclude from the calculation: passed to DFT code to define space for overlaps, projections, etc integer, allocatable :: irvec(:, :) integer, allocatable :: ndegen(:) integer, allocatable :: shift_vec(:, :) integer :: mp_grid(3) !! Dimensions of the Monkhorst-Pack grid integer :: nrpts !! Dimensions of the RS grid integer :: num_bands !! Number of bands (greater or equal to number of WFs) integer :: num_kpts !! Total number of k-points integer :: num_proj = 0 !! Number of projectors defined integer :: num_wann !! Number of WFs integer :: optimisation = 3 !! Algorithm control (affects memory use/speed) integer :: rpt_origin logical :: calc_only_A = .false. logical :: gamma_only = .false. !! Select gamma_only branch of some algorithms logical :: have_disentangled = .false. !! Flag that disentanglment has been performed logical :: lhasproj = .false. !! Flag that projectors are defined logical :: lsitesymmetry = .false. !! Flag that symmetry-adapted WFs are to be calculated logical :: use_bloch_phases = .false. !! Flag to bypass disentanglement logical :: setup_complete = .false. !! Internal flag to indicate completion of setup real(kind=dp), allocatable :: fermi_energy_list(:) !! Array of energies around the Fermi energy real(kind=dp), allocatable :: kpt_latt(:, :) !! Tabulation of k-points in crystal coordinates real(kind=dp), allocatable :: wannier_centres_translated(:, :) real(kind=dp) :: real_lattice(3, 3) ! See types.F90 and wannier90_types.F90 for the use and composition of the different types type(atom_data_type) :: atom_data type(band_plot_type) :: band_plot type(dis_control_type) :: dis_control type(dis_manifold_type) :: dis_manifold type(dis_spheres_type) :: dis_spheres type(fermi_surface_plot_type) :: fermi_surface_data type(ham_logical_type) :: ham_logical type(kmesh_info_type) :: kmesh_info type(kmesh_input_type) :: kmesh_input type(kpoint_path_type) :: kpoint_path type(output_file_type) :: output_file type(print_output_type) :: print_output type(proj_type), allocatable :: proj(:), proj_input(:) type(real_space_ham_type) :: real_space_ham type(select_projection_type) :: select_proj type(settings_type) :: settings !! container for input file (.win) data and options set via library interface type(sitesym_type) :: sitesym type(timer_list_type) :: timer type(transport_type) :: tran type(w90_calculation_type) :: w90_calculation type(w90_comm_type) :: comm type(w90_physical_constants_type) :: physics type(w90_system_type) :: w90_system type(wann_control_type) :: wann_control type(wannier_data_type) :: wannier_data type(wannier_plot_type) :: wann_plot type(wann_omega_type) :: omega type(wann_omega_type) :: wann_omega type(ws_region_type) :: ws_region type(wvfn_read_type) :: wvfn_read end type lib_common_type