Examples of spin-flip TDDFT

Here, we give some examples to perform spin-flip TDDFT calculation.

Spin-flip TDDFT to calculate triplet state of H2O molecule

We start from ground state of H2O. It is a close shell 1A1 state. We would like to calculate several triplet excited states using spin-flip TDDFT. Here is a input with comments. Notice: the words after # are comments. You may negelect them in your input.

$COMPASS 
Title
 H2O Molecule test run, cc-pvdz
Basis
 cc-pvdz
Geometry
 O  0.000000000   0.000000000    0.369372944
 H  0.000000000  -0.783975899   -0.184686472 
 H  0.000000000   0.783975899   -0.184686472 
End geometry
Skeleton # You should not neglect this line.
$END

$XUANYUAN
Direct     # this line and the following line is important. Direct SCF is required.
Schwarz
$END

$SCF
RKS
dft functional
 B3lyp
$END

# Spin flip up TDDFT calculation from RKS reference.
$tddft
imethod
 1              # Starts from RKS calculation. 1 RKS, 2 UKS
isf
 1               # require spin flip up calculation
idiag
 1
itda
 0              # TDDFT is evoked.
iexit
 4              # For each irreps, 4 states are required.
$end

# Spin flip up TDA calculation from RKS reference.
$tddft
imethod
 1              # Starts from RKS calculation. 1 RKS, 2 UKS
isf
 1               # require spin flip up calculation
idiag
 1
itda
 1              # TDA is evoked.
iexit
 4              # For each irreps, 4 states are required.
$end

Tips: You may find this input in $BDFHOME/tests/input/h2o_spinflip_TDDFT.inp. TDDFT and TDA calculations are required. You may need only one of them.

Spin-flip TDA for open shell molecules

Spin-flip TDA can be used to calculate open shell systems. Here we calculate singlet of O2 molecule using spin-flip down TDA from triplet.

## Author, Bingbing Suo, Spin-flip TDA calculation of O2 molecule
###
%echo " CHECKDATA AO-TDA ==="
$COMPASS
Title
 H10
Basis
 cc-pvdz
Geometry
 O 0. 0. 0.
 O 0. 0. 1.5
END geometry
skeleton
Group
 D(2h)
Check
$END

$XUANYUAN
Direct
Schwarz
$END

$SCF
ROKS
DFT
B3LYP
charge
0
spin
3         # triplet  of O2 
$END

%echo "=== CHECKDATA Spin-flip down to get singlet. ===="
$tddft
imethod
2
isf
-1   # spin flip down
itda
1
idiag
1
iexit
 4
ialda
 2
$END

%echo "=== CHECKDATA Spin-flip up to get quintet. ===="
$tddft
imethod
2
isf
1     # spin flip up
itda
1
idiag
1
iexit
4 
ialda
 2
$END

%echo "=== CHECKDATA Spin-flip up and down together ===="
$tddft
imethod
2
isf
3       # spin flip up and flip down
itda
1
idiag
1
iexit
4
ialda
 2
$END

Tips: You may find this input in $BDFHOME/tests/input/O2_spinflip_TDA.inp. Several spin-flip TDA calculations are required. You may need only one of them. Spin-flip U-TDDFT is not preferred.