L
Name LatticeParameters
Section Mesh::Simulation Box
Type block
The lattice parameters (a, b, c).
This variable is mandatory for periodic systems and is ignored otherwise.
When PeriodicDimensions = 3, a second optional line can be used to
define the angles between the lattice vectors. If the angles are not
provided, then the variable LatticeVectors must be set.
The number of parameters specified in the block must be at least equal
to the number of periodic dimensions, but it is not mandatory to
specify parameters for the non-periodic dimensions (in that case they
are set to 1).
Name LatticeVectors
Section Mesh::Simulation Box
Type block
Default simple cubic
Primitive lattice vectors. Vectors are stored in rows.
Default:
%LatticeVectors
1.0 | 0.0 | 0.0
0.0 | 1.0 | 0.0
0.0 | 0.0 | 1.0
%
Name 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.
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 LCAOAlternative = true.
The tolerance for the diagonalization of the LCAO Hamiltonian.
Name 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 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 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.
Name 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.
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 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).
Name LDBaderThreshold
Section Utilities::oct-local_multipoles
Type float
Default 0.01
This variable sets the threshold for the basins calculations. Recommended values:
0.01 -> intramolecular volumes; 0.2 -> intermolecular volumes.
Name LDEnd
Section Utilities::oct-local_multipoles
Type integer
Default 0
The last number of the filename or folder.
Name LDFilename
Section Utilities::oct-local_multipoles
Type string
Default ‘density’
Input filename. The original filename for the density which is going to be
fragmented into domains.
Name LDFolder
Section Utilities::oct-local_multipoles
Type string
The folder name where the density used as input file is.
Name LDIonicDipole
Section Utilities::oct-local_multipoles
Type logical
Default yes
Describes if the ionic dipole has to be take into account
when computing the multipoles.
Name LDIterateFolder
Section Utilities::oct-local_multipoles
Type logical
Default false
This variable decides if a folder is going to be iterated.
Name LDMultipoleLmax
Section Utilities::oct-local_multipoles
Type integer
Default 1
Maximum electric multipole of the density output to the file local.multipoles/<>domain%<>.multipoles
during a time-dependent simulation. Must be non-negative.
Name LDOutput
Section Utilities::oct-local_multipoles
Type flag
Default multipoles
Defines what should be output during the local domains
simulation. Many of the options can increase the computational
cost of the simulation, so only use the ones that you need. In
most cases the default value is enough, as it is adapted to the
details.
Options:
- multipoles:
Outputs the (electric) multipole moments of the density to the file ld.general/multipoles.
This is required to, e.g., calculate optical absorption spectra of finite systems. The
maximum value of $l$ can be set with the variable LDMultipoleLmax.
- density:
If set, octopus outputs the densities corresponding to the local domains to
the folder ld.general/densities.
The output format is set by the LDOutputFormat input variable.
- local_v:
If set, octopus outputs the different components of the potential
to the folder ld.general/potential.
The output format is set by the LDOutputFormat input variable.
- energy:
If set, octopus outputs the different components of the energy of the local domains
to the folder ld.general/energy.
Name LDOutputFormat
Section Utilities::oct-local_multipoles
Type flag
Default none
Describes the format of the output files (see LDOutput).
It can take the same values as OutputFormat flag.
Name LDOverWrite
Section Utilities::oct-local_multipoles
Type logical
Default true
Controls whether to over-write existing files.
Name LDRadiiFile
Section Utilities::oct-local_multipoles
Type string
Default ‘default’
Full path for the radii file. If set, def_rsize will be reset to the new values.
This file should have the same format as share/PP/default.
Name LDRestart
Section Utilities::oct-local_multipoles
Type logical
Default false
Restart information will be read from LDRestartFolder.
Name LDRestartFolder
Section Utilities::oct-local_multipoles
Type string
Default “ld.general”
The folder name where the density used as input file is.
Name LDStart
Section Utilities::oct-local_multipoles
Type integer
Default 0
The starting number of the filename or folder.
Name LDStep
Section Utilities::oct-local_multipoles
Type integer
Default 1
The padding between the filenames or folder.
Name LDUpdate
Section Utilities::oct-local_multipoles
Type logical
Default false
Controls if the calculation of the local domains is desired at each iteration.
Name LDUseAtomicRadii
Section Utilities::oct-local_multipoles
Type logical
Default false
If set, atomic radii will be used to assign lone pairs to ion.
Name libvdwxcDebug
Section Hamiltonian::XC
Type logical
Dump libvdwxc inputs and outputs to files.
Name libvdwxcMode
Section Hamiltonian::XC
Type integer
Whether libvdwxc should run with serial fftw3, fftw3-mpi, or pfft.
to specify fftw3-mpi in serial for debugging.
pfft is not implemented at the moment.
Options:
- libvdwxc_mode_auto:
Use serial fftw3 if actually running in serial, else fftw3-mpi.
- libvdwxc_mode_serial:
Run with serial fftw3. Works only when not parallelizing over domains.
- libvdwxc_mode_mpi:
Run with fftw3-mpi. Works only if Octopus is compiled with MPI.
Name libvdwxcVDWFactor
Section Hamiltonian::XC
Type float
Prefactor of non-local van der Waals functional.
Setting a prefactor other than one is wrong, but useful
for debugging.
Name LinearMediumBoxFile
Section Maxwell
Type string
File in OFF format with the shape of the linear medium.
Name LinearMediumBoxShape
Section Maxwell
Type integer
This variable defines the shape of the linear medium box.
The default is medium_parallelepiped.
Options:
- medium_parallelepiped:
The medium box will be a parallelepiped whose center and dimensions are taken from
the variable LinearMediumBoxSize.
- medium_box_file:
The simulation box will be read from an external file in OFF format, defined by the variable LinearMediumBoxFile.
Name LinearMediumBoxSize
Section Maxwell
Type block
Defines center and size of a parallelepiped linear medium box.
Example:
%LinearMediumBoxSize
center_x | center_y | center_z | x_length | y_length | z_length
%
Name LinearMediumEdgeProfile
Section Maxwell
Type integer
Defines the type of numerical approximation used for the derivatives at the edges of the medium box.
Default is edged. When the box shape is read from file, only the edged profile is supported.
Options:
- edged:
Medium box edges are considered steep for derivatives.
- smooth:
Medium box edged and softened for derivatives.
Name LinearMediumProperties
Section Maxwell
Type block
Defines electromagnetic parameters for a linear medium box.
Example:
%LinearMediumProperties
epsilon_factor | mu_factor | sigma_e | sigma_m
%
Permittivity factor, permeability factor, electric conductivity and magnetic conductivity of the medium box.
Name LinearSolver
Section Linear Response::Solver
Type integer
Default qmr_symmetric
Method for solving linear equations, which occur for Sternheimer linear
response and OEP. The solvers vary in speed, reliability (ability to
converge), and domain of applicability. QMR solvers are most reliable.
Options:
- bicgstab:
Biconjugate gradients stabilized. Slower than cg, but more reliable.
General matrices.
- cg:
Conjugate gradients. Fast but unreliable. Hermitian matrices only
(no eta in Sternheimer).
- multigrid:
Multigrid solver, currently only Gauss-Jacobi (experimental).
Slow, but fairly reliable. General matrices.
- qmr_symmetric:
Quasi-minimal residual solver, for (complex) symmetric matrices. [Real symmetric
is equivalent to Hermitian.] Slightly slower than bicgstab but more reliable.
For Sternheimer, must be real wavefunctions, but can have eta.
- qmr_symmetrized:
Quasi-minimal residual solver, using the symmetrized form $A^\dagger A x = A^\dagger y$ instead of
$A x = y$. Reliable but very slow. General matrices.
- qmr_dotp:
Quasi-minimal residual solver, for Hermitian matrices, using the
symmetric algorithm with conjugated dot product (experimental). Slightly slower than bicgstab
but more reliable. Can always be used in Sternheimer.
- qmr_general:
Quasi-minimal residual solver, for general matrices, using the
most general form of the algorithm. Slow and unreliable.
- sos:
Sum over states: the Sternheimer equation is solved by using
the explicit solution in terms of the ground-state
wavefunctions. You need unoccupied states to use this method.
Unlike the other methods, may not give the correct answer.
- idrs:
This is the "Induced Dimension Reduction", IDR(s) (for s=4). IDR(s) is a robust and efficient short recurrence
Krylov subspace method for solving large nonsymmetric systems of linear equations. It is described in
[Peter Sonneveld and Martin B. van Gijzen, SIAM J. Sci. Comput. 31, 1035 (2008)]. We have adapted the code
released by M. B. van Gizjen [http://ta.twi.tudelft.nl/nw/users/gijzen/IDR.html].
Name LinearSolverMaxIter
Section Linear Response::Solver
Type integer
Default 1000
Maximum number of iterations the linear solver does, even if
convergence is not achieved.
Name LocalDomains
Section Utilities::oct-local_multipoles
Type block
The LocalDomains are by definition part of the global grid. The domains are defined by
selecting a type shape. The domain box will be constructed using the given parameters.
A local domain could be construct by addition of several box centered on the ions.
The grid points inside this box will belong to the local domain.
The format of this block is the following:
‘Label’ | Shape | %< | Shape dependencies >%
The first field is the label of the domain.
Label = string with the name of the new local domain.
The second is the shape type of the box used to define the domain.
Shape = SPHERE, CYLINDER, PARALLELEPIPED, MINIMUM, BADER.
Some types may need some parameters given in the remaining fields of the row.
(the valid options are detailed below).
%LocalDomains
case (SPHERE): | rsize | %
case (CYLINDER): | rsize | xsize | %
case (PARALLELEPIPED): | %
case (MINIMUM): | rsize | ‘center_list’
case (BADER): | ‘center_list’
%
rsize: Radius in input length units
xsize: the length of the cylinder in the x-direction
origin coordinates: in input length units separated by |, where the box is centered.
lsize: half of the length of the parallelepiped in each direction.
center_list: string containing the list of atoms in xyz file for each domain in the form "2,16-23"
Name LocalMagneticMomentsSphereRadius
Section Output
Type float
The local magnetic moments are calculated by integrating the
magnetization density in spheres centered around each atom.
This variable controls the radius of the spheres.
The default is half the minimum distance between two atoms
in the input coordinates, or 100 a.u. if there is only one atom (for isolated systems).
Name LRConvAbsDens
Section Linear Response::SCF in LR calculations
Type float
Default 1e-5
The tolerance in the absolute variation of the density response, to determine if
the SCF for linear response is converged.
$\varepsilon = \int {\rm d}^3r \left| \rho^{out}(\bf r) -\rho^{inp}(\bf r) \right|$.
A zero value means do not use this criterion.
Name LRConvRelDens
Section Linear Response::SCF in LR calculations
Type float
Default 0.0
The tolerance in the relative variation of the density response, to determine if
the SCF for linear response is converged.
$\varepsilon = \frac{1}{N_{\rm elec}}$ LRConvAbsDens.
A zero value means do not use this criterion.
Name LRMaximumIter
Section Linear Response::SCF in LR calculations
Type integer
Default 200
The maximum number of SCF iterations to calculate response.
Name LRTolAdaptiveFactor
Section Linear Response::SCF in LR calculations
Type float
Default 0.1
This factor controls how much the tolerance is decreased
during the self-consistency process. Smaller values mean that
tolerance is decreased faster.
Name LRTolFinalTol
Section Linear Response::Solver
Type float
Default 1e-6
This is the tolerance to determine that the linear solver has converged.
Name LRTolInitTol
Section Linear Response::Solver
Type float
Default 1e-2
This is the tolerance to determine that the linear solver has converged,
for the first SCF iteration. Ignored if LRTolScheme = fixed.
Name LRTolIterWindow
Section Linear Response::SCF in LR calculations
Type float
Default 10
Number of iterations necessary to reach the final tolerance.
Name LRTolScheme
Section Linear Response::SCF in LR calculations
Type integer
Default tol_adaptive
The scheme used to adjust the tolerance of the solver during
the SCF iteration. For kdotp and magnetic em_resp modes, or
whenever HamiltonianVariation = V_ext_only, the
scheme is set to tol_fixed, and this variable is ignored.
Options:
- tol_fixed:
The solver tolerance is fixed for all the iterations; this
improves convergence but increases the computational cost
- tol_adaptive:
The tolerance is increased according to the level of
convergence of the SCF.
- tol_linear:
The tolerance decreases linearly for the first LRTolIterWindow iterations.
- tol_exp:
The tolerance decreases exponentially for the first LRTolIterWindow iterations.
Name Lsize
Section Mesh::Simulation Box
Type block
If BoxShape is parallelepiped, hypercube,
box_image, or user_defined, this is a
block of the form:
%Lsize
sizex | sizey | sizez | …
%
where the size* are half the lengths of the box in each direction.
The number of columns must match the dimensionality of the
calculation. If you want a cube you can also set Lsize as a
single variable.