LCAO
Name 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.
Name 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:
- paramagnetic:
Magnetization density is zero.
- ferromagnetic:
Magnetization density is the sum of the atomic magnetization densities.
- random:
Each atomic magnetization density is randomly rotated.
- user_defined:
The atomic magnetization densities are rotated so that the magnetization
vector has the same direction as a vector provided by the user. In this case,
the AtomsMagnetDirection block has to be set.
Name LCAOComplexYlms
Section SCF::LCAO
Type logical
Default false
If set to true, and using complex states, complex spherical harmonics will be used, i.e.
with $e^{\pm i m \phi}$.
If false, real spherical harmonics with $\sin(m \phi)$ or $\cos(m \phi)$ are used.
This variable will make it more likely to get states that are eigenvectors of the $L_z$
operator, with a definite angular momentum.
Name LCAODiagTol
Section SCF::LCAO
Type float
Default 1e-10
Only applies if LCAOStart = lcao_states_batch.
The tolerance for the diagonalization of the LCAO Hamiltonian.
Name LCAODimension
Section SCF::LCAO
Type integer
(Only applies if LCAOStart /= lcao_states_batch.)
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 in the pseudopotential, 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.
Name LCAOExtraOrbitals
Section SCF::LCAO
Type logical
Default false
Only applies if LCAOStart = lcao_states_batch, 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.
Name LCAOKeepOrbitals
Section SCF::LCAO
Type logical
Default yes
Only applies if LCAOStart = lcao_states_batch.
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.
Name LCAOMaximumOrbitalRadius
Section SCF::LCAO
Type float
Default 20.0 a.u.
The LCAO procedure will ignore orbitals that have an
extent greater that this value.
Name LCAOSaveMemory
Section SCF::LCAO
Type logical
Default false
If set to true, the LCAO will allocate extra memory needed in single precision instead of
double precision.
Name LCAOScaleFactor
Section SCF::LCAO
Type float
Default 1.0
The coordinates of the atomic orbitals used by the LCAO
procedure will be rescaled by the value of this variable. 1.0 means no rescaling.
Name 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_states if at least one species representing an atom is present.
The default is lcao_none if all species are species_user_defined,
species_charge_density, species_from_file, or species_jellium_slab.
The initial guess densities for LCAO are taken from the atomic orbitals for pseudopotential species; from the natural charge density for species_charge_density, species_point, species_jellium, and species_jellium_slab; or uniform for species_full_delta, species_full_gaussian, species_user_defined, or species_from_file. Pseudopotential species use the pseudo-wavefunctions as orbitals, full-potential atomic species (species_full_delta and species_full_gaussian) use hydrogenic wavefunctions, and others use harmonic-oscillator wavefunctions.
Note: Some pseudopotential files (CPI, FHI for example) do not contain full information about the orbitals. In this case, Octopus generates the starting density from the normalized square root of the local potential. If no orbitals are available at all from the pseudopotential files, Octopus will not be able to perform an LCAO and the initial states will be randomized.
Options:
- lcao_none:
Do not perform a LCAO calculation before the SCF cycle. Instead use random wavefunctions.
- lcao_states:
Do a LCAO calculation before the SCF cycle and use the resulting wavefunctions as
initial wavefunctions without changing the guess density.
This will speed up the convergence of the eigensolver during the first SCF iterations.
- lcao_full:
Do a LCAO calculation before the SCF cycle and use the LCAO wavefunctions to build a new
guess density and a new KS potential.
Using the LCAO density as a new guess density may improve the convergence, but can
also slow it down or yield wrong results (especially for spin-polarized calculations).
- lcao_states_batch:
(Experimental) Same as lcao_states, but faster for GPUs, large systems and parallel in states.
It is not working for spinors, however.