DFT input parameters
Yaml input variables (experimental)
This section is related to the Density Functional parameters
Example via bullets:
Coarse and fine multiplication radii
Exchange correlation parameters Exclusive values:
This is the grid spacing
* Allowed range: [0, 2]
This file contains all the parameters required for a single wavefunction calculation. It is named input.dft.
0.45 0.45 0.45 # hx,hy,hz: grid spacing in the three directions 10.0 8.0 # crmult, frmult: c(f)rmult*radii_cf(*,1(2)) gives the coarse (fine)radius around each atom 11 # ixc: exchange-correlation parameter (LDA=1,PBE=11) 0 0.0 0.0 0.0 # qcharge: charge of the system, Electric field 1 0 # nspin=1 non-spin polarization, mpol=total magnetic moment 1.E-04 # gnrm_cv: convergence criterion gradient 100 2 # itermax,nrepmax: maximum number of wavefunction optimizations and of re-diagonalised runs 6 2 # ncong, idsx: # CG iterations for the preconditioning equation, length of the diis history 0 # dispersion correction functional (values 1,2,3), 0=no correction 0 0 22 # InputPsiId, output_wf, output_denspot 0.0 30 # rbuf, ncongt: length of the tail (AU),# tail CG iterations 0 0 0 # davidson treatment, no. of virtual orbitals, no of plotted orbitals T # disable the symmetry detection
All lines are mandatory. Follows a description line by line:
Wavelet grid definition
- hgridx, hgridy, hgridz: The grid spacing of the Cartesian grid, in Bohr. As described in the wavelet formalism section, the nodes of this grid serve as the centers for the scaling function/wavelet basis. Values are in most cases between 0.3 and 0.6 bohr.
- crmult, frmult: Coarse Region Multiplier and Fine Region Multiplier which serve to determine the radius for the low/high resolution sphere around the atom. Values are typically of the order of 5 for crmult and of the order of 10 for frmult.
- ixc: integer specifying which exchange correlation functional will be used. The Abinit conventions are used and detailed information can be found on the Abinit Web page. Here is only a short summary of some wide-ly used functionals:
- 1 – Pade LDA from Abinit XC library;
- 11 – PBE from Abinit XC library;
- -020 – Pade LDA from libXC;
- -101130 – PBE from libXC;
- -116133 – PBEsol from libXC;
- -406 – PBE0 Hybrid functional (local part from libXC).
A positive integer refers to a functional from ABINIT library and a negative one from libXC library. In this case, you concatenate the codes for the exchange part and for the correlation part (see the table of codes).
- qcharge, elecfield: Total charge of the system and uniform electric field Ex, Ey, Ez in units of Ha/Bohr. A positive ncharge means that electrons are taken away. The electric field can not have components in periodic directions, e.g. Ex = Ez = 0 in case surface BC is used.
- nspin, mpol:
- nspin = 1: closed shell system without spin polarization;
- nspin = 2: spin polarized system;
- nspin = 4: non-collinear magnetic system.
- gnrm_cv: convergence criterion for the wavefunction optimization (norm of the gradient). Reasonable values are in most cases between 1.d-4 and 1.d-5.
- itermax, nrepmax: Maximum number of gradient evaluations for a single cycle in a wavefunction optimization and maximum number of cycles. At the end of each cycle a subspace diagonalization is done which helps in cases where one has near degeneracy between the HOMO and LUMO orbitals. 50 and 2 are usually sufficient.
- ncong, idsx: ncong gives the number of iterations in the solution of the preconditioning equation. For free boundary conditions 5 is a good value whereas for other boundary condition a value from 0 to 2 is in general sufficient. Large values of ncong lead to a smaller number of iterations in the wavefunction optimization and better forces, but each iteration is more costly. So an optimal compromise value has to be found. idsx gives the history length of the DIIS convergence acceleration in the wavefunction optimization. 6 is usually a good value for fast convergence. In case of convergence problems it can be advantageous to switch off DIIS by setting idsx = 0. The memory requirements grow considerably with large values of idsx. If memory is the limiting factor one has to choose idsx smaller than the value which gives the fastest convergence. The bigdft-tool tool can be used to predict the memory requirements for different choices of idsx.
- dispersion: A non-zero values activates an empirical add-on treatment of dispersion effects. The values 1, 2 and 3 specify different switching on functions using the convention.
- InputPsiId, output_wf, output_denspot: three values to handle wavefunctions, density and potentials on disk.
InputPsiId specifies how the input guess wavefunction is generated:
output_wf controls the output of wavefunctions on disk at the end of the calculation:
output_denspot controls the output of density and pontentials on disk at the end of the calculation:
- rbuf, ncongt: Far reaching tails of the wavefunctions decaying into the vacuum are added in a perturbative treatment if the variable rbuf is set to a strictly positive value. This allows to do a calculation with some moderate value of crmult and then to extrapolate to the limit of large crmult. This procedure is not variational and gives too low energies. The true energy is in between the two energies and in general much closer to the extrapolated energy. This procedure can also be used to judge whether the chosen value of crmult is large enough for a certain required precision. rbuf gives the amount by which the radii for the coarse resolution region are increased in atomic units. ncongt gives the number of iterations used in the perturbation calculation. Reasonable values for ncongt are around 30.
- norbv,nvirt, nplot: Usually unoccupied orbitals are not calculated since they are not needed for the total energy and other physical properties of the electronic ground state. Putting norbv to a non-zero value will result in the calculation of norbv virtual orbitals in a postprocessing routine after the occupied orbitals have been calculated, which uses Davidson iterative treatment . nplot of these orbitals will be written in the ’virtual.*.pot’ files and nplot (if that many exist) of the highest occupied orbitals will be written in the ’orbital.*.pot’ file The Kohn Sham eigenvalues are written in the ordinary output file. nvirt corresponds to the actual number of orbitals the convergence process is taking care of during the Davidson iterations.
- disable sym: a logical to set to ’T’ to disable the usage of symmetry operations in the calculations. By default symmetries are used to update the density in periodic boundary condition calculations, and surface boundary conditions also.
- Q. Hill and C.-K. Skylaris. Proc. R. Soc. A 465 669 (2009)