Today is:
Manual Pseudopotentials and orbitals Examples

 

5.1 List of input variables


 

1 System Description


 

suffix Type : String

Description : In each ABACUS run, in the directory where you run ABACUS will generate a subdirectory. This subdirectory will contain all
the information inside it. The subdirectory name will have 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.Whenever you start a ABACUS calculation, please specify this value.
Note that if you accidently choose a wrong number, if the number is smaller than the atom species in the STRU file, ABACUS only read

the ’wrong number’ of atom information. In opposite, if the number is larger than the atom species in the STRU file, ABACUS may stop and
quite.

Default : N/A.???


 


nbands Type : Integer

Description : Number of bands to calculate. It is recommended you setup this value, especially when you use smearing techniques, more
bands should be included. Default value is the number of fully occupied states, in the future we would like to have a more reasonable default
setup of this value.

Default : the number of fully occupied states.


 



atom file Type : String

Description : This variable specifies the name of atom file which contains various information about atom species, including pseudopotential
files, local orbitals files, nonlocal projectors files, cell information, atom positions, local orbitals that will be used and whether atoms should be
allowed to move.

Default : STRU.


 




kpoint file Type : String

Description : This variable specifies the name of k-points file. Note that if you use atomic orbitals as basis, and you only use gamma point,
you don’t need to have k-point file in your directory, ABACUS will automatically generate ’KPT’ file. Otherwise, if you use more than
one k-point, please do remember the algorithm in ABACUS is different for gamma only and various k-point dependent simulations. So first you

should turn off the k-point algorithm by set gamma only = 0 in INCAR and then you should setup your own k-points file.

Default : KPT.


 



pseudo_dir Type : String

Description : This variable is about pseudopotential directory. All the pseudopotential file names you write down in STRU file should exist
in this directory. Due to the structure of our code, the default path of this will look strange to you. Please write down the address of the
pseudopotential files whatever you think is best convenience for you.

Default : ./


 



nbands_istate Type : Integer

Description : Only used when calculation = ienvelope or calculation = 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 Ψi = CΦµ, where Ψi is the ith wave
function with the band index i. Φmu is the localized atomic orbital set. istate means to calculate the density of each wave function |Ψ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 coeffcients Cshould be first calculated and written into a file

by setting the flag out lowf = 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.


 


calculation Type : String

Description : Specify the type of calculation.

• scf : do self-consistent electronic structure calculation

• relax: do structure relaxation calculation, one can ues ’nstep’ to decide how many ionic relaxations you want.

• nscf : do the non self-consistent electronic structure calculations only. For this option, you need a charge density file.

• istate: Please see the explanation for variable nbands istate.

• ienvelope: Please see the explanation for variable nbands istate.

• md: molecular dynamics

Default : scf.


 

 

 

This part of variables are used to control the plane wave related parameters.



PW Description


 


ecutwfc Type : Real

Description : Energy cutoff for plane wave functions, the unit is Rydberg. Note that even for localized orbitals basis, you still need to setup
a energy cutoff for this system. Because our local pseudopotential parts and the related force are calculated from plane wave basis set, etc. Also,
because our orbitals are generated by matching localized orbitals to a chosen set of wave functions from certain energy cutoff, so this set of
localize orbitals are most accurate under this same plane wave energy cutoff.

Default : 50.


 


ethr Type : Real

Description : Only used when you use diago type = cg or diago type = david. It indicates the threshold for the first electronic iteration, from

the second iteration the ethr will be updated automatically.

Default : 0.01


 



start_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.

• atomic:

• file:

Default :atomic.


 


start_charge Type : String

Description : This variable is used for both plane wave set and local- ized 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 to ’file’, the density will be read in from file. The file should be

in the output directory. Besides, when you do ’n- spin=1’ calculation, you only need the density file SPIN1_CHGCAR.

However, if you do ’nspin=2’ calculation, you also need the density file SPIN2_CHGCAR. The density file should be output with these names

if you set out charge = 1 in INPUT file.

• atomic:

• file:

Default :atomic.


 

 


This part of variables are used to control the electronic structure and force calculations.



Name Description


 



basis_type Type : String

Description : This is very important parameters to choose basis set in ABACUS.

pw: Using Plane-Wave basis set only.


lcao_in_ pw: Expand the localized atomic set in Plane-Wave basis.

lcao: Using localized atomic orbital sets.

Default : pw


 


ks_solver Type : String

Description : It’s about choice of diagonalization methods for hamilto- nian matrix expanded in a certain basis set.

hpseps This method should be used if you choose localized or- bitals.

cg cg method is only used for plane wave basis calculations.

david david is the Davidson algorithm for plane wave basis cal- culations only.

lapack lapack can be used for localized orbitals, but is only used for single processor.

Default : cg


 

smearing 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 methfessel-paxton smearing method.

Default : fixed


 

sigmaType : Real

Description : energy range for smearing, the unit is Rydberg.

Default : 0.01


 



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.

pulay-kerker:

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 mix-
ing based on these density.

Default : 8


 



mixing_gg0 Type : Real

Description : used in pulay-kerker mixing method

Default : 1.5


 



gamma_only Type : Integer

Description : It is an important parameter in localized orbitals set. It you set gamma only = 1, ABACUS use gamma only, the algorithm

is fast and you don’t need to specify the k-points file. If you set gamma only = 0, more than one k-point is used and the ABACUS is slower

compared to gamma only algorithm.

Default : 0


 


printe Type : Integer

Description : Print out energy for each band for every printe steps

Default : 100


 


niter Type : Integer

Description :This variable indicates the maximal iteration number for electronic iterations.

Default : 40


 




diago_cg_maxiter Type : Integer

Description : Only useful when you use diago type = cg or diago type = david. It indicates the maximal iteration number for cg/david method.

Default : 40


 




diago_david_ndim Type : Integer

Description : Only useful when you use diago type = david. It indicates the maximal dimension for david method.

Default : 10


 


dr2 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 106 may be accurate enough.

Default :1e-09


 



charge_extrap Type : String

Description : Methods to do extrapolation of density when ABACUS is doing geometry relaxations.

• atomic: atomic extrapolation

• f irst-order: first-order extrapolation

• second-order: second-order extrapolation

Default :atomic


 




out_charge Type : Integer

Description : If set to 1, ABACUS will output the charge density on real space grid. The name of the density file is SPIN1_CHGCAR and

SPIN2_CHGCAR (if nspin = 2). Suppose each density on grid has coordinate (x, y, z). The circle order of the density on real space grid
is: z is the outer loop, then y and finally x (x is moving fastest).

Default :0


 



out_dm Type : Integer

Description : If set to 1, ABACUS will output the density matrix of localized orbitals, only useful for localized orbitals set. The name of the


output file is SPIN1_DM and SPIN2_DMin the output directory.

Default : 0


 



out_wf Type : Integer

Description : Only used in localized orbitals set. When set this variable to 1, it outputs the coefficients of wave functions. The file name is

LOWF_GAMMA_S1.dat when using only GAMMA k-point for spin 1 component and LOWF_GAMMA_S2.dat for spin 2 component.

Default : 0


 



out_lowf Type : Integer

Description : If set to 1, ABACUS will output the wave functions coefficients.

Default : 0


 



out_alllog Type : Integer

Description : When set to 1, ABACUS will generate a log file for each processor when parallel, it is very useful for debugging.

Default : 0


 


force Type : Integer

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


 


nstep Type : Integer

Description : The number of ionic iteration steps, the minimal value is 1.

Default : 1


 



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 f orce 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.04eV /Angstrom.

Default : 0.01 eV/Angstrom


 




force_thr_ev2 Type : Real

Description : This may be a very useful parameter in localized orbitals set. Due to numerical issue, the force calculation using atomic orbitals
is not accurate sometimes. When the force of an atom is smaller than force_thr_ev2, we set this force to be 0 and don’t move the atom. This

makes the geometry relaxation more stable.

Default : 0


 



bfgs_w1 Type : Real

Description : This variable controls the Wolfe condition for BFGS algorithm used in geometry relaxation. You can look into paper

P hys.C hem.C hem.P hys., 2000, 2, 2177 for more information.

Default : 0.01


 



bfgs_w2 Type : Real

Description : This variable controls the Wolfe condition for BFGS algorithm used in geometry relaxation. You can look into paper

P hys.C hem.C hem.P hys., 2000, 2, 2177 for more information.

Default : 0.5


 




trust_radius_max 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 trust radius max Bohr.

Default : 0.8


 




trust_radius_min 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 trust radius min Bohr , and the force convergence is still not achieved, the calculation will break down.

Default : 1e-5


 




trust_radius_ini 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 trust radius ini Bohr.

Default : 0.2


 



move_method Type : String

Description : The method to do geometry optimizations. If set to bf gs, using BFGS algorithm. If set to cg, using CG algorithm. If set to sd,
using steepest-descent algorithm.

Default : cg


 


 

 

This part of variables are used to control the molecular dynamics calculations.



MD Description


 



md_type Type : Integer

Description : control the ensemble to run md.

0: When set to 0, ABACUS will use NVE ensemble;

1: When set to 1, ABACUS will use NVT ensemble with Nose

Hoover method;

2: When set to 2, ABACUS will use NVT ensemble with Velosity

Scaling method;

Default : 1



md_rstmd Type : Bool

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 : Double

Description :This is the time step(fs) used in md simulation .

Default : No default


 




md_tfirst&md_tlast Type : Double

Description :This is the temperature used in md simulation, md tlast’s default value is md tfirst. If md tlast is setted and be different from

the md tfirst, ABACUS will automatically generate a linear temperature gradient file named ”ChangeTemp.dat”, you can also set this file
according to your needs instead.

Default : No default


 



md_qmass Type : Double

Description :Inertia of extended system variable. Used only when md type is 1 or 2, you should set a number which is larger than 0.
If you want to autoset this by ABACUS,just set it to 0.

Default : No default


 




md_nresn&md_nyosh Type : Integer

Description :Used only when md type is 1, control the Nose-Hoover thermostat extended-system, you can only set them at 1,3,5.

Default : md nresn=md nyosh=3


 



md_dumpmdfred Type : Integer

Description :This is the steps to control the frequence to output md information

Default : 1


 



md_domsd Type : Integer

Description :when set to 1, ABACUS will calculate mean square displacement and the diffusion of each element.

Default : 1


 



md_fixtemperature Type : Integer

Description :

n:when set to n(n¿1), ABACUS will read the file ”ChangeTem- p.dat” and change system’s temperature every n steps,

0,1:When set to 0 or 1, ABACUS won’t change the temperature during running MD.

Default : 1


 



md_msdstarttime Type : Integer

Description :when set to n, ABACUS will calculate mean square displacement and the diffusion of each element from nth step.

Default : 1


 


 

 

This part of variables are used to control DFT-D2 related parameters.



Name Description


 


vdwD2 Type : Integer

Description : If set to 1, ABACUS will calculate DFT-D2 correction, including vdW energy and vdW forces.

Default : 0


 



vdwD2_scaling Type : Real

Description : The scale factors are to optimize the interaction energy deviations. They are found to be 0.75 (PBE), 1.2 (BLYP), 1.05 (B-
P86), 1.0 (TPSS), and 1.05 (B3LYP).

Default : 0.75


 



vdwD2_d Type : Real

Description : The variable is to control the dumping speed of dumping function of DFT-D2.

Default : 20


 




vdwD2_C6 file Type : String

Description : This variable specifies the name of each elemetent’s C6 Parameters file. If you don’t setup this, ABACUS will use the default

C6 Parameters stored in the programme already. We’ve stored elements from 1 H to 54 Xe. Otherwise, if you want to use some new C6

Parameters, you should provide a file contained all the C6 Parameters ordered by periodic table of elements, from 1 H to the last elements you want.

Default : default


 




vdwD2_C6_unit Type : String

Description : This variable specifies unit of C6 Parameters. Two kinds of unit is available: Jnm6/mol(means J · nm6/mol) and eVA(means eV · ˚A)

Default : Jnm6/mol


 





vdwD2_R0_file Type : String

Description : This variable specifies the name of each elemetent’s R0 Parameters file. If you don’t setup this, ABACUS will use the default

R0 Parameters stored in the programme already. We’ve stored elements from 1 H to 54 Xe. Otherwise, if you want to use some new R0

Parameters, you should provide a file contained all the R0 Parameters ordered by periodic table of elements, from 1 H to the last elements you want.

Default : default


 




vdwD2_R0_unit Type : String

Description : This variable specifies unit of R0 Parameters. Two kinds of unit is available: A(means ˚A) and Bohr.

Default : A


 



vdwD2_model Type : String

Description : To calculate the periodic structure, you can assign the number of lattice cells calculated. This variable specifies the kind of
model to assign. If set to period, ABACUS will calculate a cubic peri odic structure as assigned in vdwD2 period. If set to radius, ABACUS
will calculate a cubic periodic structure containing a sphere, whose ra dius is vdwD2 radius and centre is origin point.

Default : radius


 



vdwD2_radius Type : Real

Description : If vdwD2 model is set to radius, this variable specifies the radius of the calculated sphere.

Default : 56.6918


 




vdwD2_radius_unit Type : String

Description : If vdwD2 model is set to radius, this variable specifies the unit of vdwD2 radius. Two kinds of unit is available: A(means ˚A) and Bohr.

Default : Bohr


 



vdwD2_period Type : Int Int Int

Description : If vdwD2 model is set to period, these variables specify the number of x, y and z periodic.

Default : 2 2 2


 

 

 

 

copyright © Key Lab of Quantum Information, CAS