Hamiltonian
Name AdaptivelyCompressedExchange
Section Hamiltonian
Type logical
Default false
(Experimental) If set to yes, Octopus will use the adaptively compressed exchange
operator (ACE) for HF and hybrid calculations, as defined in
Lin, J. Chem. Theory Comput. 2016, 12, 2242.
Name CalculateDiamagneticCurrent
Section Hamiltonian
Type logical
Default no
This variable decides whether the current density arising from the non-uniform
vector potential, defined as:
$ \vec{J}_{dmc}(\vec{r}, t)=-\frac{e^2}{m_e c_0} n(\vec{r}, t) \vec{A}(\vec{r},t)$ $
is included in the total current density.
Name 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).
Name 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:
- gradient:
The calculation of current is done using the gradient operator. (Experimental)
- gradient_corrected:
The calculation of current is done using the gradient operator
with additional corrections for the total current from non-local operators.
- hamiltonian:
The current density is obtained from the commutator of the
Hamiltonian with the position operator. (Experimental)
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 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:
- filter_none:
Do not filter.
- filter_TS:
The filter of M. Tafipolsky and R. Schmid, J. Chem. Phys. 124, 174102 (2006).
- filter_BSB:
The filter of E. L. Briggs, D. J. Sullivan, and J. Bernholc, Phys. Rev. B 54, 14362 (1996).
Name 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.
Name 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.
Name 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:
- none:
The gauge field does not have dynamics. The induced polarization field is zero.
- polarization:
The gauge field follows the dynamic described in
Bertsch et al, Phys. Rev. B 62 7998 (2000).
Name GaugeFieldPropagate
Section Hamiltonian
Type logical
Default no
Propagate the gauge field with initial condition set by GaugeVectorField or zero if not specified
Name 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).
Name 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.
Name MagneticConstrain
Section Hamiltonian
Type integer
Default no
This variable selects which magnetic constrain expression is added to the Hamiltonian.
Options:
- constrain_none:
No constrain is added to the Hamiltonian.
- constrain_dir:
We are adding a constrain for the direction of the magnetic moments only,
see PRB 91, 054420 (2015).
- constrain_full:
We are adding a constrain for the direction and norm of the magnetic moments only,
see PRB 91, 054420 (2015).
Name MagneticConstrainStrength
Section Hamiltonian
Type float
Default 0.01
This variable determines the value of the Lagrange multiplier used for the constrain term.
Name MaxwellCouplingMode
Section Hamiltonian
Type integer
Default none
This variable selects the level of light-matter coupling with electromagnetic fields from the Maxwell solver.
Each option defines a coupling Hamiltonian $ H_{int}$.
*Options*:
- none:
No coupling.
- length_gauge_dipole:
Dipole level in length gauge with transverse electric field E(t):
$ H_{int} = -r.E $
The option MaxwellDipoleField should be set to define if $E$ is calculated as an average at evaluated
at the center of mass (by default, dipole coupling with the average electric field will be used).
- multipolar_expansion:
The option MultipoleExpansionTerms selects the terms to be included (electric dipole, electric quadrupole
and/or magnetic dipole).
- velocity_gauge_dipole:
Coupling at dipole level in velocity gauge with transverse vector potential A(t).
$ H_{int} = 1/2m (2 A(t).p + A^2(t)) $
The option MaxwellDipoleField should be set.
- full_minimal_coupling:
Full vector potential A(r,t) coupled to the momentum.
$ H_{int} = 1/2m (2 A(r,t).p + A^2(r,t)) $
Name MaxwellDipoleField
Section Hamiltonian
Type integer
Default average
This variable selects the method to get the E field vector at the position of the system
if Maxwell-matter coupling at dipole level within length gauge is done.
Options:
- average:
Transverse E field is averaged in the volume occupied by the matter system.
- center_of_mass:
Tranverse E field is evaluated at the center of mass of the matter system (at a single point).
Name MultipolarExpansionTerms
Section Hamiltonian
Type flag
Default electric_dipole + electric_quadrupole + magnetic_dipole
Terms to be included in the multipolar expansion.
For this type of coupling to make sense, the E field has to be calculated at the center of mass (not averaged).
Options:
- electric_dipole:
Adds electric dipole term in length gauge, uses transverse electric field E(t):
$ H_{int} = -e (r.E) $
- electric_quadrupole:
Adds electric quadrupole term:
$ H_{int} = \frac{1}{2} e (r . Q . r )] <\math>
where Q is the outer product of gradient and electric field: $ Q_{ij} = \partial_i E_j |_{r=r_0} $
- magnetic_dipole:
Adds magnetic dipole term:
$ H_{int} = - i (e \hbar /2m) \sum_i (\vec{B}(r_0).(\vec{r} x \nabla)) $
Name 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.
Name PauliHamiltonianTerms
Section Hamiltonian
Type flag
Default non_uniform_vector_potential + zeeman_term
Terms to be included in the Pauli Hamiltonnian.
Options:
- non_uniform_vector_potential:
Adds non-uniform vector potential to the canonical momentum.
- zeeman_term:
Adds the non-uniform Zeeman potential.
Name 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.
Name 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:
- non_relativistic:
No relativistic corrections.
- spin_orbit:
Spin-orbit.
- scalar_relativistic_zora:
scalar relativistic ZORA Hamiltonian
- fully_relativistic_zora:
fully relativistic spin-orbit ZORA Hamiltonian
including SR and SO terms
Name 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.
Name 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.
Name 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] = $ 2.350517568\times 10^9$ Gauss, which corresponds to
$2.3505175678\times 10^5$ Tesla.
Name 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:
- linear_xy:
Linear gauge with $A = \frac{1}{2c} \left( -y, x \right) B_z$. (Cannot be used for periodic systems.)
- linear_y:
Linear gauge with $A = \frac{1}{c} \left( -y, 0 \right) B_z$. Can be used for PeriodicDimensions = 1
but not PeriodicDimensions = 2.
Name 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:
- independent_particles:
Particles will be considered as independent, i.e. as non-interacting.
This mode is mainly used for testing purposes, as the code is usually
much faster with independent_particles.
- hartree:
Calculation within the Hartree method (experimental). Note that, contrary to popular
belief, the Hartree potential is self-interaction-free. Therefore, this run
mode will not yield the same result as kohn-sham without exchange-correlation.
- hartree_fock:
This is the traditional Hartree-Fock scheme. Like the Hartree scheme, it is fully
self-interaction-free.
- kohn_sham:
This is the default density-functional theory scheme. Note that you can also use
hybrid functionals in this scheme, but they will be handled the "DFT" way, i.e.,
solving the OEP equation.
- generalized_kohn_sham:
This is similar to the kohn-sham scheme, except that this allows for nonlocal operators.
This is the default mode to run hybrid functionals, meta-GGA functionals, or DFT+U.
It can be more convenient to use kohn-sham DFT within the OEP scheme to get similar (but not the same) results.
Note that within this scheme you can use a correlation functional, or a hybrid
functional (see XCFunctional). In the latter case, you will be following the
quantum-chemistry recipe to use hybrids.
- rdmft:
(Experimental) Reduced Density Matrix functional theory.
Name 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.