REAL_TIME_PROPAGATION

References: Kunert2003, Andermatt2016

Parameters needed to set up the real time propagation for the electron dynamics. This currently works only in the NVE ensemble. [Edit on GitHub]

Subsections

Keywords

Keyword descriptions

ACCURACY_REFINEMENT: integer = 100

Usage: ACCURACY_REFINEMENT

If using density propagation some parts should be calculated with a higher accuracy than the rest to reduce numerical noise. This factor determines by how much the filtering threshold is reduced for these calculations. [Edit on GitHub]

APPLY_DELTA_PULSE: logical = F

Lone keyword: T

Usage: APPLY_DELTA_PULSE

Applies a delta kick to the initial wfn (only RTP for now - the EMD case is not yet implemented). Only work for INITIAL_WFN=SCF_WFN [Edit on GitHub]

APPLY_DELTA_PULSE_MAG: logical = F

Lone keyword: T

Usage: APPLY_DELTA_PULSE_MAG

Applies a magnetic delta kick to the initial wfn (only RTP for now - the EMD case is not yet implemented). Only work for INITIAL_WFN=SCF_WFN [Edit on GitHub]

APPLY_WFN_MIX_INIT_RESTART: logical = F

Lone keyword: T

Usage: APPLY_WFN_MIX_INIT_RESTART

If set to True and in the case of INITIAL_WFN=RESTART_WFN, call the DFT%PRINT%WFN_MIX section to mix the read initial wfn. The starting wave-function of the RTP will be the mixed one. Setting this to True without a defined WFN_MIX section will not do anything as defining a WFN_MIX section without this keyword for RTP run with INITIAL_WFN=RESTART_WFN. Note that if INITIAL_WFN=SCF_WFN, this keyword is not needed to apply the mixing defined in the WFN_MIX section. Default is False. [Edit on GitHub]

ASPC_ORDER: integer = 3

Usage: ASPC_ORDER 3

Speciefies how many steps will be used for extrapolation. One will be always used which is means X(t+dt)=X(t) [Edit on GitHub]

COM_NL: logical = T

Lone keyword: T

Usage: COM_NL

Include non-local commutator for periodic delta pulse. only affects PERIODIC=.TRUE. [Edit on GitHub]

DELTA_PULSE_DIRECTION: integer[3] = 1 0 0

Usage: DELTA_PULSE_DIRECTION 1 1 1

Mentions:X-Ray Absorption from δ-Kick

Direction of the applied electric field. The k vector is given as 2Pi[i,j,k]inv(h_mat), which for PERIODIC .FALSE. yields exp(ikr) periodic with the unit cell, only if DELTA_PULSE_SCALE is set to unity. For an orthorhombic cell [1,0,0] yields [2Pi/L_x,0,0]. For small cells, this results in a very large kick. [Edit on GitHub]

DELTA_PULSE_SCALE: real = 1.00000000E-003

Usage: DELTA_PULSE_SCALE 0.01

Mentions:X-Ray Absorption from δ-Kick

Scale the k vector, which for PERIODIC .FALSE. results in exp(ikr) no longer being periodic with the unit cell. The norm of k is the strength of the applied electric field in atomic units. [Edit on GitHub]

DENSITY_PROPAGATION: logical = F

Lone keyword: T

Usage: DENSITY_PROPAGATION .TRUE.

Mentions:X-Ray Resonant Excitation

The density matrix is propagated instead of the molecular orbitals. This can allow a linear scaling simulation. The density matrix is filtered with the threshold based on the EPS_FILTER keyword from the LS_SCF section [Edit on GitHub]

EPS_ITER: real = 1.00000000E-007

Usage: EPS_ITER 1.0E-5

Mentions:X-Ray Resonant Excitation

Convergence criterion for the self consistent propagator loop. [Edit on GitHub]

EXP_ACCURACY: real = 1.00000000E-009

Usage: EXP_ACCURACY 1.0E-6

Accuracy for the taylor and pade approximation. This is only an upper bound bound since the norm used for the guess is an upper bound for the needed one. [Edit on GitHub]

GAUGE_ORIG: enum = COM

Usage: GAUGE_ORIG COM

Valid values:

  • COM Use Center of Mass

  • COAC Use Center of Atomic Charges

  • USER_DEFINED Use User Defined Point (Keyword:REF_POINT)

  • ZERO Use Origin of Coordinate System

Define gauge origin for magnetic perturbation [Edit on GitHub]

GAUGE_ORIG_MANUAL: real[3] = 0.00000000E+000 0.00000000E+000 0.00000000E+000 [bohr]

Usage: GAUGE_ORIG_MANUAL x y z

Manually defined gauge origin for magnetic perturbation [in Bohr!] [Edit on GitHub]

HFX_BALANCE_IN_CORE: logical = F

Lone keyword: T

Usage: HFX_BALANCE_IN_CORE

If HFX is used, this keyword forces a redistribution/recalculation of the integrals, balanced with respect to the in core steps. [Edit on GitHub]

INITIAL_WFN: enum = SCF_WFN

Usage: INITIAL_WFN SCF_WFN

Valid values:

  • SCF_WFN An SCF run is performed to get the initial state.

  • RESTART_WFN A wavefunction from a previous SCF is propagated. Especially useful, if electronic constraints or restraints are used in the previous calculation, since these do not work in the rtp scheme.

  • RT_RESTART use the wavefunction of a real time propagation/ehrenfest run

Mentions:X-Ray Resonant Excitation

Controls the initial WFN used for propagation. Note that some energy contributions may not be initialized in the restart cases, for instance electronic entropy energy in the case of smearing. [Edit on GitHub]

LEN_REP: logical = F

Lone keyword: T

Usage: LEN_REP T

Use length representation delta pulse (in conjunction with PERIODIC T). This corresponds to a 1st order perturbation in the length gauge. Note that this is NOT compatible with a periodic calculation! Uses the reference point defined in DFT%PRINT%MOMENTS [Edit on GitHub]

MAT_EXP: enum = ARNOLDI

Usage: MAT_EXP TAYLOR

Valid values:

  • TAYLOR exponential is evaluated using scaling and squaring in combination with a taylor expansion of the exponential.

  • PADE uses scaling and squaring together with the pade approximation

  • ARNOLDI uses arnoldi subspace algorithm to compute exp(H)*MO directly, can’t be used in combination with Crank Nicholson or density propagation

  • BCH Uses a Baker-Campbell-Hausdorff expansion to propagate the density matrix, only works for density propagation

Mentions:X-Ray Resonant Excitation

Which method should be used to calculate the exponential in the propagator. It is recommended to use BCH when employing density_propagation and ARNOLDI otherwise. [Edit on GitHub]

MAX_ITER: integer = 10

Usage: MAX_ITER 10

Mentions:X-Ray Resonant Excitation

Maximal number of iterations for the self consistent propagator loop. [Edit on GitHub]

MCWEENY_EPS: real = 0.00000000E+000

Usage: MCWEENY_EPS 0.00001

Threshold after which McWeeny is terminated [Edit on GitHub]

MCWEENY_MAX_ITER: integer = 1

Usage: MCWEENY_MAX_ITER 2

Determines the maximum amount of McWeeny steps used after each converged step in density propagation [Edit on GitHub]

PERIODIC: logical = T

Lone keyword: T

Usage: PERIODIC

Mentions:X-Ray Absorption from δ-Kick

Apply a delta-kick that is compatible with periodic boundary conditions for any value of DELTA_PULSE_SCALE. Uses perturbation theory for the preparation of the initial wfn with the velocity operator as perturbation. If LEN_REP is .FALSE. this corresponds to a first order velocity gauge. Note that the pulse is only applied when INITIAL_WFN is set to SCF_WFN, and not for restarts (RT_RESTART). [Edit on GitHub]

PROPAGATOR: enum = ETRS

Usage: PROPAGATOR ETRS

Valid values:

  • ETRS enforced time reversible symmetry

  • CN Crank Nicholson propagator

  • EM Exponential midpoint propagator

Which propagator should be used for the orbitals [Edit on GitHub]

SC_CHECK_START: integer = 0

Usage: SC_CHECK_START 3

Speciefies how many iteration steps will be done without a check for self consistency. Can save some time in big calculations. [Edit on GitHub]

VELOCITY_GAUGE: logical = F

Lone keyword: T

Usage: VELOCITY_GAUGE T

Mentions:X-Ray Resonant Excitation

Perform propagation in the velocity gauge using the explicit vector potential only a constant vector potential as of now (corresonding to a delta-pulse). uses DELTA_PULSE_SCALE and DELTA_PULSE_DIRECTION to define the vector potential [Edit on GitHub]

VG_COM_NL: logical = T

Lone keyword: T

Usage: VG_COM_NL T

apply gauge transformed non-local potential term only affects VELOCITY_GAUGE=.TRUE. [Edit on GitHub]