SCF

SCFCalculateDipole
Section: SCF
Type: logical

This variable controls whether the dipole is calculated at the end of a self-consistent iteration. For finite systems the default is yes. For periodic systems the default is no, unless an electric field is being applied in a periodic direction. The single-point Berry`s phase approximation is used for periodic directions.


SCFCalculateForces
Section: SCF
Type: logical

This variable controls whether the forces on the ions are calculated at the end of a self-consistent iteration. The default is yes, unless the system only has user-defined species.


SCFinLCAO
Section: SCF
Type: logical
Default: no

Performs the SCF cycle with the calculation restricted to the LCAO subspace. This may be useful for systems with convergence problems (first do a calculation within the LCAO subspace, then restart from that point for an unrestricted calculation).


SCF::Convergence

ConvAbsDens
Section: SCF::Convergence
Type: float
Default: 0.0

Absolute convergence of the density:

\epsilon = \int {\rm d}^3r \vert \rho^{out}(\bf r) -\rho^{inp}(\bf r) \vert.

A zero value (the default) means do not use this criterion.


ConvAbsEv
Section: SCF::Convergence
Type: float
Default: 0.0

Absolute convergence of the sum of the eigenvalues:

\epsilon = \vert \sum_{j=1}^{N_{occ}} \epsilon_j^{out} - \sum_{j=1}^{N_{occ}} \epsilon_j^{inp} \vert

A zero value (the default) means do not use this criterion.


ConvEigenError
Section: SCF::Convergence
Type: logical
Default: false

If true, the calculation will not be considered converged unless all states have individual errors less than EigensolverTolerance.


ConvForce
Section: SCF::Convergence
Type: float
Default: 0.0

Absolute convergence of the forces: maximum variation of any component of the ionic forces in consecutive iterations. A zero value means do not use this criterion. The default is zero, except for geometry optimization, which sets a default of 1e-8.


ConvRelDens
Section: SCF::Convergence
Type: float
Default: 1e-5

Relative convergence of the density:

\epsilon = {1\over N} ConvAbsDens.

N is the total number of electrons in the problem. A zero value means do not use this criterion.


ConvRelEv
Section: SCF::Convergence
Type: float
Default: 0.0

Relative convergence of the sum of the eigenvalues:

\epsilon = \vert \sum_{j=1}^{N_{occ}} ( \epsilon_j^{out} - \epsilon_j^{inp} ) \vert \over \vert \sum_{j=1}^{N_{occ}} \epsilon_j^{out} \vert


MaximumIter
Section: SCF::Convergence
Type: integer
Default: 200

Maximum number of SCF iterations. The code will stop even if convergence has not been achieved. -1 means unlimited. 0 means just do LCAO (or read from restart) and stop.


MaximumIterBerry
Section: SCF::Convergence
Type: integer
Default: 10

Maximum number of iterations for the Berry potential, within each SCF iteration. Only applies if a StaticElectricField is applied in a periodic direction. The code will move on to the next SCF iteration even if convergence has not been achieved. -1 means unlimited.


SCF::Eigensolver

Eigensolver
Section: SCF::Eigensolver
Type: integer

Which eigensolver to use to obtain the lowest eigenvalues and eigenfunctions of the Kohn-Sham Hamiltonian. The default is conjugate gradients (cg); when parallelization in states is enabled, the default is lobpcg.
Options:


EigensolverArnoldiVectors
Section: SCF::Eigensolver
Type: integer
Default: 20

For Eigensolver = arpack, this indicates how many Arnoldi vectors are generated. It must satisfy EigensolverArnoldiVectors - Number Of Eigenvectors >= 2. See the ARPACK documentation for more details. It will default to twice the number of eigenvectors (which is the number of states)


EigensolverImaginaryTime
Section: SCF::Eigensolver
Type: float
Default: 10.0

The imaginary-time step that is used in the imaginary-time evolution method (Eigensolver = evolution) to obtain the lowest eigenvalues/eigenvectors. It must satisfy EigensolverImaginaryTime > 0.


EigensolverMaxIter
Section: SCF::Eigensolver
Type: integer

Determines the maximum number of iterations that the eigensolver will perform if the desired tolerance is not achieved. The default is 25 iterations for all eigensolvers except for rmdiis, which performs only 3 iterations (only increase it if you know what you are doing).


EigensolverMinimizationIter
Section: SCF::Eigensolver
Type: integer
Default: 5

During the first iterations, the RMMDIIS eigensolver requires some steepest-descent minimizations to improve convergence. This variable determines the number of those minimizations. The default is 5.


EigensolverSubspaceDiag
Section: SCF::Eigensolver
Type: logical
Default: yes

Allows you to turn off subspace diagonalization during the diagonalization of the Hamiltonian. Subspace diagonalization sometimes creates problems when restarting unoccupied-states calculations with a larger number of unoccupied states.


EigensolverTolerance
Section: SCF::Eigensolver
Type: float
Default: 1.0e-6

This is the tolerance for the eigenvectors. The default is 1e-6.


Preconditioner
Section: SCF::Eigensolver
Type: integer
Default: filter

Which preconditioner to use in order to solve the Kohn-Sham equations or the linear-response equations. May apply prefix of linear-response (e.g. EM, KdotP, VM) to differentiate from choice for ground state.
Options:


SubspaceDiagonalization
Section: SCF::Eigensolver
Type: integer
Default: standard

Selects the method to perform subspace diagonalization. The default is standard, unless states parallelization is used, when the default is scalapack.
Options:


SCF::LCAO

AtomsMagnetDirection
Section: SCF::LCAO
Type: block

This option is only used when GuessMagnetDensity is set to user_defined. It provides a direction for the magnetization vector of each atom when building the guess density. In order to do that, the user should specify the coordinates of a vector that has the desired direction and norm. Note that it is necessary to maintain the ordering in which the species were defined in the coordinates specifications.

For spin-polarized calculations, the vectors should have only one component; for non-collinear-spin calculations, they should have three components. If the norm of the vector is greater than the number of valence electrons in the atom, it will be rescaled to this number, which is the maximum possible magnetization.


GuessMagnetDensity
Section: SCF::LCAO
Type: integer
Default: ferromagnetic

The guess density for the SCF cycle is just the sum of all the atomic densities. When performing spin-polarized or non-collinear-spin calculations this option sets the guess magnetization density.

For anti-ferromagnetic configurations, the user_defined option should be used.

Note that if the paramagnetic option is used, the final ground state will also be paramagnetic, but the same is not true for the other options.
Options:


LCAOAlternative
Section: SCF::LCAO
Type: logical
Default: false

If this variable is set, the LCAO procedure will use an alternative (and experimental) implementation. It is faster for large systems and parallel in states. It is not working for spinors, however.


LCAODiagTol
Section: SCF::LCAO
Type: float
Default: 1e-10

Only applies if LCAOAlternative = true. The tolerance for the diagonalization of the LCAO Hamiltonian. The default is 1e-10.


LCAODimension
Section: SCF::LCAO
Type: integer

(Only applies if LCAOAlternative = no.) Before starting the SCF cycle, an initial LCAO calculation can be performed in order to obtain reasonable initial guesses for spin-orbitals and densities. For this purpose, the code calculates a number of atomic orbitals. The number available for a species described by a pseudopotential is all the orbitals up the maximum angular momentum being used, minus any orbitals that are found to be unbound. For non-pseudopotential species, the number is equal to twice the valence charge. The default dimension for the LCAO basis set will be the sum of all these numbers, or twice the number of required orbitals for the full calculation, whichever is less.

This dimension however can be changed by making use of this variable. Note that LCAODimension cannot be smaller than the number of orbitals needed in the full calculation -- if LCAODimension is smaller, it will be silently increased to meet this requirement. In the same way, if LCAODimension is larger than the available number of atomic orbitals, it will be reduced. If you want to use the largest possible number, set LCAODimension to a negative number.


LCAOExtraOrbitals
Section: SCF::LCAO
Type: logical
Default: false

Only applies if LCAOAlternative = true, and all species are pseudopotentials. (experimental) If this variable is set to yes, the LCAO procedure will add an extra set of numerical orbitals (by using the derivative of the radial part of the original orbitals). Note that this corresponds roughly to adding orbitals with higher principal quantum numbers, but the same angular momentum. This option may cause problems for unoccupied states since you may miss some lower-lying states which correspond to higher angular momenta instead of higher principal quantum number.


LCAOKeepOrbitals
Section: SCF::LCAO
Type: logical
Default: yes

Only applies if LCAOAlternative = true. If set to yes (the default) Octopus keeps atomic orbitals in memory during the LCAO procedure. If set to no, the orbitals are generated each time that they are needed, increasing computational time but saving memory.

When set to yes, Octopus prints the amount of memory per node that is required to store the orbitals.


LCAOStart
Section: SCF::LCAO
Type: integer

Before starting a SCF calculation, Octopus can perform a linear combination of atomic orbitals (LCAO) calculation. These can provide Octopus with a good set of initial wavefunctions and with a new guess for the density. (Up to the current version, only a minimal basis set is used.) The default is lcao_full if at least one species representing an atom is present. The default is lcao_none if all species are spec_user_defined, spec_charge_density, species_from_file, or spec_jelli_slab. The initial guess densities for LCAO are from the pseudopotential for PSF, HGH, UPF, PSPIO species; from the natural charge density for spec_charge_density, spec_point, spec_jelli, and spec_jelli_slab; or uniform for CPI and FHI pseudopotentials, spec_full_delta, spec_full_gaussian, spec_user_defined, or species_from_file. (Non-pseudopotential species use Hermite polynomials as orbitals.)
Options:


SCF::Mixing

MixField
Section: SCF::Mixing
Type: integer
Default: density

Selects what should be mixed during the SCF cycle. Note that currently the exact-exchange part of hybrid functionals is not mixed at all, which would require wavefunction-mixing, not yet implemented. This may lead to instabilities in the SCF cycle, so starting from a converged LDA/GGA calculation is recommended for hybrid functionals. The default depends on the TheoryLevel and the exchange-correlation potential used.
Options:


MixNumberSteps
Section: SCF::Mixing
Type: integer
Default: 3

In the Broyden and GR-Pulay schemes, the new input density or potential is constructed from the values of the densities/potentials of a given number of previous iterations. This number is set by this variable. Must be greater than 1.


Mixing
Section: SCF::Mixing
Type: float
Default: 0.3

Both the linear and the Broyden scheme depend on a "mixing parameter", set by this variable. Must be 0 < Mixing <= 1.


TypeOfMixing
Section: SCF::Mixing
Type: integer
Default: broyden

The scheme used to produce, at each iteration in the self-consistent cycle that attempts to solve the Kohn-Sham equations, the input density from the value of the input and output densities of previous iterations.
Options: