Table of contents
Details
The RESP
section handles job parameters for response calculations in ChronusQ. It is strongly recommended to use a stable reference wave function for any 2-component response calculation. The RESP
section is
required for response jobs (QM.JOB = RESP
) and takes the following optional keywords
Keywords
Keyword | Type | Description | Default |
---|---|---|---|
TYPE |
String | The response job type | RESIDUE |
PROPAGATOR |
String | The quantum propagator used in the response function | PARTICLEHOLE |
DOFULL |
Boolean | Whether or not to do the "full" problem, i.e. with (Sca)LAPACK. Implies FULLMAT if true | TRUE |
FULLMAT |
Boolean | Whether or not to build the full propagator in memory | TRUE |
NROOTS |
Integer | Number of desired roots for a RESIDUE job (see RESP.TYPE keyword). Only used if DOFULL=FALSE
|
3 |
DEMIN |
Double precision float | Minimum energy (in a.u.) for a RESIDUE job (see RESP.TYPE keyword). Only used if DOFULL=FALSE | 0.0 |
MAXITER |
Integer | Maximum number of iterations for iterative response job | 500 |
AOPS |
String | Output observable operators | ALLOPS |
BOPS |
String | Input perturbation operators | EDL |
BFREQ |
String | Frequencies for applied BOPs | 0.0 |
DAMP |
Double precision float | Damping parameter for FDR jobs (see RESP.TYPE keyword) | 0.0 |
CONV |
Double precision float | Residual convergence critera for iterative response job | 1e^{-7} |
GPLHR_M |
Integer | Internal GPLHR subspace expansion parameter | 3 |
GPLHR_SIGMA |
Double precision float | Internal GPLHR energy shift parameter | 0.0 |
DISTMATFROMROOT |
Boolean | Whether to form matrix on root, then distribute (MPI only) | FALSE |
FORMMATDIST |
Boolean | Whether to form the matrix distributed (MPI only) | FALSE |
TYPE
Keyword
The ChronusQ supports Three types of response jobs:1 RESIDUE
, FDR
(Frequency Dependent Response), and MOR
. (Model Order Reduction) RESIDUE
calculations solve for the eigenvectors and eigenvalues from the "traditional" response matrix. FDR
calculations solve the linear inverse propagator problem for specific input perturbations (type and frequency) and output observables. MOR
calculations solve for frequency dependent response over a range of frequencies in a more efficient manner. In general, if you want a "traditional" TDHF/TDDFT calculation, run a RESIDUE
calculation.
RESIDUE
calculations solve:
\mathbf{H} \mathbf{X} = \Omega\mathbf{S}\mathbf{X}
where \mathbf{H}
is the orbital hessian, \mathbf{X}
is the transition density, \mathbf{S}
is the metric, and \Omega
are the eigenvalues.
FDR
calculations solve:
\langle\langle \mathcal{A}; \mathcal{B} \rangle \rangle_\omega = \mathbf{A}^* (\mathbf{H} - (\omega + i\gamma)\mathbf{S})^{-1}\mathbf{B}
where \mathbf{B}
is the perturbing operator, \mathbf{A}
is the output observable, \omega
is the perturbing frequency, and \gamma
is a damping parameter in order to ensure convergence even at the poles.
PROPAGATOR
Keyword
The ChronusQ supports both the polarization (particle-hole) propagator (PARTICLEHOLE
) and the particle-particle propagator. (PARTICLEPARTICLE
) The polarization propagator gives rise to single excitations, and the particle-particle propagator gives rise to effective "double" excitations by adding two electrons. Note that this does not correspond to double excitations from a neutral reference. Particle-particle propagators are currently considered an expert feature and are controlled by undocumented keywords. If this application is important for your research, please open an issue!
Iterative Keywords
ChronusQ supports both full and iterative diagonalization of the response problems. If the size of iterative problem requested would exceed the size of full diagonalization, ChronusQ falls back to full diagonalization.
Full Diagonalization
Full diagonalization is controlled by the DOFULL
keyword. If you have enough memory for this, it is typically the fastest and most robust method for getting more than a few roots from the response problem.
Iterative Diagonalization
Iterative diagonalization in ChronusQ is performed using the Generalized Preconditioned Locally Harmonic Residual (GPLHR) method.2 Like other iterative methods, you can set a minimum energy for the roots to be solved for (DEMIN
) and the number of roots to solve for (NROOTS
) as well as the maximum number of iterations. (MAXITER
)
Frequency Dependent Response / Model Order Reduction
Frequency dependent response calculations solve:
\langle\langle \mathcal{A}; \mathcal{B} \rangle \rangle_\omega = \mathbf{A}^* (\mathbf{H} - (\omega + i\gamma)\mathbf{S})^{-1}\mathbf{B}
where \mathbf{H}
is the orbital hessian, \mathbf{X}
is the transition density, \mathbf{S}
is the metric, \mathbf{B}
is the perturbing operator, \mathbf{A}
is the output observable, \omega
is the perturbing frequency, and \gamma
is a damping parameter in order to ensure convergence even at the poles.
Response Operators
Both AOPS
and BOPS
may be:
Keyword | Operator |
---|---|
EDL |
Electric Dipole (Length gauge) |
EQL |
Electric Quadrupole (Length gauge) |
EOL |
Electric Octupole (Length gauge) |
EDV |
Electric Dipole (Velocity gauge) |
EQV |
Electric Quadrupole (Velocity gauge) |
EOV |
Electric Octupole (Velocity gauge) |
MD |
Magnetic Dipole |
MQ |
Magnetic Quadrupole |
ALLOPS |
All of the above |
DAMP
Keyword
The Without a small imaginary shift, frequency dependent response diverges at the poles of the propagator. Physically, this corresponds to finite excited state lifetimes. The DAMP
keyword controls the magnitude of this damping.
BFREQ
Keyword
The The BFREQ
keyword determines the frequencies at which to solve the FDR/MOR problem. This can take two forms:
- One or more frequencies delimited with space, tab, comma, or semicolon.
- A string of the format
Range(<start>,<count>,<step>)
to generate a set of uniformly spaced frequencies covering the interval[\mathrm{start}, \mathrm{count}\times\mathrm{step} + \mathrm{start})
with a stepsize of<step>
.
For example, a set of 10 uniformly distributed frequencies over the interval [0,5)
could be specified as:
BFreq = 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5
Or:
BFreq = Range(0.0,10,0.5)
Fine Control of Diagonalization
For most cases, the defaults for this section are sufficient. However, some users may desire more fine control over the diagonalization for difficult or large cases.
The CONV
keyword controls the convergence criterion for iterative diagonalization. (Compared to norm of residual vectors)
GPLHR Parameters
GPLHR has two parameters that primarily control the method: GPLHR_M
and GPLHR_SIGMA
.2
-
GPLHR_M
is a parameter that determines how much the subspace is increased internally with every iteration. It typically ranges from 2 to 7, with a larger M increasing the work done in each step significantly. Consequently, choosing a differentm
value may allow users to converge very hard cases at the cost of significantly more work done per step. -
GPLHR_SIGMA
controls the shift of the subspace. GPLHR is a harmonic method, so it will converge roots that are close to\sigma
. (on either side) UsingDEMIN
will dynamically choose\sigma
so that the roots selected are above the given energy, so this option is typically less useful to users thanDEMIN
.
MPI Options
When ChronusQ is compiled with MPI enabled, it can form the propagator matrix either completely on the root process or distributed among all processes. The DISTMATFROMROOT
and FORMMATDIST
control these choices.
Examples
Residue Response
[Response]
Type = RESIDUE
Damped FDR (All observables to electric dipole perturbation, iterative)
[Response]
Type = FDR
Damp = 0.01
BFreq = 0.5
DoFull = False
FullMat = False
Damped MOR (Electric dipole response to electric dipole perturbations)
[Response]
Type = MOR
Damp = 0.01
BFreq = Range(0.0,300,0.01)
References
-
Williams‐Young, D. B., Petrone, A., Sun, S., Stetina, T. F., Lestrange, P., Hoyer, C. E., ... & Li, X. (2020). The Chronus Quantum software package. Wiley Interdisciplinary Reviews: Computational Molecular Science, 10(2), e1436.
↩ -
Vecharynski, E., Yang, C., & Xue, F. (2016). Generalized preconditioned locally harmonic residual method for non-Hermitian eigenproblems. SIAM Journal on Scientific Computing, 38(1), A500-A527.
↩ ↩ 2