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

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

Mentions:Real-Time Bethe-Salpeter Propagation

[Edit on GitHub]

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.

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

[Edit on GitHub]

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.

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

[Edit on GitHub]

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

Mentions:Real-Time Propagation and Ehrenfest MD

[Edit on GitHub]

EPS_ITER

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

Description: Convergence criterion for the self consistent propagator loop.

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

[Edit on GitHub]

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.

Mentions:Real-Time Bethe-Salpeter Propagation

[Edit on GitHub]

GAUGE_ORIG

Type: enum
Default: COM
Usage: GAUGE_ORIG COM

Description: Define gauge origin for magnetic perturbation

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

[Edit on GitHub]

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.

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

[Edit on GitHub]

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.

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

[Edit on GitHub]

MAX_ITER

Type: integer
Default: 10
Usage: MAX_ITER 10

Description: Maximal number of iterations for the self consistent propagator loop.

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

[Edit on GitHub]

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).

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

[Edit on GitHub]

PROPAGATOR

Type: enum
Default: ETRS
Usage: PROPAGATOR ETRS

Description: Which propagator should be used for the orbitals

Valid values:

  • ETRS enforced time reversible symmetry

  • CN Crank Nicholson propagator

  • EM Exponential midpoint propagator

[Edit on GitHub]

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]