w90_wannier90_types Module

Here are defined types specific to wannier90.x (not used by postw90.x). Types used by both wannier90.x and postw90.x are defined in types.F90. Types specific to postw90.x (not used by wannier90.x) are defined in postw90/postw90_types.F90.


Uses

  • module~~w90_wannier90_types~~UsesGraph module~w90_wannier90_types w90_wannier90_types module~w90_constants w90_constants module~w90_wannier90_types->module~w90_constants

Used by

  • module~~w90_wannier90_types~~UsedByGraph module~w90_wannier90_types w90_wannier90_types module~w90_library w90_library module~w90_library->module~w90_wannier90_types module~w90_wannier90_readwrite w90_wannier90_readwrite module~w90_wannier90_readwrite->module~w90_wannier90_types module~wannchk_data wannchk_data module~wannchk_data->module~w90_wannier90_types proc~check_and_sort_similar_centres check_and_sort_similar_centres proc~check_and_sort_similar_centres->module~w90_wannier90_types proc~dis_extract dis_extract proc~dis_extract->module~w90_wannier90_types proc~dis_extract_gamma dis_extract_gamma proc~dis_extract_gamma->module~w90_wannier90_types proc~dis_main dis_main proc~dis_main->module~w90_wannier90_types proc~dis_windows dis_windows proc~dis_windows->module~w90_wannier90_types proc~dis_windows_proj dis_windows_proj proc~dis_windows_proj->module~w90_wannier90_types proc~hamiltonian_dealloc hamiltonian_dealloc proc~hamiltonian_dealloc->module~w90_wannier90_types proc~hamiltonian_get_hr hamiltonian_get_hr proc~hamiltonian_get_hr->module~w90_wannier90_types proc~hamiltonian_setup hamiltonian_setup proc~hamiltonian_setup->module~w90_wannier90_types proc~internal_find_u internal_find_u proc~internal_find_u->module~w90_wannier90_types proc~internal_test_convergence internal_test_convergence proc~internal_test_convergence->module~w90_wannier90_types proc~overlap_project overlap_project proc~overlap_project->module~w90_wannier90_types proc~overlap_read overlap_read proc~overlap_read->module~w90_wannier90_types proc~plot_fermi_surface plot_fermi_surface proc~plot_fermi_surface->module~w90_wannier90_types proc~plot_interpolate_bands plot_interpolate_bands proc~plot_interpolate_bands->module~w90_wannier90_types proc~plot_main plot_main proc~plot_main->module~w90_wannier90_types proc~plot_wannier plot_wannier proc~plot_wannier->module~w90_wannier90_types proc~sitesym_dealloc sitesym_dealloc proc~sitesym_dealloc->module~w90_wannier90_types proc~sitesym_dis_extract_symmetry sitesym_dis_extract_symmetry proc~sitesym_dis_extract_symmetry->module~w90_wannier90_types proc~sitesym_read sitesym_read proc~sitesym_read->module~w90_wannier90_types proc~sitesym_replace_d_matrix_band sitesym_replace_d_matrix_band proc~sitesym_replace_d_matrix_band->module~w90_wannier90_types proc~sitesym_slim_d_matrix_band sitesym_slim_d_matrix_band proc~sitesym_slim_d_matrix_band->module~w90_wannier90_types proc~sitesym_symmetrize_gradient sitesym_symmetrize_gradient proc~sitesym_symmetrize_gradient->module~w90_wannier90_types proc~sitesym_symmetrize_rotation sitesym_symmetrize_rotation proc~sitesym_symmetrize_rotation->module~w90_wannier90_types proc~sitesym_symmetrize_u_matrix sitesym_symmetrize_u_matrix proc~sitesym_symmetrize_u_matrix->module~w90_wannier90_types proc~sitesym_symmetrize_zmatrix sitesym_symmetrize_zmatrix proc~sitesym_symmetrize_zmatrix->module~w90_wannier90_types proc~symmetrize_ukirr symmetrize_ukirr proc~symmetrize_ukirr->module~w90_wannier90_types proc~tran_bulk tran_bulk proc~tran_bulk->module~w90_wannier90_types proc~tran_cut_hr_one_dim tran_cut_hr_one_dim proc~tran_cut_hr_one_dim->module~w90_wannier90_types proc~tran_get_ht tran_get_ht proc~tran_get_ht->module~w90_wannier90_types proc~tran_lcr tran_lcr proc~tran_lcr->module~w90_wannier90_types proc~tran_lcr_2c2_build_ham tran_lcr_2c2_build_ham proc~tran_lcr_2c2_build_ham->module~w90_wannier90_types proc~tran_lcr_2c2_sort tran_lcr_2c2_sort proc~tran_lcr_2c2_sort->module~w90_wannier90_types proc~tran_main tran_main proc~tran_main->module~w90_wannier90_types proc~tran_parity_enforce tran_parity_enforce proc~tran_parity_enforce->module~w90_wannier90_types proc~tran_reduce_hr tran_reduce_hr proc~tran_reduce_hr->module~w90_wannier90_types proc~tran_write_xyz tran_write_xyz proc~tran_write_xyz->module~w90_wannier90_types proc~wann_domega wann_domega proc~wann_domega->module~w90_wannier90_types proc~wann_main wann_main proc~wann_main->module~w90_wannier90_types proc~wann_main_gamma wann_main_gamma proc~wann_main_gamma->module~w90_wannier90_types proc~wann_main_gamma->module~w90_wannier90_readwrite proc~wann_omega wann_omega proc~wann_omega->module~w90_wannier90_types module~w90_library_c w90_library_c module~w90_library_c->module~w90_library module~w90_library_extra w90_library_extra module~w90_library_extra->module~w90_library proc~conv_read_chkpt conv_read_chkpt proc~conv_read_chkpt->module~wannchk_data proc~conv_read_chkpt_fmt conv_read_chkpt_fmt proc~conv_read_chkpt_fmt->module~wannchk_data proc~conv_write_chkpt conv_write_chkpt proc~conv_write_chkpt->module~wannchk_data proc~conv_write_chkpt_fmt conv_write_chkpt_fmt proc~conv_write_chkpt_fmt->module~wannchk_data proc~input_reader_special input_reader_special proc~input_reader_special->module~w90_wannier90_readwrite proc~w90_input_reader~2 w90_input_reader proc~w90_input_reader~2->module~w90_wannier90_readwrite proc~w90_input_setopt w90_input_setopt proc~w90_input_setopt->module~w90_wannier90_readwrite proc~w90_print_info~2 w90_print_info proc~w90_print_info~2->module~w90_wannier90_readwrite proc~write_chkpt write_chkpt proc~write_chkpt->module~w90_wannier90_readwrite program~wannier wannier program~wannier->module~w90_library program~wannier->module~w90_library_extra

Derived Types

type, public ::  w90_calculation_type

================================================== Contains variables to control the execution path of the program. ==================================================

Components

Type Visibility Attributes Name Initial
logical, public :: postproc_setup = .false.
character(len=20), public :: restart = ' '
logical, public :: bands_plot = .false.
logical, public :: wannier_plot = .false.
logical, public :: fermi_surface_plot = .false.
logical, public :: transport = .false.

type, public ::  output_file_type

Components

Type Visibility Attributes Name Initial
logical, public :: write_hr = .false.
logical, public :: write_r2mn = .false.
logical, public :: write_proj = .false.
logical, public :: write_hr_diag = .false.
logical, public :: write_vdw_data = .false.
logical, public :: write_u_matrices = .false.
logical, public :: write_bvec = .false.
logical, public :: write_rmn = .false.
logical, public :: write_tb = .false.
logical, public :: write_xyz = .false.
logical, public :: svd_omega = .false.
logical, public :: write_win_ammats = .false.

type, public ::  real_space_ham_type

================================================== Contains information to control the structure of the real-space Hamiltonian and how it is calculated. ==================================================

Components

Type Visibility Attributes Name Initial
real(kind=dp), public :: hr_cutoff = 0.0_dp
real(kind=dp), public :: dist_cutoff = 1000.0_dp
character(len=20), public :: dist_cutoff_mode = 'three_dim'
real(kind=dp), public :: dist_cutoff_hc = 1000.0_dp
integer, public :: one_dim_dir = 0
integer, public :: system_dim = 3
logical, public :: translate_home_cell = .false.
real(kind=dp), public :: translation_centre_frac(3) = 0.0_dp
logical, public :: automatic_translation = .true.

type, public ::  band_plot_type

================================================== Contains information to control how the bandstructure plotting is performed and formatted. ==================================================

Components

Type Visibility Attributes Name Initial
character(len=20), public :: mode = 's-k'
character(len=20), public :: format = 'gnuplot'
integer, public, allocatable :: project(:)

type, public ::  wannier_plot_type

================================================== Contains information for how to plot the wannier functions. ==================================================

Components

Type Visibility Attributes Name Initial
integer, public, allocatable :: list(:)
integer, public :: supercell(3) = 2
real(kind=dp), public :: radius = 3.5_dp
real(kind=dp), public :: scale = 1.0_dp
character(len=20), public :: format = 'xcrysden'
character(len=20), public :: mode = 'crystal'
character(len=20), public :: spinor_mode = 'total'
logical, public :: spinor_phase = .true.

type, public ::  wvfn_read_type

================================================== Contains information for how to read the wavefunction files ==================================================

Components

Type Visibility Attributes Name Initial
logical, public :: formatted = .false.

Read the wvfn from fortran formatted file

integer, public :: spin_channel = 1

Spin up=1 down=2

type, public ::  dis_control_type

================================================== Contains parameters that control the disentanglement minimisation procedure ==================================================

Components

Type Visibility Attributes Name Initial
integer, public :: num_iter = 200

number of disentanglement iteration steps

real(kind=dp), public :: mix_ratio = 0.5_dp

Mixing ratio for the disentanglement routine

real(kind=dp), public :: conv_tol = 1.0e-10_dp

Convergence tolerance for the disentanglement

integer, public :: conv_window = 3

Size of the convergence window for disentanglement

type, public ::  dis_spheres_type

Components

Type Visibility Attributes Name Initial
integer, public :: first_wann = 1
integer, public :: num = 0
real(kind=dp), public, allocatable :: spheres(:,:)

type, public ::  wann_slwf_type

================================================== Contains parameters that control the selective localisation and constrained centres algorithm ==================================================

Components

Type Visibility Attributes Name Initial
integer, public :: slwf_num

Number of objective Wannier functions (others excluded from spread functional)

logical, public :: selective_loc = .false.

Selective localization

logical, public :: constrain = .false.

Constrained centres in Cartesian coordinates in angstrom.

real(kind=dp), public, allocatable :: centres(:,:)
real(kind=dp), public :: lambda = 1.0_dp

Centre constraints for each Wannier function. Co-ordinates of centre constraint defaults to centre of trial orbital. Individual Lagrange multipliers, lambdas, default to global Lagrange multiplier.

type, public ::  guiding_centres_type

Components

Type Visibility Attributes Name Initial
logical, public :: enable = .false.
integer, public :: num_guide_cycles = 1
integer, public :: num_no_guide_iter = 0
real(kind=dp), public, allocatable :: centres(:,:)

type, public ::  wann_control_type

================================================== Contains parameters that control the wannierisation minimisation procedure ==================================================

Components

Type Visibility Attributes Name Initial
integer, public :: num_dump_cycles = 100

Number of steps before writing checkpoint

integer, public :: num_print_cycles = 1

Number of steps between writing output

integer, public :: num_iter = 100

Number of wannierisation iterations

integer, public :: num_cg_steps = 5

Number of Conjugate Gradient steps

real(kind=dp), public :: conv_tol = 1.0e-10_dp
integer, public :: conv_window
type(guiding_centres_type), public :: guiding_centres
logical, public :: use_ss_functional = .false.
real(kind=dp), public :: fixed_step = -999.0_dp
real(kind=dp), public :: trial_step = 2.0_dp
logical, public :: precond = .false.
logical, public :: lfixstep = .false.
real(kind=dp), public :: conv_noise_amp = -1.0_dp
integer, public :: conv_noise_num = 3
type(wann_slwf_type), public :: constrain

type, public ::  wann_omega_type

================================================== Contains the total spread and its decomposition into gauge invariant and gauge dependent parts. ==================================================

Components

Type Visibility Attributes Name Initial
real(kind=dp), public :: invariant = -999.0_dp
real(kind=dp), public :: total = -999.0_dp
real(kind=dp), public :: tilde = -999.0_dp

type, public ::  fermi_surface_plot_type

================================================== Contains variables to control Fermi surface plotting in the main wannier code. ==================================================

Components

Type Visibility Attributes Name Initial
integer, public :: num_points = 50
character(len=20), public :: plot_format = 'xcrysden'

type, public ::  transport_type

================================================== Contains variables to control the calculation of quantum (Landauer-Buttiker) transport ==================================================

Components

Type Visibility Attributes Name Initial
logical, public :: easy_fix = .false.
character(len=20), public :: mode = 'bulk'
real(kind=dp), public :: win_min = -3.0_dp
real(kind=dp), public :: win_max = 3.0_dp
real(kind=dp), public :: energy_step = 0.01_dp
integer, public :: num_bb = 0
integer, public :: num_ll = 0
integer, public :: num_rr = 0
integer, public :: num_cc = 0
integer, public :: num_lc = 0
integer, public :: num_cr = 0
integer, public :: num_bandc = 0
logical, public :: write_ht = .false.
logical, public :: read_ht = .false.
logical, public :: use_same_lead = .true.
integer, public :: num_cell_ll = 0
integer, public :: num_cell_rr = 0
real(kind=dp), public :: group_threshold = 0.15_dp

type, public ::  select_projection_type

================================================== Contains variables relevant to selecting a subset of the projections for the calculation. ==================================================

Components

Type Visibility Attributes Name Initial
logical, public :: lselproj = .false.
integer, public, allocatable :: proj2wann_map(:)
logical, public :: auto_projections = .false.

a u t o m a t i c p r o j e c t i o

type, public ::  sitesym_type

Components

Type Visibility Attributes Name Initial
integer, public :: nkptirr = 9999
integer, public :: nsymmetry = 9999
integer, public, allocatable :: kptsym(:,:)
integer, public, allocatable :: ir2ik(:)
integer, public, allocatable :: ik2ir(:)
real(kind=dp), public :: symmetrize_eps = 1.d-3
complex(kind=dp), public, allocatable :: d_matrix_band(:,:,:,:)
complex(kind=dp), public, allocatable :: d_matrix_wann(:,:,:,:)

type, public ::  ham_logical_type

Components

Type Visibility Attributes Name Initial
logical, public :: ham_have_setup = .false.
logical, public :: have_ham_k = .false.
logical, public :: have_ham_r = .false.
logical, public :: have_translated = .false.
logical, public :: use_translation = .false.