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]

Mentions:Real-Time Bethe-Salpeter Propagation, ⭐Real-Time Propagation and Ehrenfest MD

Subsections

Keywords

Keyword descriptions

ACCURACY_REFINEMENT

Type: integer
Default: 100
Usage: ACCURACY_REFINEMENT

Description: 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

Type: logical
Default: F
Lone keyword: T
Usage: APPLY_DELTA_PULSE

Description: 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]

Mentions:Real-Time Bethe-Salpeter Propagation

APPLY_DELTA_PULSE_MAG

Type: logical
Default: F
Lone keyword: T
Usage: APPLY_DELTA_PULSE_MAG

Description: 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

Type: logical
Default: F
Lone keyword: T
Usage: APPLY_WFN_MIX_INIT_RESTART

Description: 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

Type: integer
Default: 3
Usage: ASPC_ORDER 3

Description: 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

Type: logical
Default: T
Lone keyword: T
Usage: COM_NL

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

DELTA_PULSE_DIRECTION

Type: integer[3]
Default: 1 0 0
Usage: DELTA_PULSE_DIRECTION 1 1 1

Description: 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]

Mentions:Real-Time Bethe-Salpeter Propagation, ⭐X-Ray Absorption from RTP and \delta-Kick perturbation

DELTA_PULSE_SCALE

Type: real
Default: 1.00000000E-003
Usage: DELTA_PULSE_SCALE 0.01

Description: 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]

Mentions:Real-Time Bethe-Salpeter Propagation, ⭐X-Ray Absorption from RTP and \delta-Kick perturbation

DENSITY_PROPAGATION

Type: logical
Default: F
Lone keyword: T
Usage: DENSITY_PROPAGATION .TRUE.

Description: 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]

Mentions:Real-Time Propagation and Ehrenfest MD

EPS_ITER

Type: real
Default: 1.00000000E-007
Usage: EPS_ITER 1.0E-5

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

Mentions:Real-Time Bethe-Salpeter Propagation, ⭐Real-Time Propagation and Ehrenfest MD

EXP_ACCURACY

Type: real
Default: 1.00000000E-009
Usage: EXP_ACCURACY 1.0E-6

Description: 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]

Mentions:Real-Time Bethe-Salpeter Propagation

GAUGE_ORIG

Type: enum
Default: COM
Usage: GAUGE_ORIG COM

Description: Define gauge origin for magnetic perturbation [Edit on GitHub]

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

GAUGE_ORIG_MANUAL

Type: real[3]
Default: 0.00000000E+000 0.00000000E+000 0.00000000E+000 [bohr]
Usage: GAUGE_ORIG_MANUAL x y z

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

HFX_BALANCE_IN_CORE

Type: logical
Default: F
Lone keyword: T
Usage: HFX_BALANCE_IN_CORE

Description: 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

Type: enum
Default: SCF_WFN
Usage: INITIAL_WFN SCF_WFN

Description: 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]

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:Real-Time Propagation and Ehrenfest MD

LEN_REP

Type: logical
Default: F
Lone keyword: T
Usage: LEN_REP T

Description: 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]

LOCALIZE

Type: integer
Default: 0
Usage: LOCALIZE

Description: Localise the Molecular orbitals each n steps real-time propagated TDDFT, 0 means never localise [Edit on GitHub]

MAT_EXP

Type: enum
Default: ARNOLDI
Usage: MAT_EXP TAYLOR

Description: 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]

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

  • EXACT Uses diagonalisation of the exponent matrices to determine the matrix exponential exactly. Only implemented for GWBSE.

Mentions:Real-Time Bethe-Salpeter Propagation, ⭐Real-Time Propagation and Ehrenfest MD

MAX_ITER

Type: integer
Default: 10
Usage: MAX_ITER 10

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

Mentions:Real-Time Bethe-Salpeter Propagation, ⭐Real-Time Propagation and Ehrenfest MD

MCWEENY_EPS

Type: real
Default: 0.00000000E+000
Usage: MCWEENY_EPS 0.00001

Description: Threshold after which McWeeny is terminated [Edit on GitHub]

MCWEENY_MAX_ITER

Type: integer
Default: 1
Usage: MCWEENY_MAX_ITER 2

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

PERIODIC

Type: logical
Default: T
Lone keyword: T
Usage: PERIODIC

Description: 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]

Mentions:X-Ray Absorption from RTP and \delta-Kick perturbation

PROPAGATOR

Type: enum
Default: ETRS
Usage: PROPAGATOR ETRS

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

Valid values:

  • ETRS enforced time reversible symmetry

  • CN Crank Nicholson propagator

  • EM Exponential midpoint propagator

SC_CHECK_START

Type: integer
Default: 0
Usage: SC_CHECK_START 3

Description: 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

Type: logical
Default: F
Lone keyword: T
Usage: VELOCITY_GAUGE T

Description: 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

Type: logical
Default: T
Lone keyword: T
Usage: VG_COM_NL T

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