E
Name 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), except that when parallelization in states is
enabled, the default is rmmdiis.
Options:
- cg:
Conjugate-gradients algorithm.
- plan:
Preconditioned Lanczos scheme. Ref: Y. Saad, A. Stathopoulos, J. Chelikowsky, K. Wu and S. Ogut,
"Solution of Large Eigenvalue Problems in Electronic Structure Calculations", BIT 36, 1 (1996).
- cg_new:
An alternative conjugate-gradients eigensolver, faster for
larger systems but less mature.
Ref: Jiang et al., Phys. Rev. B 68, 165337 (2003)
- evolution:
(Experimental) Propagation in imaginary time.
- rmmdiis:
Residual minimization scheme, direct inversion in the
iterative subspace eigensolver, based on the implementation of
Kresse and Furthmüller [Phys. Rev. B 54, 11169
(1996)]. This eigensolver requires almost no orthogonalization
so it can be considerably faster than the other options for
large systems. To improve its performance a large number of ExtraStates
are required (around 10-20% of the number of occupied states).
Note: with unocc, you will need to stop the calculation
by hand, since the highest states will probably never converge.
Usage with more than one block of states per node is experimental, unfortunately.
- chebyshev_filter:
A Chebyshev-filtered subspace iteration method, which avoids most of the explicit computation of
eigenvectors and results in a significant speedup over iterative diagonalization methods.
This method may be viewed as an approach to solve the original nonlinear Kohn-Sham equation by a
nonlinear subspace iteration technique, without emphasizing the intermediate linearized Kohn-Sham
eigenvalue problems. For further details, see [Zhou et. al.](http://dx.doi.org/10.1016/j.jcp.2014.06.056)
Name EigensolverImaginaryTime
Section SCF::Eigensolver
Type float
Default 0.1
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.
Increasing this value can make the propagation faster, but could lead to unstable propagations.
Name 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 5 iterations.
Increasing this value for rmdiis increases the convergence speed,
at the cost of an increased memory footprint.
In the case of imaginary time propatation, this variable controls the number of iterations
for which the Hxc potential is frozen. Default is 1 for the imaginary time evolution.
Name EigensolverMinimizationIter
Section SCF::Eigensolver
Type integer
Default 0
During the first iterations, the RMMDIIS eigensolver requires
some steepest-descent minimizations to improve
convergence. This variable determines the number of those
minimizations.
Name EigensolverTolerance
Section SCF::Eigensolver
Type float
This is the tolerance for the eigenvectors. The default is 1e-7.
Name ELFWithCurrentTerm
Section Output
Type logical
Default true
The ELF, when calculated for complex wavefunctions, should contain
a term dependent on the current. This term is properly calculated by
default; however, for research purposes it may be useful not to add it.
If this feature proves to be useless, this option should go away.
Name EMCalcBornCharges
Section Linear Response::Polarizabilities
Type logical
Default false
Calculate linear-response Born effective charges from electric perturbation (experimental).
Name EMCalcDiagonalField
Section Linear Response::Static Polarization
Type logical
Default true
Calculate yz-field for $\beta_{xyz}$ hyperpolarizability, which is sometimes harder to converge.
Only applies if ResponseMethod = finite_differences.
Name EMCalcMagnetooptics
Section Linear Response::Polarizabilities
Type logical
Default false
Calculate magneto-optical response.
Name EMCalcRotatoryResponse
Section Linear Response::Polarizabilities
Type logical
Default false
Calculate circular-dichroism spectrum from electric perturbation,
and write to file rotatory_strength.
Name EMEta
Section Linear Response::Polarizabilities
Type float
Default 0.0
The imaginary part of the frequency, effectively a Lorentzian broadening
for peaks in the spectrum. It can help convergence of the SCF cycle for the
Sternheimer equation when on a resonance, and it can be used as a positive
infinitesimal to get the imaginary parts of response functions at poles.
In units of energy. Cannot be negative.
Name EMForceNoKdotP
Section Linear Response::Polarizabilities
Type logical
Default false
If the system is periodic, by default wavefunctions from a previous kdotp run will
be read, to be used in the formulas for the polarizability and
hyperpolarizability in the quantum theory of polarization. For testing purposes,
you can set this variable to true to disregard the kdotp run, and use the formulas
for the finite system. This variable has no effect for a finite system.
Name EMFreqs
Section Linear Response::Polarizabilities
Type block
This block defines for which frequencies the polarizabilities
will be calculated. If it is not present, the static ($\omega = 0$) response
is calculated.
Each row of the block indicates a sequence of frequency values, the first column is an integer that indicates the number of steps, the second number is the initial frequency, and the third number the final frequency. If the first number is one, then only the initial value is considered. The block can have any number of rows. Consider the next example:
%EMFreqs
31 | 0.0 | 1.0
1 | 0.32
%
Name EMFreqsSort
Section Linear Response::Polarizabilities
Type logical
Default true
If true, the frequencies specified by the EMFreqs block are sorted, so that
they are calculated in increasing order. Can be set to false to use the order as stated,
in case this makes better use of available restart information.
Name EMHyperpol
Section Linear Response::Polarizabilities
Type block
This block describes the multiples of the frequency used for
the dynamic hyperpolarizability. The results are written to the
file beta in the directory for the first multiple.
There must be three factors, summing to zero: $\omega_1 + \omega_2 + \omega_3 = 0$.
For example, for second-harmonic generation, you could use
1 | 1 | -2.
Name EMKPointOutput
Section Linear Response::Polarizabilities
Type logical
Default false
Give in the output contributions of different k-points to the dielectric constant.
Can be also used for magneto-optical effects.
Name EMMagnetoopticsNoHVar
Section Linear Response::Polarizabilities
Type logical
Default true
Exclude corrections to the exchange-correlation and Hartree terms
from consideration of perturbations induced by a magnetic field
Name EMOccupiedResponse
Section Linear Response::Polarizabilities
Type logical
Default false
Solve for full response without projector into unoccupied subspace.
Not possible if there are partial occupations.
When EMHyperpol is set for a periodic system, this variable is ignored and
the full response is always calculated.
Name EMPerturbationType
Section Linear Response::Polarizabilities
Type integer
Default electric
Which perturbation to consider for electromagnetic linear response.
Options:
- electric:
Electric perturbation used to calculate electric polarizabilities
and hyperpolarizabilities.
- magnetic:
Magnetic perturbation used to calculate magnetic susceptibilities.
- none:
Zero perturbation, for use in testing.
Name EMStartDensityIsZeroField
Section Linear Response::Static Polarization
Type logical
Default true
Use the charge density from the zero-field calculation as the starting density for
SCF calculations with applied fields. For small fields, this will be fastest.
If there is trouble converging with larger fields, set to false,
to initialize the calculation for each field from scratch, as specified by the LCAO variables.
Only applies if ResponseMethod = finite_differences.
Name EMStaticElectricField
Section Linear Response::Static Polarization
Type float
Default 0.01 a.u.
Magnitude of the static electric field used to calculate the static polarizability,
if ResponseMethod = finite_differences.
Name EMVerbose
Section Linear Response::Static Polarization
Type logical
Default false
Write full SCF output.
Only applies if ResponseMethod = finite_differences.
Name EMWavefunctionsFromScratch
Section Linear Response::Polarizabilities
Type logical
Default false
Do not use saved linear-response wavefunctions from a previous run as starting guess.
Instead initialize to zero as in FromScratch, but restart densities will still
be used. Restart wavefunctions from a very different frequency can hinder convergence.
Name EMWriteRestartDensities
Section Linear Response::Static Polarization
Type logical
Default true
Write density after each calculation for restart, rather than just the resulting electronic dipole moment.
Only applies if ResponseMethod = finite_differences. Restarting from calculations at smaller
fields can be helpful if there are convergence problems.
Name EnablePhotons
Section Hamiltonian
Type logical
Default no
This variable can be used to enable photons in several types of calculations.
It can be used to activate the one-photon OEP formalism.
In the case of CalculationMode = casida, it enables photon modes as
described in ACS Photonics 2019, 6, 11, 2757-2778.
Finally, if set to yes when solving the ferquency-dependent Sternheimer
equation, the photons are coupled to the electronic subsystem.
Name 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.
Name ExcessCharge
Section States
Type float
Default 0.0
The net charge of the system. A negative value means that we are adding
electrons, while a positive value means we are taking electrons
from the system.
Name ExperimentalFeatures
Section Execution::Debug
Type logical
Default no
If true, allows the use of certain parts of the code that are
still under development and are not suitable for production
runs. This should not be used unless you know what you are doing.
See details on
wiki page.
Name ExternalCurrent
Section Hamiltonian
Type logical
Default no
If an external current density will be used.
Name ExtraStates
Section States
Type integer
Default 0
The number of states is in principle calculated considering the minimum
numbers of states necessary to hold the electrons present in the system.
The number of electrons is
in turn calculated considering the nature of the species supplied in the
Species block, and the value of the ExcessCharge variable.
However, one may command Octopus to use more states, which is necessary if one wants to
use fractional occupational numbers, either fixed from the beginning through
the Occupations block or by prescribing
an electronic temperature with Smearing, or in order to calculate
excited states (including with CalculationMode = unocc).
Name ExtraStatesInPercent
Section States
Type float
Default 0
This variable allows to set the number of extra/empty states as percentage of the
used occupied states. For example, a value 35 for ExtraStatesInPercent would amount
to int(35/100 * nstates) extra states, where nstates denotes the amount of occupied
states Octopus is using for the system at hand.
Name ExtraStatesToConverge
Section States
Type integer
Default 0
Only for unocc calculations.
Specifies the number of extra states that will be considered for reaching the convergence.
Together with ExtraStates, one can have some more states which will not be
considered for the convergence criteria, thus making the convergence of the
unocc calculation faster.
By default, all extra states need to be converged.