Input

The fortran namelist format is used for the input of EDI. The default input file name is calcmdefect.dat Required data fils should be specified in the input file. Different calculation options are set in input file as well. Below is the detailed discussion of the input variables and their meanings.

Input file

A brief table showing the meaning of all variables are listed below in the table:

variable

meaning

prefix

qe prefix

outdir

qe outdir

lvacalign

vacuum Energy aligment

vac_idx

vacuum location for Energy aligment

lconstalign

constant Energy alignment

Eshift_d

energy shift for defect

Eshift_p

energy shift for pristine

wt_filename

weight file for mobility calculation

degauss

gaussian smearing in delta function

noncolin

non-colinear calculation

lspinorb

spin-orbit calculation

calcmlocal

calculate local part M

calcmnonlocal

calculate non-local part M

V_d_filename

defect system local potential

Bxc_1_d_filename

defect system magnetic field along x

Bxc_2_d_filename

defect system magnetic field along y

Bxc_3_d_filename

defect system magnetic field along z

V_p_filename

pristine system local potential

Bxc_1_p_filename

pristine system magnetic field along x

Bxc_2_p_filename

pristine system magnetic field along y

Bxc_3_p_filename

pristine system magnetic field along z

An example input file is shown below:

&calcmcontrol
prefix='mos2',
outdir='dout/'
lvacalign=.true.
vac_idx=0
lconstalign=.false.
Eshift_d=0.0
Eshift_p=0.0
wt_filename='wt.dat'
noncolin =.true.
lspinorb =.true.
calcmlocal = .true.
calcmnonlocal = .true.
V_d_filename='./V_d.dat'
Bxc_1_d_filename='./Bxc_1_d.dat'
Bxc_2_d_filename='./Bxc_2_d.dat'
Bxc_3_d_filename='./Bxc_3_d.dat'
V_p_filename='./V_p.dat'
Bxc_1_p_filename='./Bxc_1_p.dat'
Bxc_2_p_filename='./Bxc_2_p.dat'
Bxc_3_p_filename='./Bxc_3_p.dat'
/

Input parameters

A detailed description of the input parameters is as follows:

QE parameters

These parameters should be the same as used in QE:

prefix, outdir, noncolin, lspinorb

Energy alignment

The energies calculated from different systems may not be able to directly compare. In order to obtain the correct perturbation potential, we need to choose proper energy alignment methods. EDI provides 2 types of energy alignment algorithms:

  • vacuum alignment

  • constant alignment

Vacuum alignment could be used for materials confined along at least one direction, where a 2D plane in vacuum with location set in the input file will be used to calculate an averaged energy as a reference point. Currently, only plane perpendicular to z direction is supported. To use vacuum alignment, set lvacalign to .true.. vac_idx also needs to be set. This parameter sets the location of the vacuum plane, in the form of the FFT grid number index from the DFT calculation.

Constant alignment could be used for all materials, applying a constant shift to the two structures, the value should be the core level energies of proper element, or any other chioces see fit by the users. To use constatn alignment, set lconstalign to .true.. Eshift_d and Eshift_p needs to be set for the constatn level corrections in this option. They represent the reference energy of defect and pristine structures respectively.

K point sampling

The initial and final wavefunctions for the scattering process are needed for the calcualtion of matrix elment. The band number and k points are the index for the wavefunctions. Two methods are provided for the sampling of k points: The index of the wavefunction pairs are given in the weight file, which is set by parameter wt_filename. The weight file can be obtained with the provided scripts.

  • If uniform grid is used:

    A complete list of \(C_N^2\) kpoint pairs with the gaussian smearing is needed in the weight file.

  • If triangular integral method for 2D system is used:

    The wavefunctions pairs are determined using triangular algorithm from the energy conservation term in the Fermi’s golden rule.

Neutral defect perturbtation potential

The neutral defect perturbation potential is separated into local and non-local parts. To calculate matrix element from it, set calcmlocal and calcmnonlocal to .true.. Additionally, the following parameters should be set to determine the files for the potentials.

V_d_filename
Bxc_1_d_filename
Bxc_2_d_filename
Bxc_3_d_filename
V_p_filename
Bxc_1_p_filename
Bxc_2_p_filename
Bxc_3_p_filename

Note

The Bxc files are needed for spin-orbital coupling (SOC) calculations, and could be obtained with QE postprocessing tool.

Transport module input parameters

The transport calculation is performed by python script mu.py. In the script file, one can modify the parameters for respective materials. Here is a list of the important parameters.

variable

meaning

Ngrid

k point mesh grid size

withangle

Option of angle term in RTA model

Efermi

Fermi level

Eb

Band edge level

Cd

Relative defect concentration

eh

Type of carrrier

More details of the meaning are given in the following. Ngrid needs to be the same as the k point mesh grid size used in the wannier interpolation. If the option withangle is true, then the MRTA model is used, otherwise the SERTA model is used; Efermi is the absolute location relative to the band edge, which is set by Eb. The relative defect concentration is set by Cd. The option eh determines the type of carrrier, e for electron, h for hole.