SF-TDDFT¶
Spin-flip TDDFT uses a high-spin open-shell reference and [tdhf] type=sf.
It is useful for accessing low-spin target states from a high-spin reference.
MRSF-TDDFT is the recommended OpenQP route when the mixed-reference correction
is needed to reduce spin contamination and to describe multiconfigurational
ground-state surfaces.
In Python scripts, SF-TDDFT is a theory choice. Select the calculation type
separately with job.workflow.* only when you need a non-energy workflow.
Energy¶
Input style:
[input]
runtype=energy
method=tdhf
functional=bhhlyp
basis=6-31g*
[scf]
type=rohf
multiplicity=3
[tdhf]
type=sf
nstate=3
Python style:
from oqp.openqp import OpenQP
job = OpenQP("h2o_sf", silent=1)
job.molecule(geometry="water", charge=0)
job.theory.sf_tddft(functional="bhhlyp", basis="6-31g*", nstate=3)
mol = job.run()
print("SF-TDDFT energies:", mol.get_td_energies())
Runnable input:
examples/SF-TDDFT/H2O_BHHLYP-SFTDDFT_ENERGY.inp.
Gradient¶
SF-TDDFT gradients use runtype=grad and [properties] grad. In SF-TDDFT,
state 1 means the lowest spin-flip target state, not the first ordinary
TDDFT excited state.
Input style:
[input]
runtype=grad
method=tdhf
functional=bhhlyp
basis=6-31g*
[scf]
type=rohf
multiplicity=3
[tdhf]
type=sf
nstate=3
[properties]
grad=3
Python style:
from oqp.openqp import OpenQP
job = OpenQP("h2o_sf_grad", silent=1)
job.molecule(geometry="water", charge=0)
job.theory.sf_tddft(functional="bhhlyp", basis="6-31g*", nstate=3)
job.workflow.gradient(state=3)
mol = job.run()
gradient = mol.get_grad()
Runnable input:
examples/SF-TDDFT/H2O_BHHLYP-SFTDDFT_GRADIENT.inp.
Notes¶
- SF-TDDFT currently uses an ROHF high-spin reference in the documented production path.
[tdhf] nstatemust include the highest spin-flip state requested by a gradient or follow-up workflow.- For the mixed-reference correction and OpenQP's main multistate workflow, use MRSF-TDDFT.