Full List of INPUT Keywords

suffix  ntype  calculation  symmetry  kpar  bndpar  latname  init_wfc  init_chg  init_vel  nelec  tot_magnetization  dft_functional  xc_temperature  pseudo_rcut  pseudo_mesh  mem_saver  diago_proc  nbspline  kspacing  min_dist_coef  symmetry_prec
Variables related to input files
stru_file  kpoint_file  pseudo_dir  orbital_dir  read_file_dir  wannier_card

ecutwfc  nx,ny,nz  pw_seed  pw_diag_thr  pw_diag_nmax  pw_diag_ndim
Numerical atomic orbitals related variables
nb2d  lmaxmax  lcao_ecut  lcao_dk  lcao_dr  lcao_rmax  search_radius  search_pbc  bx,by,bz

basis_type  ks_solver  nbands  nbands_istate  nspin  smearing_method  smearing_sigma  smearing_sigma_temp  mixing_type  mixing_beta  mixing_ndim  mixing_gg0  gamma_only  printe  scf_nmax  scf_thr  chg_extrap  lspinorb  noncolin  soc_lambda

method_sto  nbands_sto  nche_sto  emin_sto  emax_sto  seed_sto  initsto_freq  npart_sto

relax_nmax  relax_method  relax_cg_thr  relax_bfgs_w1  relax_bfgs_w2  relax_bfgs_rmax  relax_bfgs_rmin  relax_bfgs_init  cal_force  force_thr  force_thr_ev  force_thr_ev2  cal_stress  stress_thr  press1, press2, press3  fixed_axes  cell_factor
Variables related to output information
out_force  out_mul  out_freq_elec  out_freq_ion  out_chg  out_pot  out_dm  out_wfc_pw  out_wfc_r  out_wfc_lcao  out_dos  out_band  out_proj_band  out_stru  out_level  out_alllog  out_mat_hs  out_mat_r  out_mat_hs2  out_element_info  restart_save  restart_load  dft_plus_dmft

dos_edelta_ev  dos_sigma  dos_scale  dos_emin_ev  dos_emax_ev  dos_nche
Exact exchange (Under tests)
exx_hybrid_alpha  exx_hse_omega  exx_separate_loop  exx_hybrid_step  exx_lambda  exx_pca_threshold  exx_c_threshold  exx_v_threshold  exx_dm_threshold  exx_schwarz_threshold  exx_cauchy_threshold  exx_ccp_threshold  exx_ccp_rmesh_times  exx_distribute_type  exx_opt_orb_lmax  exx_opt_orb_ecut  exx_opt_orb_tolerence

md_type  md_nstep  md_ensolver  md_restart  md_dt  md_tfirst, md_tlast  md_dumpfreq  md_restartfreq  md_seed  md_tfreq  md_mnhc  lj_rcut  lj_epsilon  lj_sigma  msst_direction  msst_vel  msst_vis  msst_tscale  msst_qmass  md_damp

vdw_method  vdw_s6  vdw_s8  vdw_a1  vdw_a2  vdw_d  vdw_abc  vdw_C6_file  vdw_C6_unit  vdw_R0_file  vdw_R0_unit  vdw_cutoff_type  vdw_cutoff_radius  vdw_radius_unit  vdw_cutoff_period  vdw_cn_thr  vdw_cn_thr_unit
Berry phase and wannier90 interface
berry_phase  gdir  towannier90  nnkpfile  wannier_spin
TDDFT: time dependent density functional theory (Under tests)
tddft  td_scf_thr  td_dt  td_force_dt  td_vext  td_vext_dire  td_timescale  td_vexttype  td_vextout  td_dipoleout  ocp  ocp_set  td_val_elec_01  td_val_elec_02 td_val_elec_03
DFT+U correction (Under development)
dft_plus_u  orbital_corr  hubbard_u  hund_j  yukawa_potential  yukawa_lambda  omc
Variables useful for debugging
nurse  t_in_h  vl_in_h  vnl_in_h  test_force  test_stress  colour  test_skip_ewald

deepks_out_labels  deepks_scf  deepks_model  bessel_lmax  bessel_rcut  bessel_tol  deepks_bandgap  deepks_out_unittest
Electric field and dipole correction
efield_flag  dip_cor_flag  efield_dir  efield_pos_max  efield_pos_dec  efield_amp
Gate field (compensating charge)
gate_flag  zgate  block  block_down  block_up  block_height

cal_cond  cond_nche  cond_dw  cond_wcut  cond_wenlarge  cond_fwhm
System variables
This part of variables are used to control general system parameters.
suffix
Type: String
Description: In each run, ABACUS will generate a subdirectory in the working directory. This subdirectory contains all the information of the run. The subdirectory name has the format: OUT.suffix, where the
suffix
is the name you can pick up for your convenience.Default: ABACUS
ntype
Type: Integer
Description: Number of different atom species in this calculations. This value must be set. If the number you set is smaller than the atom species in the STRU file, ABACUS only read the
wrong number
of atom information. If the number is larger than the atom species in the STRU file, ABACUS may stop and quit.Default: No default value
calculation
Type: String
Description: Specify the type of calculation.
scf: do selfconsistent electronic structure calculation
relax: do structure relaxation calculation, one can ues
relax_nmax
to decide how many ionic relaxations you want.cellrelax: do variablecell relaxation calculation.
nscf: do the non selfconsistent electronic structure calculations. For this option, you need a charge density file. For nscf calculations with planewave basis set, pw_diag_thr should be <= 1d3.
istate: For LCAO basis. Please see the explanation for variable
nbands_istate
.ienvelope: Envelope function for LCAO basis. Please see the explanation for variable
nbands_istate
.md: molecular dynamics
stoscf: do selfconsistent electronic structure calculation with stochastic DFT
stomd: molecular dynamics with stochastic DFT
test_memory : checks memory required for the calculation. The number is not quite reliable, please use with care
test_neighbour : only performs neighbouring atom search
gen_bessel : generates projectors (a series of bessel functions) for DeePKS; see also keywords bessel_lmax, bessel_rcut and bessel_tol. A file named
jle.orb
will be generated which contains the projectors. An example is provided in examples/H2Odeepkspw.get_S : only works for multik calculation with LCAO basis. Generates and writes the overlap matrix to a file names
SR.csr
in the working directory. The format of the file will be the same as that generated by out_mat_hs2.
Default: scf
symmetry
Type: Integer
Description: takes value 1, 0 and 1.
if set to 1, symmetry analysis will be performed to determine the type of Bravais lattice and associated symmetry operations. (point groups only)
if set to 0, only time reversal symmetry would be considered in symmetry operations, which implied k point and k point would be treated as a single k point with twice the weight.
if set to 1, no symmetry will be considered.
Default: 0
kpar
Type: Integer
Description: devide all processors into kpar groups, and k points will be distributed among each group. The value taken should be less than or equal to the number of k points as well as the number of MPI threads.
Default: 1
bndpar
Type: Integer
Description: devide all processors into bndpar groups, and bands (only stochastic orbitals now) will be distributed among each group. It should be larger than 0.
Default: 1
latname
Type: String
Description: Specifies the type of Bravias lattice. When set to
test
, the three lattice vectors are supplied explicitly in STRU file. When set to certain Bravais lattice type, there is no need to provide lattice vector, but a few lattice parameters might be required. For more information regarding this parameter, consult the page on STRU file. Available options are:test
: free strcture.sc
: simple cubie.fcc
: facecentered cubic.bcc
: bodycentered cubic.hexagonal
: hexagonal.trigonal
: trigonal.st
: simple tetragonal.bct
: bodycentered tetragonal.so
: orthorhombic.baco
: basecentered orthorhombic.fco
: facecentered orthorhombic.bco
: bodycentered orthorhombic.sm
: simple monoclinic.bacm
: basecentered monoclinic.triclinic
: triclinic.
Default:
test
init_wfc
Type: String
Description: Only useful for plane wave basis only now. It is the name of the starting wave functions. In the future we should also make this variable available for localized orbitals set. Available options are:
atomic
: from atomic pseudo wave functions. If they are not enough, other wave functions are initialized with random numbers.atomic+random
: add small random numbers on atomic pseudowavefunctionsfile
: from filerandom
: random numbers
Default:
atomic
init_chg
Type: String
Description: This variable is used for both plane wave set and localized orbitals set. It indicates the type of starting density. If set this to
atomic
, the density is starting from summation of atomic density of single atoms. If set this tofile
, the density will be read in from file. Besides, when you donspin=1
calculation, you only need the density file SPIN1_CHGCAR. However, if you donspin=2
calculation, you also need the density file SPIN2_CHGCAR. The density file should be output with these names if you set out_chg = 1 in INPUT file.Default: atomic
init_vel
Type: Boolean
Description: Read the atom velocity from the atom file (STRU) if set to true.
Default: false
nelec
Type: Real
Description: If >0.0, this denotes total number of electrons in the system. Must be less than 2*nbands. If set to 0.0, the total number of electrons will be calculated by the sum of valence electrons (i.e. assuming neutral system).
Default: 0.0
tot_magnetization
Type: Real
Description: Total magnetization of the system.
Default: 0.0
dft_functional
Type: String
Description: In our package, the XC functional can either be set explicitly using the
dft_functional
keyword inINPUT
file. Ifdft_functional
is not specified, ABACUS will use the xc functional indicated in the pseudopotential file. On the other hand, if dft_functional is specified, it will overwrite the functional from pseudopotentials and performs calculation with whichever functional the user prefers. We further offer two ways of supplying exchangecorrelation functional. The first is using ‘shorthand’ names such as ‘LDA’, ‘PBE’, ‘SCAN’. A complete list of ‘shorthand’ expressions can be found in source code. The other way is only available when compiling with LIBXC, and it allows for supplying exchangecorrelation functionals as combinations of LIBXC keywords for functional components, joined by plus sign, for example, ‘dft_functional=‘LDA_X_1D_EXPONENTIAL+LDA_C_1D_CSC’. The list of LIBXC keywords can be found on its website. In this way, we support all the LDA,GGA and mGGA functionals provided by LIBXC.Furthermore, the old INPUT parameter exx_hybrid_type for hybrid functionals has been absorbed into dft_functional. Options are
hf
(pure HartreeFock),pbe0
(PBE0),hse
(Note: in order to use HSE functional, LIBXC is required). Note also that HSE has been tested while PBE0 has NOT been fully tested yet, and the maximum parallel cpus for running exx is Nx(N+1)/2, with N being the number of atoms. And forces for hybrid functionals are not supported yet.If set to
opt_orb
, the program will not perform hybrid functional calculation. Instead, it is going to generate optABFs as discussed in this article.Default: same as UPF file.
xc_temperature
Type: Real
Description: specifies temperature when using temperaturedependent XC functionals (KSDT and so on); unit in Rydberg
Default : 0.0
pseudo_rcut
Type: Real
Description: Cutoff of radial integration for pseudopotentials, in Bohr.
Default: 15
pseudo_mesh
Type: Integer
Description: If set to 0, then use our own mesh for radial integration of pseudopotentials; if set to 1, then use the mesh that is consistent with quantum espresso.
Default: 0
mem_saver
Type: Boolean
Description: Used only for nscf calculations. If set to 1, then a memory saving technique will be used for many k point calculations.
Default: 0
diago_proc
Type: Integer
Descrption: If set to a positive number, then it specifies the number of threads used for carrying out diagonalization. Must be less than or equal to total number of MPI threads. Also, when cg diagonalization is used, diago_proc must be same as total number of MPI threads. If set to 0, then it will be set to the number of MPI threads. Normally, it is fine just leaving it to default value. Only used for pw base.
Default: 0
nbspline
Type: Integer
Descrption: If set to a natural number, a Cardinal Bspline interpolation will be used to calculate Structure Factor.
nbspline
represents the order of Bspline basis and larger one can get more accurate results but cost more. It is turned off by default.Default: 1
kspacing
Type: Real
Descrption: Set the smallest allowed spacing between k points, unit in 1/bohr. It should be larger than 0.0, and suggest smaller than 0.25. When you have set this value > 0.0, then the KPT file is unneccessary, and the number of K points nk_i = max(1, int(b_i/KSPACING)+1), where b_i is the reciprocal lattice vector. The default value 0.0 means that ABACUS will read the applied KPT file. Notice: if gamma_only is set to be true, kspacing is invalid.
Default: 0.0
min_dist_coef
Type: Real
Descrption: a factor related to the allowed minimum distance between two atoms. At the begining, ABACUS will check the structure, and if the distance of two atoms is shorter than min_dist_coef*(standard covalent bond length), we think this structure is unreasonable. If you want to calculate some structures in extreme condition like high pressure, you should set this parameter as a smaller value or even 0.
Default: 0.2
symmetry_prec
Type: Real
Descrption: The accuracy for symmetry judgment. The unit is Bohr.
Default: 1.0e5
Electronic structure
This part of variables are used to control the electronic structure and geometry relaxation calculations.
basis_type
Type: String
Description: This is very important parameters to choose basis set in ABACUS.
pw: Using planewave basis set only.
lcao_in_pw: Expand the localized atomic set in planewave basis.
lcao: Using localized atomic orbital sets.
Default: pw
ks_solver
Type: String
Description: It`s about choice of diagonalization methods for hamiltonian matrix expanded in a certain basis set.
For planewave basis,
cg: cg method.
dav: the Davidson algorithm. (Currently not working with Intel MKL library).
For atomic orbitals basis,
genelpa: This method should be used if you choose localized orbitals.
hpseps: old method, still used.
lapack: lapack can be used for localized orbitals, but is only used for single processor.
cusolver: this method needs building with the cusolver component for lcao and at least one gpu is available.
If you set ks_solver=
hpseps
for basis_type=pw
, the program will be stopped with an error message:hpseps can not be used with plane wave basis.
Then the user has to correct the input file and restart the calculation.
Default:
cg
(pw) orgenelpa
(lcao)
nbands
Type: Integer
Description: Number of KohnSham orbitals to calculate. It is recommended you setup this value, especially when you use smearing techniques, more bands should be included.
Default:
nspin=1: 1.2*occupied_bands, occupied_bands+10)
nspin=2: max(1.2*nelec, nelec+20)
nbands_istate
Type: Integer
Description: Only used when
calculation = ienvelope
orcalculation = istate
, this variable indicates how many bands around Fermi level you would like to calculate.ienvelope
means to calculate the envelope functions of wave functions \(\Psi_{i}=\Sigma_{\mu}C_{i\mu}\Phi_{\mu}\), where \(\Psi_{i}\) is the ith wave function with the band index \(i\) and \(\Phi_{\mu}\) is the localized atomic orbital set.istate
means to calculate the density of each wave function \(\Psi_{i}^{2}\). Specifically, suppose we have highest occupied bands at 100th wave functions. And if you set this variable to 5, it will print five wave functions from 96th to 105th. But before all this can be carried out, the wave functions coefficients should be first calculated and written into a file by setting the flagout_wfc_lcao = 1
.Default: 5
nspin
Type: Integer
Description: Number of spin components of wave functions. There are only two choices now: 1 or 2, meaning non spin or collinear spin.
Default: 1
smearing_method
Type: String
Description: It indicates which occupation and smearing method is used in the calculation.
fixed: use fixed occupations.
gauss or gaussian: use gaussian smearing method.
mp: use methfesselpaxton smearing method. The method recommends for metals.
fd: FermiDirac smearing method: \(f=1/\{1+\exp[(E\mu)/kT]\}\) and smearing_sigma below is the temperature \(T\) (in Ry).
Default: fixed
smearing_sigma
Type: Real
Description: energy range for smearing, the unit is Rydberg.
Default: 0.001
smearing_sigma_temp
Type: Real
Description: energy range for smearing, and is same as smearing_sigma, but the unit is K. smearing_sigma = 1/2 * kB * smearing_sigma_temp.
mixing_type
Type: String
Description: Charge mixing methods.
plain: Just simple mixing.
kerker: Use kerker method, which is the mixing method in G space.
pulay: Standard Pulay method.
pulaykerker:
broyden: Broyden method.
Default: pulay
mixing_beta
Type: Real
Description: mixing parameter: 0 means no new charge
Default: 0.7
mixing_ndim
Type: Integer
Description: It indicates the mixing dimensions in Pulay, Pulay method use the density from previous mixing_ndim steps and do a charge mixing based on these density.
Default: 8
mixing_gg0
Type: Real
Description: used in pulaykerker mixing method
Default: 1.5
gamma_only
Type: Integer
Description: It is an important parameter only to be used in localized orbitals set. If you set gamma_only = 1, ABACUS use gamma only, the algorithm is faster and you don’t need to specify the kpoints file. If you set gamma_only = 0, more than one kpoint is used and the ABACUS is slower compared to gamma only algorithm.
Note: If gamma_only is set to 1, the KPT file will be overwritten. So make sure to turn off gamma_only for multik calculations.
Default: 0
printe
Type: Integer
Description: Print out energy for each band for every printe steps
Default: 100
scf_nmax
Type: Integer
Description:This variable indicates the maximal iteration number for electronic iterations.
Default: 40
scf_thr
Type: Real
Description: An important parameter in ABACUS. It’s the threshold for electronic iteration. It represents the charge density error between two sequential density from electronic iterations. Usually for local orbitals, usually 1e6 may be accurate enough.
Default:1e06
chg_extrap
Type: String
Description: Methods to do extrapolation of density when ABACUS is doing geometry relaxations.
atomic: atomic extrapolation
firstorder: firstorder extrapolation
secondorder: secondorder extrapolation
Default:atomic
lspinorb
Type: Boolean
Description: whether to consider spinorbital coupling effect in calculation. When set to 1,
nspin
is also automatically set to 4.Default: 0
noncolin
Type: Boolean
Description: whether to allow noncollinear polarization, in which case the coupling between spin up and spin down will be taken into account. If set to 1,
nspin
is also automatically set to 4.Default: 0
soc_lambda
Type: Real
Description: Relevant for soc calculations. Sometimes, for some real materials, both scalarrelativistic and fullrelativistic can not describe the exact spinorbit coupling. Artificial modulation may help in such cases.
soc_lambda
, which has value range [0.0, 1.0] , is used for modulate SOC effect.In particular,
soc_lambda 0.0
refers to scalarrelativistic case andsoc_lambda 1.0
refers to fullrelativistic case.Default: 1.0
Electronic structure (SDFT)
This part of variables are used to control the parameters of stochastic DFT (SDFT), mix stochasticdeterministic DFT (MDFT), or completebasis Chebyshev method (CT). To use it, calculation need to be set to “stoscf” and “stomd”. We suggest using SDFT to calculate hightemperature systems and we only support smearing_method “fd”.
method_sto
Type: Integer
Description:
Different method to do SDFT.
1: SDFT calculates \(T_n(\hat{h})\ket{\chi}\) twice, where \(T_n(x)\) is the nth order Chebyshev polynomial and \(\hat{h}=\frac{\hat{H}\bar{E}}{\Delta E}\) owning eigenvalue \(\in(1,1)\). This method cost less memory but slow.
2: SDFT calculates \(T_n(\hat{h})\ket{\chi}\) once but need much more memory. This method is much faster. Besides, it calculate \(N_e\) with \(\bra{\chi}\sqrt{\hat f}\sqrt{\hat f}\ket{\chi}\), which needs smaller nche_sto. However, when memory is not enough, only method 1 can be used.
other: use 2
Default: 2
nbands_sto
Type: Integer
Description:
nbands_sto>0: Number of stochastic orbitals to calculate in SDFT and MDFT. More bands obtain more precise results or smaller stochastic errors (\( \propto 1/\sqrt{N_{\chi}}\));
nbands_sto=0: Complete basis will be used to replace stochastic orbitals with the Chebyshev method (CT) and it will get the results the same as KSDFT without stochastic errors.
If you want to do MDFT. nbands which represents the number of KS orbitals should be set.
Default: 256
nche_sto
Type: Integer
Description: Chebyshev expansion orders for SDFT, MDFT, CT methods.
Default:100
emin_sto
Type: Real
Description: Trial energy to guess the lower bound of eigen energies of the Hamitonian Operator \(\hat{H}\). The unit is Ry.
Default:0.0
emax_sto
Type: Real
Description: Trial energy to guess the upper bound of eigen energies of the Hamitonian Operator \(\hat{H}\). The unit is Ry.
Default:0.0
seed_sto
Type: Integer
Description: The random seed to generate stochastic orbitals.
seed_sto>=0: Stochastic orbitals have the form of \(\exp(i2\pi\theta(G))\), where \(\theta\) is a uniform distribution in \((0,1)\). If seed_sto = 0, the seed is decided by time(NULL).
seed_sto<=1: Stochastic orbitals have the form of \(\pm1\) with the equal probability. If seed_sto = 1, the seed is decided by time(NULL).
Default:0
initsto_freq
Type: Integer
Description: Frequency (once each initsto_freq steps) to generate new stochastic orbitals when running md.
positive integer: Update stochastic orbitals
0: Never change stochastic orbitals.
Default:0
npart_sto
Type: Integer
Description: Make memory cost to 1/npart_sto times of previous one when running post process of SDFT like DOS with method_sto = 2.
Default:1
Geometry relaxation
This part of variables are used to control the geometry relaxation.
relax_nmax
Type: Integer
Description: The maximal number of ionic iteration steps, the minimal value is 1.
Default: 1
cal_force
Description: If set to 1, calculate the force at the end of the electronic iteration. 0 means the force calculation is turned off.
Default: 0
force_thr
Type: Real
Description: The threshold of the force convergence, it indicates the largest force among all the atoms, the unit is Ry=Bohr
Default: 0.000388935 Ry/Bohr = 0.01 eV/Angstrom
force_thr_ev
Type: Real
Description: The threshold of the force convergence, has the same function as force_thr, just the unit is different, it is eV=Angstrom, you can choose either one as you like. The recommendation value for using atomic orbitals is 0:04 eV/Angstrom.
Default: 0.01 eV/Angstrom
force_thr_ev2
Type: Real
Description: The calculated force will be set to 0 when it is smaller than force_thr_ev2.
Default: 0.0 eV/Angstrom
relax_bfgs_w1
Type: Real
Description: This variable controls the Wolfe condition for BFGS algorithm used in geometry relaxation. You can look into paper Phys.Chem.Chem.Phys.,2000,2,2177 for more information.
Default: 0.01
relax_bfgs_w2
Type: Real
Description: This variable controls the Wolfe condition for BFGS algorithm used in geometry relaxation. You can look into paper Phys.Chem.Chem.Phys.,2000,2,2177 for more information.
Default: 0.5
relax_bfgs_rmax
Type: Real
Description: This variable is for geometry optimization. It indicates the maximal movement of all the atoms. The sum of the movements from all atoms can be increased during the optimization steps. However, it will not be larger than relax_bfgs_rmax Bohr.
Default: 0.8
relax_bfgs_rmin
Type: Real
Description: This variable is for geometry optimization. It indicates the minimal movement of all the atoms. When the movement of all the atoms is smaller than relax_bfgs_rmin Bohr , and the force convergence is still not achieved, the calculation will break down.
Default: 1e5
relax_bfgs_init
Type: Real
Description: This variable is for geometry optimization. It indicates the initial movement of all the atoms. The sum of the movements from all atoms is relax_bfgs_init Bohr.
Default: 0.5
cal_stress
Type: Integer
Description: If set to 1, calculate the stress at the end of the electronic iteration. 0 means the stress calculation is turned off.
Default: 0
stress_thr
Type: Real
Description: The threshold of the stress convergence, it indicates the largest stress among all the directions, the unit is KBar,
Default: 0.01
press1, press2, press3
Type: Real
Description: the external pressures along three axes,the compressive stress is taken to be positive, the unit is KBar.
Default: 0
fixed_axes
Type: String
Description:which axes are fixed when do cell relaxation. Possible choices are:
None : default; all can relax
volume : relaxation with fixed volume
a : fix a axis during relaxation
b : fix b axis during relaxation
c : fix c axis during relaxation
ab : fix both a and b axes during relaxation
ac : fix both a and c axes during relaxation
bc : fix both b and c axes during relaxation
abc : fix all three axes during relaxation
Default: None
relax_method
Type: String
Description: The method to do geometry optimizations:
bfgs: using BFGS algorithm.
sd: using steepestdescent algorithm.
cg: using cg algorithm.
cgbfgs:
Default: cg
relax_cg_thr
Type: Real
Description: When movemethod is set to ‘cgbfgs’, a mixed cgbfgs algorithm is used. The ions first move according to cg method, then switched to bfgs when maximum of force on atoms is reduced below cgthreshold. Unit is eV/Angstrom.
Default: 0.5
cell_factor
Type: Real
Description: Used in the construction of the pseudopotential tables. It should exceed the maximum linear contraction of the cell during a simulation.
Default: 1.2
Density of states
This part of variables are used to control the calculation of DOS.
dos_edelta_ev
Type: Real
Description: controls the step size in writing DOS (in eV).
Default: 0.1
dos_sigma
Type: Real
Description: controls the width of Gaussian factor when obtaining smeared DOS (in eV).
Default: 0.07
dos_scale
Type: Real
Description: the energy range of dos output is given by (emaxemin)*(1+dos_scale), centered at (emax+emin)/2. This parameter will be used when dos_emin and dos_emax are not set.
Default: 0.01
dos_emin_ev
Type: Real
Description: minimal range for dos (in eV). If we set it, “dos_scale” will be ignored.
Default: minimal eigenenergy of \(\hat{H}\)
dos_emax_ev
Type: Real
Description: maximal range for dos (in eV). If we set it, “dos_scale” will be ignored.
Default: maximal eigenenergy of \(\hat{H}\)
dos_nche
Type: Integer
Description: orders of Chebyshev expansions when using SDFT to calculate DOS
Default: 100
DeePKS
This part of variables are used to control the usage of DeePKS method (a comprehensive datadriven approach to improve accuracy of DFT). Warning: this function is not robust enough for the current version. Please try the following variables at your own risk:
deepks_out_labels
Type: Boolean
Description: when set to 1, ABACUS will calculate and output descriptor for DeePKS training. In
LCAO
calculation, a path of *.orb file is needed to be specified underNUMERICAL_DESCRIPTOR
inSTRU
file. For example:NUMERICAL_ORBITAL H_gga_8au_60Ry_2s1p.orb O_gga_7au_60Ry_2s2p1d.orb NUMERICAL_DESCRIPTOR jle.orb
Default: 0
deepks_scf
Type: Boolean
Description: only when deepks is enabled in
LCAO
calculation can this variable set to 1. Then, a trained, traced model file is needed for selfconsistant field iteration in DeePKS method.Default: 0
deepks_model
Type: String
Description: the path of the trained, traced NN model file (generated by deepkskit). used when deepks_scf is set to 1.
Default: None
bessel_lmax
Type: Integer
Description: the projectors used in DeePKS are bessel functions. To generate such projectors, set calculation type to be
gen_bessel
and run ABACUS. The lmax of bessel functions is specified using bessel_lmax. See also calculation.Default: 2
bessel_rcut
Type: Real
Description: cutoff radius of bessel functions. See also
bessel_lmax
.Default: 6.0
bessel_tol
Type: Real
Description: tolerence when searching for the zeros of bessel functions. See also
bessel_lmax
.Default: 1.0e12
deepks_bandgap
Type: Boolean
Description: whether to include deepks bandgap correction.
Default: False
deepks_out_unittest
Type: Boolean
Description: this is used to generate some files for constructing DeePKS unit test. Not relevant when running actual calculations. When set to 1, ABACUS needs to be ran with only 1 process.
Default: False
Electric field and dipole correction
This part of variables are relevant to electric field and dipole correction
efield_flag
Type: Boolean
Description: If set to true, a sawlike potential simulating an electric field is added to the bare ionic potential.
Default: false
dip_cor_flag
Type: Boolean
Description: If dip_cor_flag == true and efield_flag == true, a dipole correction is also added to the bare ionic potential. If you want no electric field, parameter efield_amp should be zero. Must be used ONLY in a slab geometry for surface calculations, with the discontinuity FALLING IN THE EMPTY SPACE.
Default: false
efield_dir
Type: Integer
Description: The direction of the electric field or dipole correction is parallel to the reciprocal lattice vector, so the potential is constant in planes defined by FFT grid points, efield_dir = 0, 1 or 2. Used only if efield_flag == true.
Default: 2
efield_pos_max
Type: Real
Description: Position of the maximum of the sawlike potential along crystal axis efield_dir, within the unit cell, 0 < efield_pos_max < 1. Used only if efield_flag == true.
Default: 0.5
efield_pos_dec
Type: Real
Description: Zone in the unit cell where the sawlike potential decreases, 0 < efield_pos_dec < 1. Used only if efield_flag == true.
Default: 0.1
efield_amp
Type: Real
Description: Amplitude of the electric field, in Hartree a.u.; 1 a.u. = 51.4220632*10^10 V/m. Used only if efield_flag == true. The sawlike potential increases with slope efield_amp in the region from (efield_pos_max+efield_pos_dec1) to (efield_pos_max), then decreases until (efield_pos_max+efield_pos_dec), in units of the crystal vector efield_dir. Important: the change of slope of this potential must be located in the empty region, or else unphysical forces will result.
Default: 0.0
Gate field (compensating charge)
This part of variables are relevant to gate field (compensating charge)
gate_flag
Type: Boolean
Description: In the case of charged cells, setting gate_flag == true represents the addition of compensating charge by a charged plate, which is placed at zgate. Note that the direction is specified by efield_dir.
Default: false
zgate
Type: Real
Description: Specify the position of the charged plate in units of the unit cell (0 <= zgate < 1).
Default: 0.5
block
Type: Boolean
Description: Add a potential barrier to the total potential to avoid electrons spilling into the vacuum region for electron doping. Potential barrier is from block_down to block_up and has a height of block_height. If dip_cor_flag == true, efield_pos_dec is used for a smooth increase and decrease of the potential barrier.
Default: false
block_down
Type: Real
Description: Lower beginning of the potential barrier in units of the unit cell size (0 <= block_down < block_up < 1).
Default: 0.45
block_up
Type: Real
Description: Upper beginning of the potential barrier in units of the unit cell size (0 <= block_down < block_up < 1).
Default: 0.55
block_height
Type: Real
Description: Height of the potential barrier in Rydberg.
Default: 0.1
Exact Exchange
This part of variables are relevant when using hybrid functionals
exx_hybrid_alpha
Type: Real
Description: fraction of Fock exchange in hybrid functionals, so that \(E_{X}=\alpha F_{X}+(1\alpha)E_{X,LDA/GGA}\)
Default: 0.25
exx_hse_omega
Type: Real
Description: rangeseparation parameter in HSE functional, such that \(1/r=erfc(\omega r)/r+erf(\omega r)/r\).
Default: 0.11
exx_separate_loop
Type: Boolean
Description: There are two types of iterative approach provided by ABACUS to evaluate Fock exchange. If this parameter is set to 0, it will start with a GGALoop, and then HybridLoop, in which EXX Hamiltonian \(H_{exx}\) is updated with electronic iterations. If this parameter is set to 1, a twostep method is employed, i.e. in the inner iterations, density matrix is updated, while in the outer iterations, \(H_{exx}\) is calculated based on density matrix that converges in the inner iteration.
Default: 1
exx_hybrid_step
Type: Integer
Description: This variable indicates the maximal electronic iteration number in the evaluation of Fock exchange.
Default: 100
exx_lambda
Type: Real
Description: It is used to compensate for divergence points at G=0 in the evaluation of Fock exchange using lcao_in_pw method.
Default: 0.3
exx_pca_threshold
Type: Real
Description: To accelerate the evaluation of fourcenter integrals (\(ikjl\)), the product of atomic orbitals are expanded in the basis of auxiliary basis functions (ABF): \(\Phi_{i}\Phi_{j}\sim C^{k}_{ij}P_{k}\). The size of the ABF (i.e. number of \(P_{k}\)) is reduced using principal component analysis. When a large PCA threshold is used, the number of ABF will be reduced, hence the calculations becomes faster. However this comes at the cost of computational accuracy. A relatively safe choice of the value is 1d4.
Default: 0
exx_c_threshold
Type: Real
Description: See also the entry exx_pca_threshold. Smaller components (less than exx_c_threshold) of the \(C^{k}_{ij}\) matrix is neglected to accelerate calculation. The larger the threshold is, the faster the calculation and the lower the accuracy. A relatively safe choice of the value is 1d4.
Default: 0
exx_v_threshold
Type: Real
Description: See also the entry exx_pca_threshold. With the approximation \(\Phi_{i}\Phi_{j}\sim C^{k}_{ij}P_{k}\), the fourcenter integral in Fock exchange is expressed as \((ikjl)=\Sigma_{a,b}C^{a}_{ij}V_{ab}C^{b}_{kl}\), where \(V_{ab}=(P_{a}P_{b})\) is a doublecenter integral. Smaller values of the V matrix can be truncated to accelerate calculation. The larger the threshold is, the faster the calculation and the lower the accuracy. A relatively safe choice of the value is 0, i.e. no truncation.
Default: 0
exx_dm_threshold
Type: Real
Description: The Fock exchange can be expressed as \(\Sigma_{k,l}(ikjl)D_{kl}\) where D is the density matrix. Smaller values of the density matrix can be truncated to accelerate calculation. The larger the threshold is, the faster the calculation and the lower the accuracy. A relatively safe choice of the value is 1d4.
Default: 0
exx_schwarz_threshold
Type: Real
Description: In practice the fourcenter integrals are sparse, and using CauchySchwartz inequality, we can find an upper bound of each integral before carrying out explicit evaluations. Those that are smaller than exx_schwarz_threshold will be truncated. The larger the threshold is, the faster the calculation and the lower the accuracy. A relatively safe choice of the value is 1d5.
Default: 0
exx_cauchy_threshold
Type: Real
Description: In practice the Fock exchange matrix is sparse, and using CauchySchwartz inequality, we can find an upper bound of each matrix element before carrying out explicit evaluations. Those that are smaller than exx_cauchy_threshold will be truncated. The larger the threshold is, the faster the calculation and the lower the accuracy. A relatively safe choice of the value is 1d7.
Default: 0
exx_ccp_threshold
Type: Real
Description: It is related to the cutoff of onsite Coulomb potentials, currently not used.
Default: 1e8
exx_ccp_rmesh_times
Type: Real
Description: This parameter determines how many times larger the radial mesh required for calculating Columb potential is to that of atomic orbitals. For HSE1, setting it to 1 is enough. But for PBE0, a much larger number must be used.
Default: 10
exx_distribute_type
Type: String
Description: When running in parallel, the evaluation of Fock exchange is done by distributing atom pairs on different threads, then gather the results. exx_distribute_type governs the mechanism of distribution. Available options are
htime
,order
,kmean1
andkmeans2
.order
is where atom pairs are simply distributed by their orders.hmeans
is a distribution where the balance in time is achieved on each processor, hence if the memory is sufficient, this is the recommended method.kmeans1
andkmeans2
are two methods where the kmeans clustering method is used to reduce memory requirement. They might be necessary for very large systems.Default:
htime
exx_opt_orb_lmax
Type: Integer
Description: See also the entry dft_functional. This parameter is only relevant when dft_functional=
opt_orb
. The radial part of optABFs are generated as linear combinations of spherical Bessel functions. exx_opt_orb_lmax gives the maximum l of the spherical Bessel functions. A reasonable choice is 2.Default: 0
exx_opt_orb_ecut
Type: Real
Description: See also the entry dft_functional. This parameter is only relevant when dft_functional=
opt_orb
. A plane wave basis is used to optimize the radial ABFs. This parameter thus gives the cutoff of plane wave expansion, in Ry. A reasonable choice is 60.Default: 0
exx_opt_orb_tolerence
Type: Real
Description: See also the entry dft_functional. This parameter is only relevant when dft_functional=
opt_orb
. exx_opt_orb_tolerence determines the threshold when solving for the zeros of spherical Bessel functions. A reasonable choice is 1e12.Default: 0
Molecular dynamics
This part of variables are used to control the molecular dynamics calculations.
md_type
Type: Integer
Description: control the ensemble to run md.
1: FIRE method to relax;
0: NVE ensemble;
1: NVT ensemble with Nose Hoover Chain;
2: NVT ensemble with Langevin method;
3: NVT ensemble with Anderson thermostat;
4: MSST method;
Note: when md_type is set to 1, md_tfreq is required to stablize temperature. It is an empirical parameter whose value is systemdependent, ranging from 1/(40*md_dt) to 1/(100*md_dt). An improper choice of its value might lead to failure of job.
Default: 1
md_nstep
Type: Integer
Description: the total number of md steps.
Default: 10
md_ensolver
Type: String
Description: choose the energy solver for MD.
FP: FirstPrinciples MD;
LJ: Leonard Jones potential;
DP: DeeP potential;
Default: FP
md_restart
Type: Boolean
Description: to control whether restart md.
0: When set to 0, ABACUS will calculate md normolly.
1: When set to 1, ABACUS will calculate md from last step in your test before.
Default: 0
md_dt
Type: Real
Description: This is the time step(fs) used in md simulation .
Default: 1.0
md_tfirst, md_tlast
Type: Real
Description: This is the temperature (K) used in md simulation, md_tlast`s default value is md_tfirst. If md_tlast is set to be different from md_tfirst, ABACUS will automatically change the temperature from md_tfirst to md_tlast.
Default: No default
md_dumpfreq
Type: Integer
Description:This is the frequence to dump md information.
Default: 1
md_restartfreq
Type: Integer
Description:This is the frequence to output restart information.
Default: 5
md_seed
Type: Integer
Description:
md_seed < 0: No srand() in MD initialization.
md_seed >= 0: srand(md_seed) in MD initialization.
Default: 1
md_tfreq
Type: Real
Description:
When md_type = 1, md_tfreq controls the frequency of the temperature oscillations during the simulation. If it is too large, the temperature will fluctuate violently; if it is too small, the temperature will take a very long time to equilibrate with the atomic system.
When md_type = 3, md_tfreq*md_dt is the collision probability in Anderson method.
If md_tfreq is not set in INPUT, md_tfreq will be autoset to be 1/40/md_dt.
Default: 1/40/md_dt
md_mnhc
Type: Integer
Description: Number of NoseHoover chains.
Default: 4
lj_rcut
Type: Real
Description: Cutoff radius for Leonard Jones potential (angstrom).
Default: 8.5 (for He)
lj_epsilon
Type: Real
Description: The value of epsilon for Leonard Jones potential (eV).
Default: 0.01032 (for He)
lj_sigma
Type: Real
Description: The value of sigma for Leonard Jones potential (angstrom).
Default: 3.405 (for He)
msst_direction
Type: Integer
Description: the direction of shock wave for MSST.
Default: 2 (z direction)
msst_vel
Type: Real
Description: the velocity of shock wave (Angstrom/fs) for MSST.
Default: 0.0
msst_vis
Type: Real
Description: artificial viscosity (mass/length/time) for MSST.
Default: 0.0
msst_tscale
Type: Real
Description: reduction in initial temperature (0~1) used to compress volume in MSST.
Default: 0.01
msst_qmass
Type: Real
Description: Inertia of extended system variable. Used only when md_type is 4, you should set a number which is larger than 0. Note that Qmass of NHC is set by md_tfreq.
Default: No default
md_damp
Type: Real
Description: damping parameter (fs) used to add force in Langevin method.
Default: 1.0
DFT+U correction
This part of variables are used to control DFT+U correlated parameters
dft_plus_u
Type: Boolean
Description: If set to 1, ABCUS will calculate plus U correction, which is especially important for correlated electron.
Default: 0
orbital_corr
Type: Integer
Description: \(l_1,l_2,l_3,\ldots\) for atom type 1,2,3 respectively.(usually 2 for d electrons and 3 for f electrons) .Specify which orbits need plus U correction for each atom. If set to 1, the correction would not be calculate for this atom.
Default: None
hubbard_u
Type: Real
Description: Hubbard Coulomb interaction parameter U(ev) in plus U correction,which should be specified for each atom unless Yukawa potential is use. ABACUS use a simplified scheme which only need U and J for each atom.
Default: 0.0
hund_j
Type: Real
Description: Hund exchange parameter J(ev) in plus U correction ,which should be specified for each atom unless Yukawa potential is use. ABACUS use a simplified scheme which only need U and J for each atom.
Default: 0.0
yukawa_potential
Type: Boolean
Description: whether use the local screen Coulomb potential method to calculate the value of U and J. If this is set to 1, hubbard_u and hund_j do not need to be specified.
Default: 0
yukawa_lambda
Type: Real
Description: The screen length of Yukawa potential. Relevant if
yukawa_potential
is set to 1. If left to default, we will calculate the screen length as an average of the entire system. It’s better to stick to the default setting unless there is a very good reason.Default: calculated on the fly.
omc
Type: Boolean
Description: whether turn on occupation matrix control method or not
Default: 0
vdW correction
This part of variables are used to control vdWcorrected related parameters.
vdw_method
Type: String
Description: If set to d2 ,d3_0 or d3_bj, ABACUS will calculate corresponding vdW correction, which is DFTD2, DFTD3(0) or DFTD3(BJ) method. And this correction includes energy and forces.
none
means that no vdWcorrected method has been used.Default: none
vdw_s6
Type: Real
Description: This scale factor is to optimize the interaction energy deviations. For DFTD2, it is found to be 0.75 (PBE), 1.2 (BLYP), 1.05 (BP86), 1.0 (TPSS), and 1.05 (B3LYP). For DFTD3, recommended values of this parameter with different DFT functionals can be found on the webpage. The default value of this parameter in ABACUS is set to be the recommended value for PBE.
Default: 0.75 if vdw_method is chosen to be d2; 1.0 if vdw_method is chosen to be d3_0 or d3_bj
vdw_s8
Type: Real
Description: This scale factor is only relevant for D3(0) and D3(BJ) methods. Recommended values of this parameter with different DFT functionals can be found on the webpage. The default value of this parameter in ABACUS is set to be the recommended value for PBE.
Default: 0.722 if vdw_method is chosen to be d3_0; 0.7875 if vdw_method is chosen to be d3_bj
vdw_a1
Type: Real
Description: This damping function parameter is relevant for D3(0) and D3(BJ) methods. Recommended values of this parameter with different DFT functionals can be found on the webpage. The default value of this parameter in ABACUS is set to be the recommended value for PBE.
Default: 1.217 if vdw_method is chosen to be d3_0; 0.4289 if vdw_method is chosen to be d3_bj
vdw_a2
Type: Real
Description: This damping function parameter is only relevant for the DFTD3(BJ) approach. Recommended values of this parameter with different DFT functionals can be found on the webpage. The default value of this parameter in ABACUS is set to be the recommended value for PBE.
Default: 1.0 if vdw_method is chosen to be d3_0; 4.4407 if vdw_method is chosen to be d3_bj
vdw_d
Type: Real
Description: The variable is to control the damping rate of damping function of DFTD2.
Default: 20
vdw_abc
Type: Integer
Description: The variable is to control whether threebody terms are calculated for DFTD3 approachs, including D3(0) and D3(BJ). If set to 1, ABACUS will calculate threebody term, otherwise, the threebody term is not included.
Default: 0
vdw_C6_file
Type: String
Description: This variable is relevant if the user wants to manually set the \(C_6\) parameters in D2 method. It gives the name of the file which contains the list of \(C_6\) parameters for each element.
If not set, ABACUS will use the default \(C_6\) Parameters stored in the program. The default values of \(C_6\) for elements 1_H up to 86_Rn can be found by searching for
C6_default
in the source code. The unit is Jnm6/mol.Otherwise, if user wants to manually set the \(C_6\) Parameters, they should provide a file containing the \(C_6\) parameters to be used. An example is given by:
H 0.1 Si 9.0
Namely, each line contains the element name and the corresbonding \(C_6\) parameter.
Default: default
vdw_C6_unit
Type: String
Description: This variable is relevant if the user wants to manually set the \(C_6\) parameters in D2 method. It specified the unit of the suppied \(C_6\) parameters. Allowed values are:
Jnm6/mol
(meaning J·nm^{6}/mol) andeVA
(meaning eV·Angstrom)Default: Jnm6/mol
vdw_R0_file
Type: String
Description: TThis variable is relevant if the user wants to manually set the \(R_0\) parameters in D2 method. If not set, ABACUS will use the default \(C_6\) Parameters stored in the program. The default values of \(C_6\) for elements 1_H up to 86_Rn can be found by searching for
R0_default
in the source code. The unit is Angstrom.Otherwise, if user wants to manually set the \(C_6\) Parameters, they should provide a file containing the \(C_6\) parameters to be used. An example is given by:
Li 1.0 Cl 2.0
Namely, each line contains the element name and the corresbonding \(R_0\) parameter.
Default: default
vdw_R0_unit
Type: String
Description: This variable is relevant if the user wants to manually set the \(R_0\) parameters in D2 method. It specified the unit of the suppied \(C_6\) parameters. Allowed values are:
A
(meaning Angstrom) andBohr
.Default: A
vdw_cutoff_type
Type: String
Description: When applyting VanderWaals correction in periodic systems, a cutoff radius needs to be supplied to avoid infinite summation. In ABACUS, we restrict the range of correction to a supercell centered around the unit cell at origin.
In ABACUS, we provide two ways to determine the extent of the supercell.
When
vdw_cutoff_type
is set toradius
, the supercell is chosen such that it is contained in a sphere centered at the origin. The radius of the sphere is specified byvdw_cutoff_radius
.When
vdw_cutoff_type
is set toperiod
, the extent of the supercell is specified explicitly using keywordvdw_cutoff_period
.Default: radius
vdw_cutoff_radius
Type: Real
Description: If
vdw_cutoff_type
is set toradius
, this variable specifies the radius of the cutoff sphere. For DFTD2, the default value is 56.6918, while for DFTD3, the default value is 95.Default: 56.6918 if vdw_method is chosen to be d2; 95 if vdw_method is chosen to be d3_0 or d3_bj
vdw_radius_unit
Type: String
Description: If
vdw_cutoff_type
is set toradius
, this variable specifies the unit ofvdw_cutoff_radius
. Two values are allowed:A
(meaning Angstrom) andBohr
.Default: Bohr
vdw_cutoff_period
Type: Integer Integer Integer
Description: If vdw_cutoff_type is set to
period
, the three integers supplied here will explicitly specify the extent of the supercell in the directions of the three basis lattice vectors.Default: 3 3 3
vdw_cn_thr
Type: Real
Description: Only relevant for D3 correction. The cutoff radius when calculating coordination numbers.
Default: 40
vdw_cn_thr_unit
Type: String
Description: Unit of the coordination number cutoff. Two values are allowed:
A
(meaning Angstrom) andBohr
.Default: Bohr
Berry phase and wannier90 interface
This part of variables are used to control berry phase and wannier90 interfacae parameters.
berry_phase
Type: Integer
Description: 1, calculate berry phase; 0, no calculate berry phase.
Default: 0
gdir
Type: Integer
Description:
1: calculate the polarization in the direction of the lattice vector a_1 that is defined in STRU file.
2: calculate the polarization in the direction of the lattice vector a_2 that is defined in STRU file.
3: calculate the polarization in the direction of the lattice vector a_3 that is defined in STRU file.
Default: 3
towannier90
Type: Integer
Description: 1, generate files for wannier90 code; 0, no generate.
Default: 0
nnkpfile
Type: String
Description: the file name when you run “wannier90 pp …”.
Default: seedname.nnkp
wannier_spin
Type: String
Description: If nspin is set to 2,
up: calculate spin up for wannier function.
down: calculate spin down for wannier function.
Default: up
TDDFT: time dependent density functional theory
tddft
Type: Integer
Description:
1: calculate the real time time dependent density functional theory (TDDFT).
0: do not calculate TDDFT.
Default: 0
td_scf_thr
Type: Real
Description: Accuracy of electron convergence when doing timedependent evolution.
Default: 1e9
td_dt
Type: Real
Description: Timedependent evolution time step. (fs)
Default: 0.02
td_force_dt
Type: Real
Description: Timedependent evolution force changes time step. (fs)
Default: 0.02
td_vext
Type: Integer
Description:
1: add a laser material interaction (extern laser field).
0: no extern laser field.
Default: 0
td_vext_dire
Type: Integer
Description:
1: the direction of external light field is along x axis.
2: the direction of external light field is along y axis.
3: the direction of external light field is along z axis.
Default: 1
td_timescale
Type: Real
Description: Time range of external electric field application. (fs)
Default: 0.5
td_vexttype
Type: Integer
Description:
1: Gaussiantype light field.
2: Delta function form light field.
3: Trigonometric function form light field.
Default: 1
td_vextout
Type: Integer
Description:
1: Output external electric field.
0: do not Output external electric field.
Default: 0
td_dipoleout
Type: Integer
Description:
1: Output dipole.
0: do not Output dipole.
Default: 0
ocp
Type: Boolean
Description: option for choose whether calcualting constrained DFT or not. Only used for TDDFT.
Default:0
ocp_set
Type: string
Description: If ocp is true, the ocp_set is a string to set the number of occupancy, like 1 10 * 1 0 1 representing the 13 band occupancy, 12th band occupancy 0 and the rest 1, the code is parsing this string into an array through a regular expression.
Default:none
td_val_elec_01
Type: Integer
Description: Only useful when calculating the dipole. Specifies the number of valence electron associated with the first element.
Default: 1.0
td_val_elec_02
Type: Integer
Description: Only useful when calculating the dipole. Specifies the number of valence electron associated with the second element.
Default: 1.0
td_val_elec_03
Type: Integer
Description: Only useful when calculating the dipole. Specifies the number of valence electron associated with the third element.
Default: 1.0
Variables useful for debugging
nurse
Type: Boolean
Description: If set to 1, the Hamiltonian matrix and S matrix in each iteration will be written in output.
Default: 0
t_in_h
Type: Boolean
Description: If set to 0, then kinetic term will not be included in obtaining the Hamiltonian.
Default: 1
vl_in_h
Type: Boolean
Description: If set to 0, then local pseudopotential term will not be included in obtaining the Hamiltonian.
Default: 1
vnl_in_h
Type: Boolean
Description: If set to 0, then nonlocal pseudopotential term will not be included in obtaining the Hamiltonian.
Default: 1
test_force
Type: Boolean
Description: If set to 1, then detailed components in forces will be written to output.
Default: 0
test_stress
Type: Boolean
Description: If set to 1, then detailed components in stress will be written to output.
Default: 0
colour
Type: Boolean
Description: If set to 1, output to terminal will have some color.
Default: 0
test_skip_ewald
Type: Boolean
Description: If set to 1, then ewald energy will not be calculated.
Default: 0
Electronic conductivities
Frequencydependent electronic conductivities can be calculated with KuboGreenwood formula[Phys. Rev. B 83, 235120 (2011)].
Onsager coefficiencies:
\(L_{mn}(\omega)=(1)^{m+n}\frac{2\pi e^2\hbar^2}{3m_e^2\omega\Omega}\)
\(\times\sum_{ij\alpha\mathbf{k}}W(\mathbf{k})\left(\frac{\epsilon_{i\mathbf{k}}+\epsilon_{j\mathbf{k}}}{2}\mu\right)^{m+n2} \times \langle\Psi_{i\mathbf{k}}\nabla_\alpha\Psi_{j\mathbf{k}}\rangle^2\)
\(\times[f(\epsilon_{i\mathbf{k}})f(\epsilon_{j\mathbf{k}})]\delta(\epsilon_{j\mathbf{k}}\epsilon_{i\mathbf{k}}\hbar\omega).\)
They can also be computed by \(j\)\(j\) correlation function.
\(L_{mn}=\frac{2e^{m+n2}}{3\Omega\hbar\omega}\Im[\tilde{C}_{mn}(\omega)]\)
\(\tilde{C}_{mn}=\int_0^\infty C_{mn}(t)e^{i\omega t}e^{\frac{1}{2}(\Delta E)^2t^2}dt\)
\(C_{mn}(t)=2\theta(t)\Im\left\{Tr\left[\sqrt{\hat f}\hat{j}_m(1\hat{f})e^{i\frac{\hat{H}}{\hbar}t}\hat{j}_ne^{i\frac{\hat{H}}{\hbar}t}\sqrt{\hat f}\right]\right\}\),
where \(j_1\) is electric flux and \(j_2\) is thermal flux.
Frequencydependent electric conductivities: \(\sigma(\omega)=L_{11}(\omega)\).
Frequencydependent thermal conductivities: \(\kappa(\omega)=\frac{1}{e^2T}\left(L_{22}\frac{L_{12}^2}{L_{11}}\right)\).
DC electric conductivities: \(\sigma = \lim_{\omega\to 0}\sigma(\omega)\).
Thermal conductivities: \(\kappa = \lim_{\omega\to 0}\kappa(\omega)\).
cal_cond
Type: Boolean
Description: If set to 1, electronic conductivities will be calculated. Only supported in calculations of SDFT and KSDFT_PW.
Default: 0
cond_nche
Type: Integer
Description: Chebyshev expansion orders for stochastic Kubo Greenwood. Only used when the calculation is SDFT.
Default: 20
cond_dw
Type: Real
Description: Frequency interval (\(d\omega\)) for frequencydependent conductivities. The unit is eV.
Default: 0.1
cond_wcut
Type: Real
Description: Cutoff frequency for frequencydependent conductivities. The unit is eV.
Default: 10.0
cond_wenlarge
Type: Integer
Description: Control the t interval: dt = \(\frac{\pi}{\omega_{cut}\times\omega enlarge}\)
Default: 10
cond_fwhm
Type: Integer
Description: We use gaussian functions to approxiamte \(\delta(E)\approx \frac{1}{\sqrt{2\pi}\Delta E}e^{\frac{E^2}{2{\Delta E}^2}}\). FWHM for conductivities, \(FWHM=2*\sqrt{2\ln2}\cdot \Delta E\). The unit is eV.
Default: 0.3
Implicit solvation model
This part of variables are used to control the usage of implicit solvation model. This approach treats the solvent as a continuous medium instead of individual “explicit” solvent molecules, which means that the solute embedded in an implicit solvent and the average over the solvent degrees of freedom becomes implicit in the properties of the solvent bath.
imp_sol
Type: Boolean
Description: If set to 1, an implicit solvation correction is considered.
Default: 0
eb_k
Type: Real
Description: The relative permittivity of the bulk solvent, 80 for water. Used only if
imp_sol
== true.Default: 80
tau
Type: Real
Description: The effective surface tension parameter, which describes the cavitation, the dispersion, and the repulsion interaction between the solute and the solvent that are not captured by the electrostatic terms. The unit is \(Ry/Bohr^{2}\).
Default: 1.0798e05
sigma_k
Type: Real
Description: We assume a diffuse cavity that is implicitly determined by the electronic structure of the solute.
sigma_k
is the parameter that describes the width of the diffuse cavity.Default: 0.6
nc_k
Type: Real
Description: It determines at what value of the electron density the dielectric cavity forms. The unit is \(Bohr^{3}\).
Default: 0.00037