Control parameters for the calculation
calculation.control.lengthUnit
keyword: calculation.control.lengthUnit
possible values: ‘au’, ‘a.u.’, ‘atomic unit’, ‘Bohr’, ‘an’, ‘ang’, ‘angstrom’, ‘nm’, ‘nanometer’, where ‘au’ ‘a.u.’, and ‘atomic unit’ are for Bohr, ‘an’ and ‘ang’ for angstrom, and ‘nm’ for nanometer.
default value: ‘angstrom’
description: the unit of length used in the input file. For example, it will be used as the unit of the x-, y-, and z-coordinates of the atoms, the unit of centralCellVectors or the group of centralCellVector1, centralCellVector2, and centralCellVector3. Note: 1 Bohr = 0.529177208319 Angstrom
an example:
calculation.control.lengthUnit = 'au'
calculation.control.energyUnit
keyword: calculation.control.energyUnit
possible values: ‘au’, ‘a.u.’, ‘atomic unit’, ‘Hartree’, ‘Ryd’, ‘Ryd.’, ‘Rydberg’, ‘eV’, where ‘au’ ‘a.u.’, and ‘atomic unit’ are for Hartree, ‘Ryd’ and ‘Ryd.’ for Rydberg.
default value: ‘eV’
description: the unit of energy used in the input file. Note: 1 Hartree = 27.211383411 eV = 2 Rydberg.
an example:
calculation.control.energyUnit = 'au'
calculation.control.angleUnit
keyword: calculation.control.angleUnit
possible values: ‘d’, ‘deg’, ‘deg.’, ‘degree’, ‘r’, ‘rad’, ‘rad.’, ‘radian’, where ‘d’, ‘deg’, ‘deg.’, and ‘degree’ are for degree, and ‘r’, ‘rad’, ‘rad.’, and ‘radian’ are for radian.
default value: ‘degree’
description: the unit of angle used in the input file.
an example:
calculation.control.angleUnit = 'r'
calculation.control.precision
keyword: calculation.control.precision
possible values: ‘high’, ‘normal’, ‘low’
default value: ‘normal’
description: used to control default values of the following parameters: (1) calculation.realspacegrids.E_cutoff low — 20 Hartree normal — 50 Hartree high — 150 Hartree (2) calculation.k_spacegrids.L_cutoff low — 20 Bohr normal — 40 Bohr high — 80 Bohr (3) calculation.complexEcontour.numberOfPoints low — 20 normal — 40 high — 60 (4) calculation.complexEcontour.numberOfPoints2 low — 4 normal — 8 high — 16 (5) calculation.realEcontour.interval low — 2e-3 Hartree normal — 5e-4 Hartree high — 1e-4 Hartree (6) calculation.realEcontour.eta low — 5e-4 Hartree normal — 2e-5 Hartree high — 1e-6 Hartree (7) calculation.SCF.convergenceCriteria low — 1e-3 Hartree for hamiltonian matrix and 1e-3 for density matrix normal — 1e-4 Hartree for hamiltonian matrix and 1e-4 for density matrix high — 1e-5 Hartree for hamiltonian matrix and 1e-5 for density matrix
an example:
calculation.control.precision = 'normal'
calculation.control.parallel
keyword: calculation.control.parallel
possible values: 1, true, 0, false
default value: false
description: If it is true or 1, the calculator will work in a parallel calculation mode. Otherwise, it will work in a serial calculation mode. Note that for parallel computations, MPICH2 needs to be set up first.
an example:
calculation.control.parallel = false
calculation.control.logOutputLevel
keyword: calculation.control.logOutputLevel
possible values: an integer array
default value: [1 1]
description: logOutputLevel is designed to control both the log output to screen and to files. If the length of the logOutputLevel is n, there will be n-1 log files generated. logOutputLevel(1) is for screen control and logOutputLevel(ii+1) is for the control of the ii’th file. The higher the value of logOutputLevel is, the more detailed information will be written into the log file. Note: If only one log file is requested, it is named as log.txt. If more than one log files are requested, their names will be named like log3.txt or log5.txt, where the integer 3 or 5 in the name is the corresponding output level.
an example:
calculation.control.logOutputLevel = [1 1]
calculation.control.temporaryDirectory
keyword: calculation.control.temporaryDirectory
possible values: any string representing the directory where some temporary data generated during the calculation will be saved.
default value: ./temporarydata
description: This parameter is for the user to redirect the temporary data generated during a calculation to a place where the disk space is large and the I/O speed is fast. Normally, in a parallel calculation, this parameter should be given to defined a place on a local disk.
an example:
calculation.control.temporaryDirectory = './tmp1'
calculation.control.dataFormat
keyword: calculation.control.dataFormat
possible values: compact, distributed
default value: compact
description: If compact, all calculated data will be saved in the class object; if distributed, calculated data will be saved separately.
an example:
calculation.control.dataFormat = distributed
calculation.control.networkFileSystem
keyword: calculation.control.networkFileSystem
possible values: 1, true, 0, false
default value: true
description: Network File System (NFS) is a protocol allowing a computer to access files over a network as easily as if the network device was attached to the local disks of the computer. In a parallel calculation, when control.networkFileSystem is set to true, only one copy of calculated data is saved, and each processor will use the same copy through the network. When control.networkFileSystem is false, each processor saves its own copy of the calculated data.
an example:
calculation.control.networkFileSystem = true
calculation.control.txtResultsOutputLevel
keyword: calculation.control.txtResultsOutputLevel
possible values: an integer
default value: 1
description: Some calculated results may be given in files of *.mat (also in *.xml, some also in *.txt) format. txtResultsOutputLevel is used to control the output of those files.
if it is 0, no *.mat file will be saved
if it is >= 1, Hamiltonian.mat (Hamiltonian matrix of the whole system) DensityMatrix.mat (density matrix of the part related to the central region) are saved.
if it is >= 2, in addition, DensityFunction.mat (real space charge density, the part within the central box) PotentialFunctionVeff.mat (real space potential function Veff, i.e. sum of the potential functions delta-hartree and exchange-correlation, the part within the central box)
if it is >= 3, in addition, HamiltonianMatrixT.mat (the kinetic component of the hamiltonian matrix, the part related to the central region) HamiltonianMatrixVna.mat (the neutral-atom component of the Hamiltonian matrix, the part related to the central region) HamiltonianMatrixVnl.mat (the nonlocal pseudopotential component of the Hamiltonian matrix, the part related to the central region) HamiltonianMatrixVeff.mat (the effective potential component, i.e. sum of delta-Hartree and exchange-correlation components of the Hamiltonian matrix, the part related to the central region) HamiltonianMatrixVhubbard.mat (the Hubbard component of the Hamiltonian matrix, the part related to the central region) HamiltonianMatrixVso.mat (the spin-orbit-interaction component of the Hamiltonian matrix, the part related to the central region)
if it is >= 4, in addition, DensityFunctionRna.mat (real space neutral-atom charge density, the part within the central box) PotentialFunctionVna.mat (real space neutral-atom potential function Vna, i.e. sum of the neutral-atom Coulomb potential and local pseudopotential, the part within the central box) PotentialFunctionVdh.mat (real space delta-Hartree potential function Vdh, the part within the central box) PotentialFunctionVxc.mat (real space exchange-correlation potential function Vxc, the part within the central box)
if it is >= 5, in addition, HamiltonianMatrixStaticPartOfH.mat (the static part of the Hamiltonian matrix, the part related to the central region)
if it is >= 6, in addition, DensityFunctionRpc.mat (real space partial-core charge density, the part within the central box) DensityFunctionReffna.mat (real space effective neutral-atom charge density, i.e. an effective charge density which produces a Coulomb potential that is exactly same as Vna, the part within the central box)
an example:
calculation.control.txtResultsOutputLevel = 1
calculation.control.largeSystem
keyword: calculation.control.largeSystem
possible values: 1, true, 0, false
default value: determined by nanodcal.
description: If it is true or 1, nanodcal will use some special algorithms for saving memory, otherwise, it will use other algorithms for saving time.
an example:
calculation.control.largeSystem = false
calculation.control.byPassCentralCellCheck
keyword: calculation.control.byPassCentralCellCheck
possible values: 1, true, 0, false
default value: false
description: Only used for open system. If it is false or 0, the code will automatically check the consistency between the central cell vectors and lead cell vectors, and the positions of the atoms in the central cell and in the lead cells. If it is true or 1, nanodcal will pass by the check for saving time.
an example:
calculation.control.byPassCentralCellCheck = true