CalculateSelfInducedMagneticField
Section: Hamiltonian
Type: logical
Default: no
The existence of an electronic current implies the creation of a self-induced magnetic
field, which may in turn back-react on the system. Of course, a fully consistent treatment
of this kind of effect should be done in QED theory, but we will attempt a first
approximation to the problem by considering the lowest-order relativistic terms
plugged into the normal Hamiltonian equations (spin-other-orbit coupling terms, etc.).
For the moment being, none of this is done, but a first step is taken by calculating
the induced magnetic field of a system that has a current, by considering the magnetostatic
approximation and Biot-Savart law:
\( \nabla^2 \vec{A} + 4\pi\alpha \vec{J} = 0\)
\( \vec{B} = \vec{\nabla} \times \vec{A}\)
If CalculateSelfInducedMagneticField is set to yes, this B field is
calculated at the end of a gs calculation (nothing is done -- yet -- in the tdcase)
and printed out, if the Output variable contains the potential keyword (the prefix
of the output files is Bind).
ClassicalPotential
Section: Hamiltonian
Type: integer
Default: no
Whether and how to add to the external potential the potential generated by
the classical charges read from block PDBClassical, for QM/MM calculations.
Not available in periodic systems.
Options:
CurrentDensity
Section: Hamiltonian
Type: integer
Default: gradient_corrected
This variable selects the method used to
calculate the current density. For the moment this variable is
for development purposes and users should not need to use
it.
Options:
EwaldAlpha
Section: Hamiltonian
Type: float
Default: 0.21
The value 'Alpha' that controls the splitting of the Coulomb
interaction in the Ewald sum used to calculation the ion-ion
interaction for periodic systems. This value affects the speed
of the calculation, normally users do not need to modify it.
FilterPotentials
Section: Hamiltonian
Type: integer
Default: filter_ts
Octopus can filter the pseudopotentials so that they no
longer contain Fourier components larger than the mesh itself. This is
very useful to decrease the egg-box effect, and so should be used in
all instances where atoms move (e.g. geometry optimization,
molecular dynamics, and vibrational modes).
Options:
ForceTotalEnforce
Section: Hamiltonian
Type: logical
Default: no
(Experimental) If this variable is set to "yes", then the sum
of the total forces will be enforced to be zero.
GaugeFieldDelay
Section: Hamiltonian
Type: float
Default: 0.
The application of the gauge field acts as a probe of the system. For dynamical
systems one can apply this probe with a delay relative to the start of the simulation.
GaugeFieldDynamics
Section: Hamiltonian
Type: integer
Default: polarization
This variable select the dynamics of the gauge field used to
apply a finite electric field to periodic systems in
time-dependent runs.
Options:
GaugeFieldPropagate
Section: Hamiltonian
Type: logical
Default: no
Propagate the gauge field with initial condition set by GaugeVectorField or zero if not specified
GaugeVectorField
Section: Hamiltonian
Type: block
The gauge vector field is used to include a uniform (but time-dependent)
external electric field in a time-dependent run for
a periodic system. An optional second row specifies the initial
value for the time derivative of the gauge field (which is set
to zero by default). By default this field is not included.
If KPointsUseSymmetries = yes, then SymmetryBreakDir
must be set in the same direction.
This is used with utility oct-dielectric_function
according to GF Bertsch, J-I Iwata, A Rubio, and K Yabana,
Phys. Rev. B 62, 7998-8002 (2000).
GyromagneticRatio
Section: Hamiltonian
Type: float
Default: 2.0023193043768
The gyromagnetic ratio of the electron. This is of course a physical
constant, and the default value is the exact one that you should not
touch, unless:
(i) You want to disconnect the anomalous Zeeman term in the Hamiltonian
(then set it to zero; this number only affects that term);
(ii) You are using an effective Hamiltonian, as is the case when
you calculate a 2D electron gas, in which case you have an effective
gyromagnetic factor that depends on the material.
IgnoreExternalIons
Section: Hamiltonian
Type: logical
Default: no
If this variable is set to "yes", then the ions that are outside the simulation box do not feel any
external force (and therefore progress at constant velocity), and do not originate any force on other
ions, or any potential on the electronic system.
This feature is only available for finite systems; if the system is periodic in any dimension,
this variable cannot be set to "yes".
MassScaling
Section: Hamiltonian
Type: block
Scaling factor for anisotropic masses (different masses along each
geometric direction).
%MassScaling
1.0 | 1800.0 | 1800.0
%
would fix the mass of the particles to be 1800 along the y and z
directions. This can be useful, e.g., to simulate 3 particles in 1D,
in this case an electron and 2 protons.
ParticleMass
Section: Hamiltonian
Type: float
Default: 1.0
It is possible to make calculations for a particle with a mass
different from one (atomic unit of mass, or mass of the electron).
This is useful to describe non-electronic systems, or for
esoteric purposes.
RashbaSpinOrbitCoupling
Section: Hamiltonian
Type: float
Default: 0.0
(Experimental.) For systems described in 2D (electrons confined to 2D in semiconductor structures), one
may add the Bychkov-Rashba spin-orbit coupling term [Bychkov and Rashba, J. Phys. C: Solid
State Phys. 17, 6031 (1984)]. This variable determines the strength
of this perturbation, and has dimensions of energy times length.
RelativisticCorrection
Section: Hamiltonian
Type: integer
Default: non_relativistic
The default value means that no relativistic correction is used. To
include spin-orbit coupling turn RelativisticCorrection to spin_orbit
(this will only work if SpinComponents has been set to non_collinear, which ensures
the use of spinors).
Options:
SCDMCutoffRadius
Section: Hamiltonian
Type: float
Default: 3. Ang
Controls the size of the box on which the SCDM states are defined (box size = 2*radius).
SCDM_EXX
Section: Hamiltonian
Type: logical
Default: no
If set to yes, and TheoryLevel = hartree_fock,
the Fock operator for exact exchange will be applied with the SCDM method.
SCDM_verbose
Section: Hamiltonian
Type: logical
Default: no
Output detailed information on SCDM procedure.
SOStrength
Section: Hamiltonian
Type: float
Default: 1.0
Tuning of the spin-orbit coupling strength: setting this value to zero turns off spin-orbit terms in
the Hamiltonian, and setting it to one corresponds to full spin-orbit.
StaticElectricField
Section: Hamiltonian
Type: block
Default: 0
A static constant electric field may be added to the usual Hamiltonian,
by setting the block StaticElectricField.
The three possible components of the block (which should only have one
line) are the three components of the electric field vector.
It can be applied in a periodic direction of a large supercell via
the single-point Berry phase.
StaticMagneticField
Section: Hamiltonian
Type: block
A static constant magnetic field may be added to the usual Hamiltonian,
by setting the block StaticMagneticField.
The three possible components of the block (which should only have one
line) are the three components of the magnetic field vector. Note that
if you are running the code in 1D mode, this will not work, and if you
are running the code in 2D mode the magnetic field will have to be in
the z-direction, so that the first two columns should be zero.
Possible in periodic system only in these cases: 2D system, 1D periodic,
with StaticMagneticField2DGauge = linear_y;
3D system, 1D periodic, field is zero in y- and z-directions (given
currently implemented gauges).
The magnetic field should always be entered in atomic units, regardless
of the Units variable. Note that we use the "Gaussian" system
meaning 1 au[B] = \(1.7152553 \times 10^7\) Gauss, which corresponds to
\(1.7152553 \times 10^3\) Tesla.
StaticMagneticField2DGauge
Section: Hamiltonian
Type: integer
Default: linear_xy
The gauge of the static vector potential \(A\) when a magnetic field
\(B = \left( 0, 0, B_z \right)\) is applied to a 2D-system.
Options:
TheoryLevel
Section: Hamiltonian
Type: integer
The calculations can be run with different "theory levels" that
control how electrons are simulated. The default is
dft. When hybrid functionals are requested, through
the XCFunctional variable, the default is
hartree_fock.
Options:
TimeZero
Section: Hamiltonian
Type: logical
Default: no
(Experimental) If set to yes, the ground state and other time
dependent calculation will assume that they are done at time
zero, so that all time depedent field at that time will be
included.
ACBN0RotationallyInvariant
Section: Hamiltonian::DFT+U
Type: logical
If set to yes, Octopus will use for U and J a formula which is rotationally invariant.
This is different from the original formula for U and J.
This is activated by default, except in the case of spinors, as this is not yet implemented in this case.
ACBN0Screening
Section: Hamiltonian::DFT+U
Type: float
Default: 1.0
If set to 0, no screening will be included in the ACBN0 functional, and the U
will be estimated from bare Hartree-Fock. If set to 1 (default), the full screening
of the U, as defined in the ACBN0 functional, is used.
AOLoewdin
Section: Hamiltonian::DFT+U
Type: logical
Default: no
This option determines if the atomic orbital basis is orthogonalized or not.
This is done for using the Loewdin orthogonalization scheme.
The default is set to no for the moment as this option is
not yet implemented for isolated systems, and seems to lead to important egg-box effect
AONormalize
Section: Hamiltonian::DFT+U
Type: logical
Default: yes
If set to yes, Octopus will normalize the atomic orbitals
AOSubmeshForPeriodic
Section: Hamiltonian::DFT+U
Type: logical
Default: no
If set to yes, Octopus will use submeshes to internally store the orbitals with
their phase instead of storing them on the mesh. This is usually slower for small
periodic systems, but becomes advantageous for large supercells.
At the moment this option is not compatible with Loewdin orthogonalization
AOThreshold
Section: Hamiltonian::DFT+U
Type: float
Default: 0.01
Determines the threshold used to compute the radius of the atomic orbitals for LDA+U.
This radius is computed by making sure that the
absolute value of the radial part of the atomic orbital is below the specified threshold.
This value should be converged to be sure that results do not depend on this value.
However increasing this value increases the number of grid points covered by the orbitals and directly affect performances.
AOTruncation
Section: Hamiltonian::DFT+U
Type: flag
Default: ao_full
This option determines how Octopus will truncate the orbitals used for LDA+U.
Except for the full method, the other options are only there to get a quick idea.
Options:
DFTUBasisFromStates
Section: Hamiltonian::DFT+U
Type: logical
Default: no
If set to yes, Octopus will construct the localized basis from
user-defined states. The states are taken at the Gamma point (or the first k-point of the
states in the restart_proj folder.
The states are defined via the block DFTUBasisStates
DFTUBasisStates
Section: Hamiltonian::DFT+U
Type: block
Default: none
Each line of this block contains the index of a state to be used to construct the
localized basis. See DFTUBasisFromStates for details.
DFTUDoubleCounting
Section: Hamiltonian::DFT+U
Type: integer
Default: dft_u_fll
This variable selects which DFT+U
double counting term is used.
Options:
SkipSOrbitals
Section: Hamiltonian::DFT+U
Type: logical
Default: no
If set to yes, Octopus will determine the effective U for all atomic orbitals
from the peusopotential but s orbitals. Only available with ACBN0 functional.
UseAllAtomicOrbitals
Section: Hamiltonian::DFT+U
Type: logical
Default: no
If set to yes, Octopus will determine the effective U for all atomic orbitals
from the peusopotential. Only available with ACBN0 functional.
It is strongly recommended to set AOLoewdin=yes when using the option.
PCMCalcMethod
Section: Hamiltonian::PCM
Type: integer
Default: pcm_direct
Defines the method to be used to obtain the PCM potential.
Options:
PCMCalculation
Section: Hamiltonian::PCM
Type: logical
Default: no
If true, the calculation is performed accounting for solvation effects
by using the Integral Equation Formalism Polarizable Continuum Model IEF-PCM
formulated in real-space and real-time (J. Chem. Phys. 143, 144111 (2015),
Chem. Rev. 105, 2999 (2005), J. Chem. Phys. 139, 024105 (2013)).
At the moment, this option is available only for TheoryLevel = DFT.
PCM is tested for CalculationMode = gs, while still experimental for other values (in particular, CalculationMode = td).
PCMCavity
Section: Hamiltonian::PCM
Type: string
Name of the file containing the geometry of the cavity hosting the solute molecule.
The data must be in atomic units and the file must contain the following information sequentially:
T < Number of tesserae
s_x(1:T) < coordinates x of the tesserae
s_y(1:T) < coordinates y of the tesserae
s_z(1:T) < coordinates z of the tesserae
A(1:T) < areas of the tesserae
R_sph(1:T) < Radii of the spheres to which the tesserae belong
normal(1:T,1:3) < Outgoing unitary vectors at the tesserae surfaces
PCMChargeSmearNN
Section: Hamiltonian::PCM
Type: integer
Default: 2 * max_area * PCMSmearingFactor
Defines the number of nearest neighbor mesh-points to be taken around each
cavity tessera in order to smear the charge when PCMCalcMethod = pcm_poisson.
Setting PCMChargeSmearNN = 1 means first nearest neighbors, PCMChargeSmearNN = 2
second nearest neighbors, and so on.
The default value is such that the neighbor mesh contains points in a radius
equal to the width used for the gaussian smearing.
PCMDebyeRelaxTime
Section: Hamiltonian::PCM
Type: float
Default: 0.0
Relaxation time of the solvent within Debye model (\(\tau\)). Recall Debye dieletric function:
\(\varepsilon(\omega)=\varepsilon_d+\frac{\varepsilon_0-\varepsilon_d}{1-i\omega\tau}\)
PCMDrudeLDamping
Section: Hamiltonian::PCM
Type: float
Default: 0.0
Damping factor of the solvent charges oscillations within Drude-Lorentz model (\(\gamma\)).
Recall Drude-Lorentz dielectric function: \(\varepsilon(\omega)=1+\frac{A}{\omega_0^2-\omega^2+i\gamma\omega}\)
PCMDrudeLOmega
Section: Hamiltonian::PCM
Type: float
Default: \(\sqrt{1/(\varepsilon_0-1)}\)
Resonance frequency of the solvent within Drude-Lorentz model (\(\omega_0\)).
Recall Drude-Lorentz dielectric function: \(\varepsilon(\omega)=1+\frac{A}{\omega_0^2-\omega^2+i\gamma\omega}\)
Default values of \(\omega_0\) guarantee to recover static dielectric constant.
PCMDynamicEpsilon
Section: Hamiltonian::PCM
Type: float
Default: PCMStaticEpsilon
High-frequency dielectric constant of the solvent (\(\varepsilon_d\)).
\(\varepsilon_d=\varepsilon_0\) indicate equilibrium with solvent.
PCMEoM
Section: Hamiltonian::PCM
Type: logical
Default: no
If .false. the propagation of the solvent polarization charges is history independent.
If .true. the propagation of the solvent polarization charges follows an equation of motion.
For the moment, the choices of equation of motion ensue from either Debye (default) or Drude-Lorentz dielectric models.
You can change the default model by setting the variable PCMEpsilonModel to the other available value 'drl'.
PCMEoMInitialCharges
Section: Hamiltonian::PCM
Type: integer
Default: 0
If =0 the propagation of the solvent polarization charges starts from internally generated initial charges
in equilibrium with the initial potential.
For Debye EOM-PCM, if >0 the propagation of the solvent polarization charges starts from initial charges from input file.
if =1, initial pol. charges due to solute electrons are read from input file.
else if =2, initial pol. charges due to external potential are read from input file.
else if =3, initial pol. charges due to solute electrons and external potential are read from input file.
Files should be located in pcm directory and are called ASC_e.dat and ASC_ext.dat, respectively.
The latter files are generated after any PCM run and contain the last values of the polarization charges.
PCMEpsilonModel
Section: Hamiltonian::PCM
Type: string
Default: 'deb'
Define the dielectric function model. For the moment, the choice is between:
1) Debye model ('deb'): \(\varepsilon(\omega)=\varepsilon_d+\frac{\varepsilon_0-\varepsilon_d}{1-i\omega\tau}\)
2) Drude-Lorentz ('drl') model: \(\varepsilon(\omega)=1+\frac{A}{\omega_0^2-\omega^2+i\gamma\omega}\)
PCMGamessBenchmark
Section: Hamiltonian::PCM
Type: logical
Default: .false.
If PCMGamessBenchmark is set to "yes", the pcm_matrix is also written in a Gamess format.
for benchamarking purposes.
PCMKick
Section: Hamiltonian::PCM
Type: logical
Default: no
This variable controls the effect the kick has on the polarization of the solvent.
If .true. ONLY the FAST degrees-of-freedom of the solvent follow the kick. The potential due to polarization charges behaves
as another kick, i.e., it is a delta-perturbation.
If .false. ALL degrees-of-freedom of the solvent follow the kick. The potential due to polarization charges evolves
following an equation of motion. When Debye dielectric model is used, just a part of the potential behaves as another kick.
PCMLocalField
Section: Hamiltonian::PCM
Type: logical
Default: no
This variable is a flag for including local field effects when an external field is applied. The total field interacting with
the molecule (also known as cavity field) is not the bare field in the solvent (the so-called Maxwell field), but it also
include a contribution due to the polarization of the solvent. The latter is calculated here within the PCM framework.
PCMNonequilibrium
Section: Hamiltonian::PCM
Type: logical
Default: no
If .false. the solvent polarization follows instantaneously the changes in solute density or in the external field.
If .true. the solvent polarization charges either:
1) evolves following an equation of motion (when PCMEoM is also true); or
2) they are splitted in two terms:
one that follows instantaneously the changes in the solute density or in the external field (dynamical polarization charges),
and another that lag behind in the evolution w.r.t. the solute density or the external field (inertial polarization charges).
PCMQtotTol
Section: Hamiltonian::PCM
Type: float
Default: 0.5
If PCMRenormCharges=.true. and \(\delta Q = |[\sum_i q_i| - ((\epsilon-1)/\epsilon)*|Q_M]|>PCMQtotTol\)
the polarization charges will be normalized as
\(q_i^\prime=q_i + signfunction(e, n, \delta Q) (q_i/q_{tot})*\delta Q\)
with \(q_{tot} = \sum_i q_i\). For values of \(\delta Q > 0.5\)
(printed by the code in the file pcm/pcm_info.out) even, if polarization charges are renormalized,
the calculated results might be inaccurate or erroneous.
PCMRadiusScaling
Section: Hamiltonian::PCM
Type: float
Scales the radii of the spheres used to build the solute cavity surface.
The default value depends on the choice of PCMVdWRadii:
1.2 for pcm_vdw_optimized and 1.0 for pcm_vdw_species.
PCMRenormCharges
Section: Hamiltonian::PCM
Type: logical
Default: .false.
If .true. renormalization of the polarization charges is performed to enforce fulfillment
of the Gauss law, \(\sum_i q_i^{e/n} = -[(\epsilon-1)/\epsilon] Q_M^{e/n}\) where
\(q_i^{e/n}\) are the polarization charges induced by the electrons/nuclei of the molecule
and \(Q_M^{e/n}\) is the nominal electronic/nuclear charge of the system. This can be needed
to treat molecules in weakly polar solvents.
PCMSmearingFactor
Section: Hamiltonian::PCM
Type: float
Default: 1.0
Parameter used to control the width (area of each tessera) of the Gaussians used to distribute
the polarization charges on each tessera (arXiv:1507.05471). If set to zero, the solvent
reaction potential in real-space is defined by using point charges.
PCMSolute
Section: Hamiltonian::PCM
Type: logical
Default: yes
This variable is a flag for including polarization effects of the solvent due to the solute.
(Useful for analysis) When external fields are applied, turning off the solvent-molecule interaction (PCMSolute=no) and
activating the solvent polarization due to the applied field (PCMLocalField=yes) allows to include only local field effects.
PCMSpheresOnH
Section: Hamiltonian::PCM
Type: logical
Default: no
If true, spheres centered at the Hydrogens atoms are included to build the solute cavity surface.
PCMStaticEpsilon
Section: Hamiltonian::PCM
Type: float
Default: 1.0
Static dielectric constant of the solvent (\(\varepsilon_0\)). 1.0 indicates gas phase.
PCMTessMinDistance
Section: Hamiltonian::PCM
Type: float
Default: 0.1
Minimum distance between tesserae.
Any two tesserae having smaller distance in the starting tesselation will be merged together.
PCMTessSubdivider
Section: Hamiltonian::PCM
Type: integer
Default: 1
Allows to subdivide further each tessera refining the discretization of the cavity tesselation.
Can take only two values, 1 or 4. 1 corresponds to 60 tesserae per sphere, while 4 corresponds to 240 tesserae per sphere.
PCMUpdateIter
Section: Hamiltonian::PCM
Type: integer
Default: 1
Defines how often the PCM potential is updated during time propagation.
PCMVdWRadii
Section: Hamiltonian::PCM
Type: integer
Default: pcm_vdw_optimized
This variable selects which van der Waals radius will be used to generate the solvent cavity.
Options:
AlphaFMM
Section: Hamiltonian::Poisson
Type: float
Default: 0.291262136
Dimensionless parameter for the correction of the self-interaction of the
electrostatic Hartree potential, when using PoissonSolver = FMM.
Octopus represents charge density on a real-space grid, each
point containing a value \(\rho\) corresponding to the charge
density in the cell centered in such point. Therefore, the
integral for the Hartree potential at point \(i\), \(V_H(i)\), can be reduced to a summation:
\(V_H(i) = \frac{\Omega}{4\pi\varepsilon_0} \sum_{i \neq j}
\frac{\rho(\vec{r}(j))}{|\vec{r}(j) - \vec{r}(i)|} + V_{self.int.}(i)\)
where \(\Omega\) is the volume element of the mesh, and \(\vec{r}(j)\) is the
position of the point \(j\). The \(V_{self.int.}(i)\) corresponds to
the integral over the cell centered on the point \(i\) that is necessary to
calculate the Hartree potential at point \(i\):
\(V_{self.int.}(i)=\frac{1}{4\pi\varepsilon_0}
\int_{\Omega(i)}d\vec{r} \frac{\rho(\vec{r}(i))}{|\vec{r}-\vec{r}(i)|}\)
In the FMM version implemented into Octopus, a correction method
for \(V_H(i)\) is used
(see García-Risueño et al., J. Comp. Chem. 35, 427 (2014)).
This method defines cells neighbouring cell \(i\), which
have volume \(\Omega(i)/8\) (in 3D) and charge density obtained by
interpolation. In the calculation of \(V_H(i)\), in order to avoid
double counting of charge, and to cancel part of the errors arising
from considering the distances constant in the summation above, a
term \(-\alpha_{FMM}V_{self.int.}(i)\) is added to the summation (see
the paper for the explicit formulae).
DeltaEFMM
Section: Hamiltonian::Poisson
Type: float
Default: 0.0001
Dimensionless parameter for relative convergence of PoissonSolver = FMM.
Sets energy error bound.
Strong inhomogeneous systems may violate the error bound.
For inhomogeneous systems we have an error-controlled sequential version available
(from Ivo Kabadshow).
Our implementation of FMM (based on H. Dachsel, J. Chem. Phys. 131,
244102 (2009)) can keep the error of the Hartree energy below an
arbitrary bound. The quotient of the value chosen for the maximum
error in the Hartree energy and the value of the Hartree energy is
DeltaEFMM.
Poisson1DSoftCoulombParam
Section: Hamiltonian::Poisson
Type: float
Default: 1.0 bohr
When Dimensions = 1, to prevent divergence, the Coulomb interaction treated by the Poisson
solver is not \(1/r\) but \(1/\sqrt{a^2 + r^2}\), where this variable sets the value of \(a\).
PoissonCutoffRadius
Section: Hamiltonian::Poisson
Type: float
When PoissonSolver = fft and PoissonFFTKernel is neither multipole_corrections
nor fft_nocut,
this variable controls the distance after which the electron-electron interaction goes to zero.
A warning will be written if the value is too large and will cause spurious interactions between images.
The default is half of the FFT box max dimension in a finite direction.
PoissonFFTKernel
Section: Hamiltonian::Poisson
Type: integer
Defines which kernel is used to impose the correct boundary
conditions when using FFTs to solve the Poisson equation. The
default is selected depending on the dimensionality and
periodicity of the system:
In 1D, spherical if finite, fft_nocut if periodic.
In 2D, spherical if finite, cylindrical if 1D-periodic, fft_nocut if 2D-periodic.
In 3D, spherical if finite, cylindrical if 1D-periodic, planar if 2D-periodic,
fft_nocut if 3D-periodic.
See C. A. Rozzi et al., Phys. Rev. B 73, 205119 (2006) for 3D implementation and
A. Castro et al., Phys. Rev. B 80, 033102 (2009) for 2D implementation.
Options:
PoissonSolver
Section: Hamiltonian::Poisson
Type: integer
Defines which method to use to solve the Poisson equation. Some incompatibilities apply depending on
dimensionality, periodicity, etc.
For a comparison of the accuracy and performance of the methods in Octopus, see P Garcia-Risueño,
J Alberdi-Rodriguez et al., J. Comp. Chem. 35, 427-444 (2014)
or arXiV.
Defaults:
1D and 2D: fft.
3D: cg_corrected if curvilinear, isf if not periodic, fft if periodic.
Options:
PoissonSolverBoundaries
Section: Hamiltonian::Poisson
Type: integer
Default: multipole
For finite systems, some Poisson solvers (multigrid,
cg_corrected, and fft with PoissonFFTKernel = multipole_correction)
require the calculation of the
boundary conditions with an auxiliary method. This variable selects that method.
Options:
PoissonSolverMaxIter
Section: Hamiltonian::Poisson
Type: integer
Default: 400
The maximum number of iterations for conjugate-gradient
Poisson solvers.
PoissonSolverMaxMultipole
Section: Hamiltonian::Poisson
Type: integer
Order of the multipolar expansion for boundary corrections.
The Poisson solvers multigrid, cg, and cg_corrected
(and fft with PoissonFFTKernel = multipole_correction)
do a multipolar expansion of the given
charge density, such that \(\rho = \rho_{multip.expansion}+\Delta
\rho\). The Hartree potential due to the \(\rho_{multip.expansion}\) is
calculated analytically, while the Hartree potential due to \(\Delta \rho\)
is calculated with either a multigrid or cg solver.
The order of the multipolar expansion is set by this variable.
Default is 4 for PoissonSolver = cg_corrected and multigrid, and 2
for fft with PoissonFFTKernel = multipole_correction.
PoissonSolverNodes
Section: Hamiltonian::Poisson
Type: integer
Default: 0
How many nodes to use to solve the Poisson equation. A value of
0, the default, implies that all available nodes are used.
PoissonSolverThreshold
Section: Hamiltonian::Poisson
Type: float
Default: 1e-5
The tolerance for the Poisson solution, used by the cg,
cg_corrected, and multigrid solvers.
PoissonSolverISFParallelData
Section: Hamiltonian::Poisson::ISF
Type: logical
Default: yes
Indicates whether data is partitioned within the ISF library.
If data is distributed among processes, Octopus uses parallel data-structures
and, thus, less memory.
If "yes", data is parallelized. The z-axis of the input vector
is split among the MPI processes.
If "no", entire input and output vector is saved in all the MPI processes.
If k-points parallelization is used, "no" must be selected.
PoissonSolverMGMaxCycles
Section: Hamiltonian::Poisson::Multigrid
Type: integer
Default: 60
Maximum number of multigrid cycles that are performed if
convergence is not achieved.
PoissonSolverMGPostsmoothingSteps
Section: Hamiltonian::Poisson::Multigrid
Type: integer
Default: 4
Number of Gauss-Seidel smoothing steps after coarse-level
correction in the multigrid Poisson solver.
PoissonSolverMGPresmoothingSteps
Section: Hamiltonian::Poisson::Multigrid
Type: integer
Default: 1
Number of Gauss-Seidel smoothing steps before coarse-level
correction in the multigrid Poisson solver.
PoissonSolverMGRelaxationFactor
Section: Hamiltonian::Poisson::Multigrid
Type: float
Relaxation factor of the relaxation operator used for the
multigrid method. This is mainly for debugging,
since overrelaxation does not help in a multigrid scheme.
The default is 1.0, except 0.6666 for the gauss_jacobi method.
PoissonSolverMGRelaxationMethod
Section: Hamiltonian::Poisson::Multigrid
Type: integer
Method used to solve the linear system approximately in each grid for the
multigrid procedure that solves Poisson equation. Default is gauss_seidel,
unless curvilinear coordinates are used, in which case the default is gauss_jacobi.
Options:
PoissonSolverMGRestrictionMethod
Section: Hamiltonian::Poisson::Multigrid
Type: integer
Default: fullweight
Method used from fine-to-coarse grid transfer.
Options:
DFTULevel
Section: Hamiltonian::XC
Type: integer
Default: no
(Experimental) This variable selects which DFT+U
expression is added to the Hamiltonian.
Options:
Interaction1D
Section: Hamiltonian::XC
Type: integer
Default: interaction_soft_coulomb
When running in 1D, one has to soften the Coulomb interaction. This softening
is not unique, and several possibilities exist in the literature.
Options:
Interaction1DScreening
Section: Hamiltonian::XC
Type: float
Default: 1.0
Defines the screening parameter \(\alpha\) of the softened Coulomb interaction
when running in 1D.
LB94_modified
Section: Hamiltonian::XC
Type: logical
Default: no
Whether to use a modified form of the LB94 functional (XCFunctional = xc_gga_x_lb).
LB94_threshold
Section: Hamiltonian::XC
Type: float
Default: 1.0e-6
A threshold for the LB94 functional (XCFunctional = xc_gga_x_lb).
OEPLevel
Section: Hamiltonian::XC
Type: integer
Default: oep_kli
At what level shall Octopus handle the optimized effective potential (OEP) equation.
Options:
OEPMixing
Section: Hamiltonian::XC
Type: float
Default: 1.0
The linear mixing factor used to solve the Sternheimer
equation in the full OEP procedure.
SICCorrection
Section: Hamiltonian::XC
Type: integer
Default: sic_none
This variable controls which form of self-interaction correction to use. Note that
this correction will be applied to the functional chosen by XCFunctional.
Options:
VDWCorrection
Section: Hamiltonian::XC
Type: integer
Default: no
(Experimental) This variable selects which van der Waals
correction to apply to the correlation functional.
Options:
VDWD3Functional
Section: Hamiltonian::XC
Type: string
(Experimental) You can use this variable to override the
parametrization used by the DFT-D3 van deer Waals
correction. Normally you need not set this variable, as the
proper value will be selected by Octopus (if available).
This variable takes a string value, the valid values can
be found in the source file 'external_libs/dftd3/core.f90'.
For example you can use:
VDWD3Functional = 'pbe'
VDWSelfConsistent
Section: Hamiltonian::XC
Type: logical
Default: yes
This variable controls whether the VDW correction is applied
self-consistently, the default, or just as a correction to
the total energy. This option only works with vdw_ts.
VDW_TS_cutoff
Section: Hamiltonian::XC
Type: float
Default: 10.0
Set the value of the cutoff (unit of length) for the VDW correction in periodic system
in the Tkatchenko and Scheffler (vdw_ts) scheme only.
VDW_TS_damping
Section: Hamiltonian::XC
Type: float
Default: 20.0
Set the value of the damping function (in unit of 1/length) steepness for the VDW correction in the
Tkatchenko-Scheffler scheme. See Equation (12) of Phys. Rev. Lett. 102 073005 (2009).
VDW_TS_sr
Section: Hamiltonian::XC
Type: float
Default: 0.94
Set the value of the sr parameter in the damping function of the VDW correction in the
Tkatchenko-Scheffler scheme. See Equation (12) of Phys. Rev. Lett. 102 073005 (2009).
This parameter depends on the xc functional used.
The default value is 0.94, which holds for PBE. For PBE0, a value of 0.96 should be used.
XCFunctional
Section: Hamiltonian::XC
Type: integer
Defines the exchange and correlation functionals to be used,
specified as a sum of an exchange functional and a
correlation functional, or a single exchange-correlation functional
(e.g. hyb_gga_xc_pbeh). For more information on the functionals, see
Libxc documentation. The list provided here is from libxc 4; if you have
linked against a different libxc version, you may have a somewhat different set
of available functionals. Note that kinetic-energy functionals are not supported.
The default functional will be selected by Octopus to be consistent
with the pseudopotentials you are using. If you are not using
pseudopotentials, Octopus cannot determine the functional used to
generate the pseudopotential, or the pseudopotential functionals
are inconsistent, Octopus will use the following defaults:
1D: lda_x_1d + lda_c_1d_csc
2D: lda_x_2d + lda_c_2d_amgb
3D: lda_x + lda_c_pz_mod
Options:
XCKernel
Section: Hamiltonian::XC
Type: integer
Defines the exchange-correlation kernel. Only LDA kernels are available currently.
The options are the same as XCFunctional.
Note: the kernel is only needed for Casida, Sternheimer, or optimal-control calculations.
Defaults:
1D: lda_x_1d + lda_c_1d_csc
2D: lda_x_2d + lda_c_2d_amgb
3D: lda_x + lda_c_pz_mod
Options:
XCKernelLRCAlpha
Section: Hamiltonian::XC
Type: float
Default: 0.0
Set to a non-zero value to add a long-range correction for solids to the kernel.
This is the \(\alpha\) parameter defined in S. Botti et al., Phys. Rev. B
69, 155112 (2004). The \(\Gamma = \Gamma` = 0\) term \(-\alpha/q^2\) is taken
into account by introducing an additional pole to the polarizability (see R. Stubner
et al., Phys. Rev. B 70, 245119 (2004)). The rest of the terms are included by
multiplying the Hartree term by \(1 - \alpha / 4 \pi\). The use of non-zero
\(\alpha\) in combination with HamiltonianVariation = V_ext_only
corresponds to account of only the \(\Gamma = \Gamma` = 0\) term.
Applicable only to isotropic systems. (Experimental)
XCUseGaugeIndependentKED
Section: Hamiltonian::XC
Type: logical
Default: yes
If true, when evaluating the XC functional, a term including the (paramagnetic or total) current
is added to the kinetic-energy density such as to make it gauge-independent.
Applies only to meta-GGA (and hybrid meta-GGA) functionals.
Xalpha
Section: Hamiltonian::XC
Type: float
Default: 1.0
The parameter of the Slater X\(\alpha\) functional. Applies only for
XCFunctional = xc_lda_c_xalpha.
libvdwxcDebug
Section: Hamiltonian::XC
Type: logical
Dump libvdwxc inputs and outputs to files.
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:
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.
XCDensityCorrection
Section: Hamiltonian::XC::DensityCorrection
Type: integer
Default: none
This variable controls the long-range correction of the XC
potential using the XC density representation.
Options:
XCDensityCorrectionCutoff
Section: Hamiltonian::XC::DensityCorrection
Type: float
Default: 0.0
The value of the cutoff applied to the XC density.
XCDensityCorrectionMinimum
Section: Hamiltonian::XC::DensityCorrection
Type: logical
Default: true
When enabled, the cutoff optimization will
return the first minimum of the \(q_{xc}\) function if it does
not find a value of -1 (details).
This is required for atoms or small
molecules, but may cause numerical problems.
XCDensityCorrectionNormalize
Section: Hamiltonian::XC::DensityCorrection
Type: logical
Default: true
When enabled, the correction will be
normalized to reproduce the exact boundary conditions of
the XC potential.
XCDensityCorrectionOptimize
Section: Hamiltonian::XC::DensityCorrection
Type: logical
Default: true
When enabled, the density cutoff will be
optimized to replicate the boundary conditions of the exact
XC potential. If the variable is set to no, the value of
the cutoff must be given by the XCDensityCorrectionCutoff
variable.