w90_postw90_types Module

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


Uses

  • module~~w90_postw90_types~~UsesGraph module~w90_postw90_types w90_postw90_types module~w90_comms w90_comms module~w90_postw90_types->module~w90_comms module~w90_constants w90_constants module~w90_postw90_types->module~w90_constants module~w90_comms->module~w90_constants module~w90_error_base w90_error_base module~w90_comms->module~w90_error_base

Used by


Derived Types

type, public ::  pw90_calculation_type

================================================== Contains information about the high-level task that pw90 is being asked to do, including any global variables that affect all calculation branches. ==================================================

Components

Type Visibility Attributes Name Initial
logical, public :: kpath = .false.
logical, public :: kslice = .false.
logical, public :: dos = .false.
logical, public :: berry = .false.
logical, public :: gyrotropic = .false.
logical, public :: geninterp = .false.
logical, public :: boltzwann = .false.
logical, public :: spin_moment = .false.
logical, public :: spin_decomp = .false.

type, public ::  pw90_oper_read_type

================================================== Contains variables for determining whether formatted or unformatted input is read by get_oper.F90 ==================================================

Components

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

Read the spin from fortran formatted file

logical, public :: uHu_formatted = .false.

Read the uHu from fortran formatted file

type, public ::  kmesh_spacing_type

Components

Type Visibility Attributes Name Initial
real(kind=dp), public :: spacing = -1._dp
integer, public :: mesh(3) = 0

type, public ::  pw90_spin_mod_type

================================================== Contains variables used in the spin module of postw90 ==================================================

Components

Type Visibility Attributes Name Initial
real(kind=dp), public :: axis_polar = 0.0_dp
real(kind=dp), public :: axis_azimuth = 0.0_dp
type(kmesh_spacing_type), public :: kmesh

type, public ::  pw90_band_deriv_degen_type

================================================== Contains variables for doing degenerate perturbation theory when bands are degenerate and band derivatives are needed. ==================================================

Components

Type Visibility Attributes Name Initial
logical, public :: use_degen_pert = .false.
real(kind=dp), public :: degen_thr = 1.0d-4

type, public ::  pw90_kpath_mod_type

================================================== Contains control variables for the kpath module of postw90 ==================================================

Components

Type Visibility Attributes Name Initial
character(len=20), public :: task = 'bands'
integer, public :: num_points = 100
character(len=20), public :: bands_colour = 'none'

type, public ::  pw90_kslice_mod_type

================================================== Contains control variables for the kslice module of postw90 ==================================================

Components

Type Visibility Attributes Name Initial
character(len=20), public :: task = 'fermi_lines'
real(kind=dp), public :: corner(3)
real(kind=dp), public :: b1(3)
real(kind=dp), public :: b2(3)
integer, public :: kmesh2d(2)
character(len=20), public :: fermi_lines_colour = 'none'

type, public ::  pw90_smearing_type

================================================== Contains variables for controlling the smearing. ==================================================

Components

Type Visibility Attributes Name Initial
logical, public :: use_adaptive = .true.
real(kind=dp), public :: adaptive_prefactor = sqrt(2.0_dp)
integer, public :: type_index = 0
real(kind=dp), public :: fixed_width = 0.0_dp
real(kind=dp), public :: adaptive_max_width = 1.0_dp
real(kind=dp), public :: max_arg

type, public ::  pw90_dos_mod_type

================================================== Contains variables for the dos module of postw90 ==================================================

Components

Type Visibility Attributes Name Initial
character(len=20), public :: task = 'dos_plot'
type(pw90_smearing_type), public :: smearing
real(kind=dp), public :: energy_max
real(kind=dp), public :: energy_min
real(kind=dp), public :: energy_step = 0.01_dp
integer, public :: num_project
integer, public, allocatable :: project(:)
type(kmesh_spacing_type), public :: kmesh

type, public ::  pw90_berry_mod_type

================================================== Contains variables for the berry module of postw90 ==================================================

Components

Type Visibility Attributes Name Initial
character(len=120), public :: task = ' '
type(kmesh_spacing_type), public :: kmesh
integer, public :: curv_adpt_kmesh = 1
real(kind=dp), public :: curv_adpt_kmesh_thresh = 100.0_dp
character(len=20), public :: curv_unit = 'ang2'
type(pw90_smearing_type), public :: kubo_smearing
integer, public :: sc_phase_conv = 1
real(kind=dp), public :: sc_eta = 0.04_dp
real(kind=dp), public :: sc_w_thr = 5.0d0
logical, public :: sc_use_eta_corr = .true.
logical, public :: wanint_kpoint_file = .false.
logical, public :: transl_inv = .false.
logical, public :: transl_inv_full = .false.
logical, public :: guiding_centres = .false.
real(kind=dp), public :: kdotp_kpoint(3) = 0.0_dp
integer, public, allocatable :: kdotp_bands(:)
integer, public :: kubo_nfreq
complex(kind=dp), public, allocatable :: kubo_freq_list(:)
real(kind=dp), public :: kubo_eigval_max
logical, public :: tetrahedron_method
logical, public :: tetrahedron_higher_correction
real(kind=dp), public :: tetrahedron_cutoff
real(kind=dp), public :: tetrahedron_avoid_degeneracy

type, public ::  pw90_spin_hall_type

================================================== Contains variables controlling the calculation of spin hall conductivity in postw90 ==================================================

Components

Type Visibility Attributes Name Initial
logical, public :: freq_scan = .false.
integer, public :: alpha = 1
integer, public :: beta = 2
integer, public :: gamma = 3
logical, public :: bandshift = .false.
integer, public :: bandshift_firstband = 0
real(kind=dp), public :: bandshift_energyshift = 0._dp
character(len=120), public :: method = ' '

type, public ::  pw90_gyrotropic_type

================================================== Contains variables for the gyrotropic module of postw90 ==================================================

Components

Type Visibility Attributes Name Initial
character(len=120), public :: task = 'all'
type(kmesh_spacing_type), public :: kmesh
integer, public :: nfreq
complex(kind=dp), public, allocatable :: freq_list(:)
real(kind=dp), public :: box_corner(3) = 0.0_dp
real(kind=dp), public :: box(3,3) = 0.0
real(kind=dp), public :: degen_thresh = 0.0_dp
integer, public, allocatable :: band_list(:)
integer, public :: num_bands
type(pw90_smearing_type), public :: smearing
real(kind=dp), public :: eigval_max

type, public ::  pw90_geninterp_mod_type

================================================== Contains variables for the geninterp module of postw90 ==================================================

Components

Type Visibility Attributes Name Initial
logical, public :: alsofirstder = .false.
logical, public :: single_file = .true.

type, public ::  pw90_boltzwann_type

================================================== Contains variables for the boltzwann module of postw90 ==================================================

Components

Type Visibility Attributes Name Initial
logical, public :: calc_also_dos = .false.
integer, public :: dir_num_2d = 0
real(kind=dp), public :: dos_energy_step = 0.001_dp
real(kind=dp), public :: dos_energy_min = -1.0_dp
real(kind=dp), public :: dos_energy_max = 0.0_dp
type(pw90_smearing_type), public :: dos_smearing
real(kind=dp), public :: mu_min = -999._dp
real(kind=dp), public :: mu_max = -999._dp
real(kind=dp), public :: mu_step = 0._dp
real(kind=dp), public :: temp_min = -999._dp
real(kind=dp), public :: temp_max = -999._dp
real(kind=dp), public :: temp_step = 0._dp
type(kmesh_spacing_type), public :: kmesh
real(kind=dp), public :: tdf_energy_step = 0.001_dp
type(pw90_smearing_type), public :: tdf_smearing
real(kind=dp), public :: relax_time = 10._dp
logical, public :: bandshift = .false.
integer, public :: bandshift_firstband = 0
real(kind=dp), public :: bandshift_energyshift = 0._dp

type, public ::  wigner_seitz_type

Components

Type Visibility Attributes Name Initial
integer, public, allocatable :: irvec(:,:)
real(kind=dp), public, allocatable :: crvec(:,:)
integer, public, allocatable :: ndegen(:)
integer, public :: nrpts
integer, public :: rpt_origin
integer, public, allocatable :: ir_ind_ws_to_pw90(:,:,:,:)
integer, public, allocatable :: irvec_pw90(:,:)
real(kind=dp), public, allocatable :: crvec_pw90(:,:)
integer, public :: nrpts_pw90
real(kind=dp), public, allocatable :: wannier_centres_from_AA_R(:,:)

type, public ::  kpoint_dist_type

Components

Type Visibility Attributes Name Initial
integer, public :: max_int_kpts_on_node
integer, public :: num_int_kpts
integer, public, allocatable :: num_int_kpts_on_node(:)
real(kind=dp), public, allocatable :: int_kpts(:,:)
real(kind=dp), public, allocatable :: weight(:)