Table of contents
Details
The RESP
section handles job parameters for response calculations in ChronusQ. 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 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 (particlehole) propagator (PARTICLEHOLE
) and the particleparticle propagator. (PARTICLEPARTICLE
) The polarization propagator gives rise to single excitations, and the particleparticle propagator gives rise to effective "double" excitations by adding two electrons. Note that this does not correspond to double excitations from a neutral reference. Particleparticle 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 nonHermitian eigenproblems. SIAM Journal on Scientific Computing, 38(1), A500A527.
↩