MRSF TDDFT EKT - Open-Quantum-Platform/openqp GitHub Wiki
OpenQP supports extended Koopmans' theorem (EKT) calculations with MRSF-TDDFT references. Use runtype=ekt in the [input] section and select ionization potentials (IP), electron affinities (EA), or both in the [ekt] section. For the keyword-level documentation, see [EKT]: EKT-MRSF-TDDFT IP/EA Options.
[input] method=tdhf[input] runtype=ekt[tdhf] type=mrsf- A spin-flip reference, typically ROHF with
[scf] multiplicity=3 - At least one of
[ekt] ip=Trueor[ekt] ea=True
EKT is currently available only for MRSF-TDDFT. If runtype=ekt is used with another method or TDHF type, OpenQP reports an input error.
[ekt]
ip=True
ea=False-
ip=True: compute ionization potentials. -
ea=True: compute electron affinities. - Set both to
Trueto run both EKT-IP and EKT-EA in one calculation.
[input]
system=
8 0.000000000 0.000000000 -0.041061554
1 -0.533194329 0.533194329 -0.614469223
1 0.533194329 -0.533194329 -0.614469223
charge=0
method=tdhf
basis=6-31g
runtype=ekt
functional=bhhlyp
[guess]
type=huckel
save_mol=False
[scf]
type=rohf
multiplicity=3
conv=1.0e-8
save_molden=False
[tdhf]
type=mrsf
multiplicity=1
nstate=10
conv=1.0e-8
zvconv=1.0e-8
[ekt]
ip=True
ea=FalseUse the same MRSF-TDDFT reference settings, but switch the [ekt] options:
[ekt]
ip=False
ea=TrueEKT can be applied to the MRSF-TDDFT response target selected by [tdhf] target. The default target is the ground response state. Set [tdhf] target when an excited-state EKT calculation is intended.
The calculation prints an EKT eigenvalue / binding-energy table for each requested channel:
- IP runs print
MRSF-EKT ionization potentials (Dyson eBEs). - EA runs print
MRSF-EKT electron affinities.
Each table includes the EKT eigenvalue, electron binding energy in Hartree and eV, metric value, and Dyson pole strength. The log also prints root-character diagnostics and MO-basis Dyson orbital coefficient blocks. The final JSON output stores structured data under mrsf_ekt, including eigenvalues_hartree, ebe_ev, pole_strengths, and dyson_orbitals_mo. When both IP and EA are requested in one runtype=ekt job, per-channel snapshots are preserved under mrsf_ekt["ip"] and mrsf_ekt["ea"].
Older development inputs used tdhf.type=mrsf_ekt_ip or tdhf.type=mrsf_ekt_ea with runtype=energy. The preferred user-facing workflow is now:
[input]
runtype=ekt
method=tdhf
[tdhf]
type=mrsf
[ekt]
ip=True
ea=True