control_epw Module

  • Uses:

  • kinds
  • parameters
module~~control_epw~~UsesGraph module~control_epw control_epw kinds kinds kinds->module~control_epw parameters parameters parameters->module~control_epw
Help

Common variables for the epw program

... the variable controlling the EPW run

Used By

module~~control_epw~~UsedByGraph module~control_epw control_epw module~epwcom epwcom module~control_epw->module~epwcom program~epw epw module~control_epw->program~epw module~epwcom->program~epw proc~selfen_elec_q selfen_elec_q module~epwcom->proc~selfen_elec_q proc~gap_fs gap_FS module~epwcom->proc~gap_fs proc~eliashberg_a2f eliashberg_a2f module~epwcom->proc~eliashberg_a2f proc~eliashberg_iso_raxis eliashberg_iso_raxis module~epwcom->proc~eliashberg_iso_raxis proc~deallocate_eliashberg_iso_raxis deallocate_eliashberg_iso_raxis module~epwcom->proc~deallocate_eliashberg_iso_raxis proc~selfen_phon_q selfen_phon_q module~epwcom->proc~selfen_phon_q proc~loadumat loadumat module~epwcom->proc~loadumat proc~analytic_cont_iso_iaxis_to_raxis analytic_cont_iso_iaxis_to_raxis module~epwcom->proc~analytic_cont_iso_iaxis_to_raxis proc~kqmap_fine kqmap_fine module~epwcom->proc~kqmap_fine proc~loadkmesh_serial loadkmesh_serial module~epwcom->proc~loadkmesh_serial proc~lambdai_aniso_ver1 lambdai_aniso_ver1 module~epwcom->proc~lambdai_aniso_ver1 proc~sum_eliashberg_aniso_iaxis sum_eliashberg_aniso_iaxis module~epwcom->proc~sum_eliashberg_aniso_iaxis proc~epw_readin epw_readin module~epwcom->proc~epw_readin proc~kernel_iso_iaxis_analytic_cont kernel_iso_iaxis_analytic_cont module~epwcom->proc~kernel_iso_iaxis_analytic_cont proc~rgd_blk_epw_fine rgd_blk_epw_fine module~epwcom->proc~rgd_blk_epw_fine proc~lambdai_iso lambdai_iso module~epwcom->proc~lambdai_iso proc~selfen_phon_k selfen_phon_k module~epwcom->proc~selfen_phon_k proc~eliashberg_memlt_aniso_acon eliashberg_memlt_aniso_acon module~epwcom->proc~eliashberg_memlt_aniso_acon proc~mix_broyden2_aniso mix_broyden2_aniso module~epwcom->proc~mix_broyden2_aniso proc~sum_eliashberg_iso_iaxis sum_eliashberg_iso_iaxis module~epwcom->proc~sum_eliashberg_iso_iaxis proc~pade_cont_aniso_iaxis_to_raxis pade_cont_aniso_iaxis_to_raxis module~epwcom->proc~pade_cont_aniso_iaxis_to_raxis proc~eliashberg_read_aniso_iaxis eliashberg_read_aniso_iaxis module~epwcom->proc~eliashberg_read_aniso_iaxis proc~wann_run wann_run module~epwcom->proc~wann_run proc~gap_distribution_fs gap_distribution_FS module~epwcom->proc~gap_distribution_fs proc~analytic_cont_aniso_iaxis_to_raxis analytic_cont_aniso_iaxis_to_raxis module~epwcom->proc~analytic_cont_aniso_iaxis_to_raxis proc~kmesh_fine kmesh_fine module~epwcom->proc~kmesh_fine proc~vmewan2bloch vmewan2bloch module~epwcom->proc~vmewan2bloch proc~createkmap createkmap module~epwcom->proc~createkmap proc~mix_broyden_aniso mix_broyden_aniso module~epwcom->proc~mix_broyden_aniso proc~dynifc2blochf dynifc2blochf module~epwcom->proc~dynifc2blochf proc~eliashberg_iso_iaxis eliashberg_iso_iaxis module~epwcom->proc~eliashberg_iso_iaxis proc~dynwan2bloch dynwan2bloch module~epwcom->proc~dynwan2bloch proc~kernel_raxis kernel_raxis module~epwcom->proc~kernel_raxis proc~lambdai_aniso_ver2 lambdai_aniso_ver2 module~epwcom->proc~lambdai_aniso_ver2 proc~eliashberg_memlt_aniso_iaxis eliashberg_memlt_aniso_iaxis module~epwcom->proc~eliashberg_memlt_aniso_iaxis proc~readdvscf readdvscf module~epwcom->proc~readdvscf proc~write_winfil write_winfil module~epwcom->proc~write_winfil proc~spectral_func_q spectral_func_q module~epwcom->proc~spectral_func_q proc~lambdar_aniso_ver2 lambdar_aniso_ver2 module~epwcom->proc~lambdar_aniso_ver2 proc~kernel_aniso_iaxis kernel_aniso_iaxis module~epwcom->proc~kernel_aniso_iaxis proc~bcast_ph_input bcast_ph_input module~epwcom->proc~bcast_ph_input proc~pw2wan90epw pw2wan90epw module~epwcom->proc~pw2wan90epw proc~dmewan2bloch dmewan2bloch module~epwcom->proc~dmewan2bloch proc~dynifc2blochc dynifc2blochc module~epwcom->proc~dynifc2blochc proc~readmat_shuffle2 readmat_shuffle2 module~epwcom->proc~readmat_shuffle2 proc~ephwan2blochp ephwan2blochp module~epwcom->proc~ephwan2blochp proc~deallocate_epw deallocate_epw module~epwcom->proc~deallocate_epw proc~mix_broyden2 mix_broyden2 module~epwcom->proc~mix_broyden2 proc~lambdar_iso lambdar_iso module~epwcom->proc~lambdar_iso proc~epw_setup epw_setup module~epwcom->proc~epw_setup proc~read_a2f read_a2f module~epwcom->proc~read_a2f proc~epw_summary epw_summary module~epwcom->proc~epw_summary proc~dos_quasiparticle dos_quasiparticle module~epwcom->proc~dos_quasiparticle proc~dynbloch2wan dynbloch2wan module~epwcom->proc~dynbloch2wan proc~ephwann_shuffle ephwann_shuffle module~epwcom->proc~ephwann_shuffle proc~read_kqmap read_kqmap module~epwcom->proc~read_kqmap proc~integrate_eliashberg_iso_raxis integrate_eliashberg_iso_raxis module~epwcom->proc~integrate_eliashberg_iso_raxis proc~epw_setup_restart epw_setup_restart module~epwcom->proc~epw_setup_restart proc~rgd_blk_epw rgd_blk_epw module~epwcom->proc~rgd_blk_epw proc~nesting_fn_k nesting_fn_k module~epwcom->proc~nesting_fn_k proc~loadqmesh_para loadqmesh_para module~epwcom->proc~loadqmesh_para proc~mix_broyden mix_broyden module~epwcom->proc~mix_broyden proc~read_eigenvalues read_eigenvalues module~epwcom->proc~read_eigenvalues proc~free_energy free_energy module~epwcom->proc~free_energy proc~epw_read epw_read module~epwcom->proc~epw_read proc~read_ephmat read_ephmat module~epwcom->proc~read_ephmat proc~eliashberg_eqs eliashberg_eqs module~epwcom->proc~eliashberg_eqs proc~plot_band plot_band module~epwcom->proc~plot_band proc~kpmq_map kpmq_map module~epwcom->proc~kpmq_map proc~createkmap2 createkmap2 module~epwcom->proc~createkmap2 proc~eliashberg_init eliashberg_init module~epwcom->proc~eliashberg_init proc~loadqmesh_serial loadqmesh_serial module~epwcom->proc~loadqmesh_serial proc~evaluate_a2f_lambda evaluate_a2f_lambda module~epwcom->proc~evaluate_a2f_lambda proc~estimate_tc_gap estimate_tc_gap module~epwcom->proc~estimate_tc_gap proc~write_filukk write_filukk module~epwcom->proc~write_filukk proc~rotate_epmat rotate_epmat module~epwcom->proc~rotate_epmat proc~nesting_fn_q nesting_fn_q module~epwcom->proc~nesting_fn_q proc~elphon_shuffle_wrap elphon_shuffle_wrap module~epwcom->proc~elphon_shuffle_wrap proc~mem_integer_size_eliashberg mem_integer_size_eliashberg module~epwcom->proc~mem_integer_size_eliashberg proc~count_kpoints count_kpoints module~epwcom->proc~count_kpoints proc~spectral_func_k spectral_func_k module~epwcom->proc~spectral_func_k proc~epw_write epw_write module~epwcom->proc~epw_write proc~fermiwindow fermiwindow module~epwcom->proc~fermiwindow proc~write_ephmat write_ephmat module~epwcom->proc~write_ephmat proc~selfen_elec_k selfen_elec_k module~epwcom->proc~selfen_elec_k proc~ktokpmq ktokpmq module~epwcom->proc~ktokpmq proc~mem_size_eliashberg mem_size_eliashberg module~epwcom->proc~mem_size_eliashberg proc~evaluate_a2fij evaluate_a2fij module~epwcom->proc~evaluate_a2fij proc~proj_w90 proj_w90 module~epwcom->proc~proj_w90 proc~read_ifc read_ifc module~epwcom->proc~read_ifc proc~eliashberg_aniso_iaxis eliashberg_aniso_iaxis module~epwcom->proc~eliashberg_aniso_iaxis proc~eliashberg_write_cont_raxis eliashberg_write_cont_raxis module~epwcom->proc~eliashberg_write_cont_raxis proc~gen_freqgrid_raxis gen_freqgrid_raxis module~epwcom->proc~gen_freqgrid_raxis proc~deallocate_eliashberg deallocate_eliashberg module~epwcom->proc~deallocate_eliashberg proc~kernel_aniso_iaxis_analytic_cont kernel_aniso_iaxis_analytic_cont module~epwcom->proc~kernel_aniso_iaxis_analytic_cont proc~run_wannier run_wannier module~epwcom->proc~run_wannier proc~loadkmesh_para loadkmesh_para module~epwcom->proc~loadkmesh_para proc~gen_freqgrid_iaxis gen_freqgrid_iaxis module~epwcom->proc~gen_freqgrid_iaxis proc~eliashberg_write_iaxis eliashberg_write_iaxis module~epwcom->proc~eliashberg_write_iaxis proc~createkmap_pw2 createkmap_pw2 module~epwcom->proc~createkmap_pw2 proc~lambdar_aniso_ver1 lambdar_aniso_ver1 module~epwcom->proc~lambdar_aniso_ver1
Help


Variables

TypeVisibility AttributesNameInitial
integer, public :: ngaussw

smearing type for Fermi surface average in e-ph coupling after wann. interp.

integer, public :: nw

nr. of bins for frequency scan in \delta( e_k - e_k+q - w ) when strict sel. rule is applied

integer, public :: nbndsub

nr. of bands in the optimal subspace (when disentanglement is used)

integer, public :: nbndskip

nr. of bands to be skipped when we use only a subspace (this is nfirstwin-1 in Marzari's notation)

integer, public :: num_iter

nr. of steps used in creating the maximally localized Wannier functions

integer, public :: iprint

verbosity of the wannier90 code

integer, public :: nsmear

nr. of temperature-like smearings calculated in selfen_phon

integer, public :: rand_nq

use random points for the fine q-mesh

integer, public :: rand_nk

use random points for the fine k-mesh

integer, public :: nqf1

qx,qy,qz sizes of the uniform phonon fine mesh to be used

integer, public :: nqf2

qx,qy,qz sizes of the uniform phonon fine mesh to be used

integer, public :: nqf3

qx,qy,qz sizes of the uniform phonon fine mesh to be used

integer, public :: nkf1

kx,ky,kz sizes of the uniform electron fine mesh to be used

integer, public :: nkf2

kx,ky,kz sizes of the uniform electron fine mesh to be used

integer, public :: nkf3

kx,ky,kz sizes of the uniform electron fine mesh to be used

integer, public :: nqsmear

nr. of smearings used to calculate a2f

integer, public :: nqstep

nr. of steps used to calculate a2f

integer, public :: iswitch

Switch for symmetry operations

integer, public :: nwanxx =200

parameter used in writing prefix.win file.

integer, public :: ntempxx =25

Maximum number of wannier functions

integer, public :: nswfc

nr. of grid points between (0,wsfc)

integer, public :: nswc

nr. of grid points between (wsfc,wscut)

integer, public :: nswi

nr. of grid points for Eliashberg equations of imaginary axis

integer, public :: nstemp

nr. of temperature points for Eliashberg equations

integer, public :: nsiter

nr. of iterations for self-consistency

integer, public :: broyden_ndim

nr. of iterations used in broyden mixing scheme

integer, public :: nw_specfun

nr. of bins for frequency in electron spectral function due to e-p interaction

real(kind=DP), public :: degaussw

smearing width for Fermi surface average in e-ph coupling after wann interp

real(kind=DP), public :: fsthick

thickness of the Fermi shell for averaging the e-ph matrix element

real(kind=DP), public :: eptemp
real(kind=DP), public :: wmin

min frequency for frequency scan in \delta( e_k - e_k+q - w ) when strict sel. rule is applied

real(kind=DP), public :: wmax

max frequency for frequency scan in \delta( e_k - e_k+q - w ) when strict sel. rule is applied

real(kind=DP), public :: dis_win_min

min energy of the Wannier disentanglement window

real(kind=DP), public :: dis_win_max

max energy of the Wannier disentanglement window

real(kind=DP), public :: dis_froz_min

min energy of the frozen Wannier disentanglement window

real(kind=DP), public :: dis_froz_max

max energy of the frozen Wannier disentanglement window

real(kind=DP), public :: delta_smear

change in energy for each additional smearing in the selfen_phon

real(kind=DP), public :: eps_acustic

min. phonon frequency for e-p and a2f calculations

real(kind=DP), public :: degaussq

smearing for sum over q in e-ph coupling

real(kind=DP), public :: delta_qsmear

change in energy for each additional smearing in the a2f

real(kind=DP), public :: muc

effective Coulomb potential in Eliashberg equations

real(kind=DP), public :: wsfc

intermediate freqeuncy between (0,wscut)

real(kind=DP), public :: pwc

power used to define a non-uniform grid between wsfc and wscut

real(kind=DP), public :: wscut

upper limit cutoff frequency in Eliashberg equations (at least 5 times wsphmax)

real(kind=DP), public :: tempsmin

min. temperature in Eliashberg equations

real(kind=DP), public :: tempsmax

max. temperature

real(kind=DP), public :: broyden_beta

mixing factor for broyden mixing

real(kind=DP), public :: conv_thr_raxis

convergence threshold for iterative solution of real-axis Eliashberg equations

real(kind=DP), public :: conv_thr_iaxis

convergence threshold for iterative solution of imag-axis Eliashberg equations

real(kind=DP), public :: conv_thr_racon

convergence threshold for iterative solution of analytic continuation of Eliashberg equations from imag- to real-axis

real(kind=DP), public :: gap_edge

initial guess of the superconducting gap

real(kind=DP), public :: max_memlt

maximum memory that can be allocated per pool

real(kind=DP), public :: fermi_energy

fermi energy is given in the input file

real(kind=DP), public :: wmin_specfun

min frequency in electron spectral function due to e-p interaction

real(kind=DP), public :: wmax_specfun

max frequency in electron spectral function due to e-p `interaction

real(kind=DP), public, dimension(50):: temps

temperature entering in the Eliashberg equtions (units of Kelvin)

real(kind=DP), public :: scissor

Value of the scissor shift in eV.

real(kind=DP), public :: ncarrier

Amount of carrier concentration in cm^-3 when doping a semiconductors

tphases: if .TRUE. set absolute reference for unitary gauge of the eigenvectors

logical, public :: elecselfen

if .TRUE. calculate electron selfenergy due to e-p interaction

logical, public :: phonselfen

if .TRUE. calculate phonon selfenergy due to e-p interaction

logical, public :: epbread

if .TRUE. read epmatq from files .epb

logical, public :: epbwrite

if .TRUE. write epmatq to files .epb

logical, public :: epwread

if .TRUE. read all quantities in Wannier representation from file epwdata.fmt

logical, public :: epwwrite

if .TRUE. write all quantities in Wannier representation to file epwdata.fmt

logical, public :: specfun

if .TRUE. calculate spectral electron function due to e-p interaction

logical, public :: wannierize

if .TRUE. run the wannier90 code

logical, public :: parallel_k

if .TRUE. scatter the electron k-points on the fine mesh among pools (not q)

logical, public :: parallel_q

if .TRUE. scatter the phonon q-points on the fine mesh among pools (not k)

logical, public :: a2f

if .TRUE. calculate Eliashberg spectral electron function from selfen_phon

logical, public :: etf_mem

If .true., the fine Bloch-space e-ph matrix elements are stored in memory

logical, public :: write_wfn

if .TRUE. write out UNK files in wannier90

logical, public :: kmaps

if .TRUE. read kmap and kgmap from disk. Do not calculate

logical, public :: nest_fn

if .TRUE. calculate the electronic nesting function (metals only)

logical, public :: rand_q

if .TRUE. use random points for the fine q-mesh

logical, public :: rand_k

if .TRUE. use random points for the fine k-mesh

logical, public :: mp_mesh_q

if .TRUE. use points in the irreducible wedge for the uniform fine q-mesh

logical, public :: mp_mesh_k

if .TRUE. use points in the irreducible wedge for the uniform fine k-mesh

logical, public :: eig_read

if .true. then readin a set of electronic eigenvalues in eV to replace the calcualted ones

logical, public :: wepexst

if .TRUE. prefix.epmatwe files are already on disk. don't recalculate. debugging param

logical, public :: epexst

if .TRUE. prefix.epmatwp files are already on disk. don't recalculate debugging param

logical, public :: vme

if .TRUE. calculate velocity matrix elements

logical, public :: band_plot
logical, public :: lpolar

if .true. enable the correct Wannier interpolation in the case of polar material.

logical, public :: lifc

if .true. reads interatomic force constants produced by q2r.x for phonon interpolation

logical, public :: delta_approx

if .true. the double delta approximation is used for the phonon self energy

logical, public :: ep_coupling

if .true. run e-p coupling calculation

logical, public :: efermi_read

if .true. fermi energy is read from the input file

logical, public :: system_2d

if .true. the system is 2 dimensional (vaccum is in z-direction)

logical, public :: ephwrite

if .true. write el-ph matrix elements on the fine mesh to file

logical, public :: lreal

if .true. solve real-axis Eliashberg eqautions

logical, public :: limag

if .true. solve imag-axis Eliashberg eqautions

logical, public :: lpade

if .true. use pade approximants to continue imag-axis Eliashberg equtions to real-axis

logical, public :: lacon

if .true. use analytic continuation to continue imag-axis Eliashberg equtions to real-axis

logical, public :: liso

if .true. solve isotropic case

logical, public :: laniso

if .true. solve anisotropic case

logical, public :: lunif

if .true. a uniform grid is defined between wsfc and wc for real-axis calculations

logical, public :: kerwrite

if .true. write Kp and Km to files .ker for real-axis calculations

logical, public :: kerread

if .true. read Kp and Km from files .ker for real-axis calculations

logical, public :: imag_read

if .true. read from file Delta and Znorm on the imaginary-axis

logical, public :: eliashberg

if .true. solve the Eliashberg equations

logical, public :: scattering

if .true. scattering rates are calculated

logical, public :: scattering_serta

if .true. scattering rates are calculated using self-energy relaxation-time-approx

logical, public :: scattering_0rta

if .true. scattering rates are calculated using 0th order relaxation-time-approx

logical, public :: int_mob

if .true. computes the intrinsic mobilities. This means that the electron and hole carrier density is equal.

logical, public :: iterative_bte

if .true. the iterative solution for BTE is compute. A first run with scattering_serta = .true. is required.

logical, public :: carrier

if .true. computes the doped electronic mobilities.

logical, public :: longrange

if .true. computes the long range interaction of el-ph. Can only be .true. if lpolar is also true.

logical, public :: shortrange

if .true. computes the long range interaction of el-ph. Can only be .true. if lpolar is also true.

character(len=100), public :: dvscf_dir ='./'

directory for .dvscf and .dyn files (wannier interpolation)

character(len=80), public :: fileig

output file for the electron-phonon coefficients

character(len=256), public, dimension(200):: proj

projections and any extra info for W90

character(len=256), public, dimension(200):: wdata

projections and any extra info for W90

character(len=75), public :: title

... title of the simulation

character(len=10), public :: asr_typ

type of ASR if lifc=.true.