Example: XCDFT: Charge Separation of an ethylene dimer¶
Download XCDFT_FDE_ET_ethylene.run
#!/bin/sh
# ==============================================================================================
#
# Charge Separation Calculation of a ethylene dimer:
# C2H4* + C2H4 --> C2H4+ + C2H4-
# aimed at:
#
# 1) calculate site energies and couplings of fde-derived of a localized exciton
# (Diabat 1) and charge-separated state (Diabat 2). The exciton is obtained by using
# XCDFT method.
#
# 2) calculate the charge-transfer excitation energy from a two-state model that
# includes the two charge-localized states involved in the calculation
#
# First the isolated (restricted) neutral fragments are obtained. Symmetry NOSYM is used.
# In addition, an isolated unrestricted neutral calculation of the fragment to be excited is performed.
# Resulting files: t21.iso.rho1, t21.iso.rho2 and gs.t21. Next in the first FDE calculation:
# state C2H4* (neutral-XCDFT excitation) and C2H4(neutral), resulting files:
# fragA1.t21 and fragA2.t21. The freeze and thaw cycles are done manually since
# open-shell fragments were used. Next in the second FDE calculation: state C2H4+ and C2H4-,
# resulting files fragB1.t21 and fragB2.t21. Again freeze and thaw cycles are done manually since
# open-shell fragments were used.
#
# In the final charge separation calculation the ELECTRONTRANSFER block keyword is used.
# The files fragA1.t21, fragA2.t21, fragB1.t21, and fragB2.t21 must exist and must have these names.
# ===================================================================================================
# ==================================================
# OBTAIN ISOLATED FRAGMENTS
# ==================================================
AMS_JOBNAME=Iso1 $AMSBIN/ams <<eor
System
atoms
H 0.930241 1.239503 0.000000
H -0.930241 1.239503 0.000000
C 0.000000 0.667450 0.000000
C 0.000000 -0.667450 0.000000
H 0.930241 -1.239503 0.000000
H -0.930241 -1.239503 0.000000
end
end
Task SinglePoint
Engine ADF
eprint
sfo NOEIG NOOVL NOORBPOP
end
basis
core None
type TZP
end
noprint BAS FUNCTIONS
symmetry NOSYM
title MODCO: Fragment no. 1; (isolated)
xc
model SAOP
end
Relativity Level=None
EndEngine
eor
mv Iso1.results/adf.rkf t21.iso.rho1
AMS_JOBNAME=Iso2 $AMSBIN/ams <<eor
System
atoms
H 0.930241 1.239503 8.000000
H -0.930241 1.239503 8.000000
C 0.000000 0.667450 8.000000
C 0.000000 -0.667450 8.000000
H 0.930241 -1.239503 8.000000
H -0.930241 -1.239503 8.000000
end
end
Task SinglePoint
Engine ADF
eprint
sfo NOEIG NOOVL NOORBPOP
end
basis
core None
type TZP
end
noprint BAS FUNCTIONS
symmetry NOSYM
title MODCO: Fragment no. 2; (isolated)
xc
model SAOP
end
Relativity Level=None
EndEngine
eor
mv Iso2.results/adf.rkf t21.iso.rho2
# ==================================================
# OBTAIN ISOLATED UNRESTRICTED FRAGMENT
# ==================================================
AMS_JOBNAME=Iso1u $AMSBIN/ams <<eor
System
atoms
H 0.930241 1.239503 0.000000
H -0.930241 1.239503 0.000000
C 0.000000 0.667450 0.000000
C 0.000000 -0.667450 0.000000
H 0.930241 -1.239503 0.000000
H -0.930241 -1.239503 0.000000
end
end
Task SinglePoint
Engine ADF
eprint
sfo NOEIG NOOVL NOORBPOP
end
basis
core None
type TZP
end
noprint BAS FUNCTIONS
spinpolarization 0
symmetry NOSYM
title Fragment 1; (isolated_unrestricted)
unrestricted
xc
model SAOP
end
Relativity Level=None
EndEngine
eor
# ==================================================
# RENAME TAPE21 file as gs.t21, as required in
# XCDFT methodology.
# ==================================================
mv Iso1u.results/adf.rkf gs.t21
# ==================================================
# FIRST FDE CALCULATION: STATE D* (XCDFT) + A
# note: the freeze and thaw is done manually
# as we have open-shell fragments
# ==================================================
AMS_JOBNAME=Emb1 $AMSBIN/ams <<eor
System
atoms
H 0.930241 1.239503 0.000000 adf.f=rho1
H -0.930241 1.239503 0.000000 adf.f=rho1
C 0.000000 0.667450 0.000000 adf.f=rho1
C 0.000000 -0.667450 0.000000 adf.f=rho1
H 0.930241 -1.239503 0.000000 adf.f=rho1
H -0.930241 -1.239503 0.000000 adf.f=rho1
H 0.930241 1.239503 8.000000 adf.f=rho2
H -0.930241 1.239503 8.000000 adf.f=rho2
C 0.000000 0.667450 8.000000 adf.f=rho2
C 0.000000 -0.667450 8.000000 adf.f=rho2
H 0.930241 -1.239503 8.000000 adf.f=rho2
H -0.930241 -1.239503 8.000000 adf.f=rho2
end
end
Task SinglePoint
Engine ADF
allow PARTIALSUPERFRAGS
cdft
allatoms
constraints 1.0
excitedcdft
initialmultipliers 0.0
maxiter 250
metric
natomsperset 36
nconstraints 1
print LOW
stepsize 0.4
threshold 1.0e-9
end
eprint
sfo NOEIG NOOVL NOORBPOP
end
fde
ggapotcfd pw91c
ggapotxfd pw91x
pw91k
end
fragments
rho1 t21.iso.rho1
rho2 t21.iso.rho2
end
fdefragments
rho2 type=fde
end
noprint BAS FUNCTIONS
spinpolarization 0
symmetry NOSYM
title MODCO: Fragment no. 1; (polarized)
unrestricted
xc
model SAOP
end
Relativity Level=None
EndEngine
eor
mv Emb1.results/adf.rkf t21.emb.rho1
AMS_JOBNAME=Emb2 $AMSBIN/ams <<eor
System
atoms
H 0.930241 1.239503 0.000000 adf.f=rho1
H -0.930241 1.239503 0.000000 adf.f=rho1
C 0.000000 0.667450 0.000000 adf.f=rho1
C 0.000000 -0.667450 0.000000 adf.f=rho1
H 0.930241 -1.239503 0.000000 adf.f=rho1
H -0.930241 -1.239503 0.000000 adf.f=rho1
H 0.930241 1.239503 8.000000 adf.f=rho2
H -0.930241 1.239503 8.000000 adf.f=rho2
C 0.000000 0.667450 8.000000 adf.f=rho2
C 0.000000 -0.667450 8.000000 adf.f=rho2
H 0.930241 -1.239503 8.000000 adf.f=rho2
H -0.930241 -1.239503 8.000000 adf.f=rho2
end
end
Task SinglePoint
Engine ADF
allow PARTIALSUPERFRAGS
eprint
sfo NOEIG NOOVL NOORBPOP
end
fde
ggapotcfd pw91c
ggapotxfd pw91x
pw91k
end
fragments
rho1 t21.emb.rho1
rho2 t21.iso.rho2
end
fdefragments
rho1 subfrag=active type=fde
end
noprint BAS FUNCTIONS
spinpolarization 0
symmetry NOSYM
title MODCO: Fragment no. 2; (polarized)
unrestricted
xc
model SAOP
end
Relativity Level=None
EndEngine
eor
mv Emb2.results/adf.rkf t21.emb.rho2
it=1
while [ $it -le 2 ]; do
AMS_JOBNAME=Emb1.$it $AMSBIN/ams <<eor
System
atoms
H 0.930241 1.239503 0.000000 adf.f=rho1
H -0.930241 1.239503 0.000000 adf.f=rho1
C 0.000000 0.667450 0.000000 adf.f=rho1
C 0.000000 -0.667450 0.000000 adf.f=rho1
H 0.930241 -1.239503 0.000000 adf.f=rho1
H -0.930241 -1.239503 0.000000 adf.f=rho1
H 0.930241 1.239503 8.000000 adf.f=rho2
H -0.930241 1.239503 8.000000 adf.f=rho2
C 0.000000 0.667450 8.000000 adf.f=rho2
C 0.000000 -0.667450 8.000000 adf.f=rho2
H 0.930241 -1.239503 8.000000 adf.f=rho2
H -0.930241 -1.239503 8.000000 adf.f=rho2
end
end
Task SinglePoint
EngineRestart t21.emb.rho1
Engine ADF
allow PARTIALSUPERFRAGS
cdft
allatoms
constraints 1.0
excitedcdft
initialmultipliers 0.0
maxiter 250
metric
natomsperset 36
nconstraints 1
print LOW
stepsize 0.4
threshold 1.0e-9
end
eprint
sfo NOEIG NOOVL NOORBPOP
end
fde
energy
fullgrid
ggapotcfd pw91c
ggapotxfd pw91x
pw91k
end
fragments
rho1 t21.iso.rho1
rho2 t21.emb.rho2
end
fdefragments
rho2 subfrag=active type=fde
end
noprint BAS FUNCTIONS
numericalquality Good
spinpolarization 0
symmetry NOSYM
title MODCO: Fragment no. 1; relaxed
unrestricted
xc
model SAOP
end
Relativity Level=None
EndEngine
eor
mv Emb1.$it.results/adf.rkf t21.emb.rho1
AMS_JOBNAME=Emb2.$it $AMSBIN/ams <<eor
System
atoms
H 0.930241 1.239503 0.000000 adf.f=rho1
H -0.930241 1.239503 0.000000 adf.f=rho1
C 0.000000 0.667450 0.000000 adf.f=rho1
C 0.000000 -0.667450 0.000000 adf.f=rho1
H 0.930241 -1.239503 0.000000 adf.f=rho1
H -0.930241 -1.239503 0.000000 adf.f=rho1
H 0.930241 1.239503 8.000000 adf.f=rho2
H -0.930241 1.239503 8.000000 adf.f=rho2
C 0.000000 0.667450 8.000000 adf.f=rho2
C 0.000000 -0.667450 8.000000 adf.f=rho2
H 0.930241 -1.239503 8.000000 adf.f=rho2
H -0.930241 -1.239503 8.000000 adf.f=rho2
end
end
Task SinglePoint
EngineRestart t21.emb.rho2
Engine ADF
allow PARTIALSUPERFRAGS
eprint
sfo NOEIG NOOVL NOORBPOP
end
fde
energy
fullgrid
ggapotcfd pw91c
ggapotxfd pw91x
pw91k
end
fragments
rho1 t21.emb.rho1
rho2 t21.iso.rho2
end
fdefragments
rho1 subfrag=active type=fde
end
noprint BAS FUNCTIONS
numericalquality Good
spinpolarization 0
symmetry NOSYM
title MODCO: Fragment no. 2; relaxed
unrestricted
xc
model SAOP
end
Relativity Level=None
EndEngine
eor
mv Emb2.$it.results/adf.rkf t21.emb.rho2
it=$(($it+1))
done
# ======================================
# NOW THE TAPE21 FILES MUST BE RENAMED
#
# TO: fragA1.t21, fragA2.t21
# .... up to a max of fragA999.t21
# AND: fragB1.t21, fragB2.t21
# .... up to a max of fragB999.t21
# ======================================
mv t21.emb.rho1 fragA1.t21
mv t21.emb.rho2 fragA2.t21
# ==================================================
# SECOND FDE CALCULATION: STATE D+ + A-
# note: the freeze and thaw is done manually
# as we have open-shell fragments
# ==================================================
AMS_JOBNAME=Emb1p $AMSBIN/ams <<eor
System
atoms
H 0.930241 1.239503 0.000000 adf.f=rho1
H -0.930241 1.239503 0.000000 adf.f=rho1
C 0.000000 0.667450 0.000000 adf.f=rho1
C 0.000000 -0.667450 0.000000 adf.f=rho1
H 0.930241 -1.239503 0.000000 adf.f=rho1
H -0.930241 -1.239503 0.000000 adf.f=rho1
H 0.930241 1.239503 8.000000 adf.f=rho2
H -0.930241 1.239503 8.000000 adf.f=rho2
C 0.000000 0.667450 8.000000 adf.f=rho2
C 0.000000 -0.667450 8.000000 adf.f=rho2
H 0.930241 -1.239503 8.000000 adf.f=rho2
H -0.930241 -1.239503 8.000000 adf.f=rho2
end
charge 1
end
Task SinglePoint
Engine ADF
allow PARTIALSUPERFRAGS
eprint
sfo NOEIG NOOVL NOORBPOP
end
fde
ggapotcfd pw91c
ggapotxfd pw91x
pw91k
end
fragments
rho1 t21.iso.rho1
rho2 t21.iso.rho2
end
fdefragments
rho2 type=fde
end
noprint BAS FUNCTIONS
spinpolarization -1
symmetry NOSYM
title MODCO: Fragment no. 1; (polarized)
unrestricted
xc
model SAOP
end
Relativity Level=None
EndEngine
eor
mv Emb1p.results/adf.rkf t21.emb.rho1
AMS_JOBNAME=Emb2p $AMSBIN/ams <<eor
System
atoms
H 0.930241 1.239503 0.000000 adf.f=rho1
H -0.930241 1.239503 0.000000 adf.f=rho1
C 0.000000 0.667450 0.000000 adf.f=rho1
C 0.000000 -0.667450 0.000000 adf.f=rho1
H 0.930241 -1.239503 0.000000 adf.f=rho1
H -0.930241 -1.239503 0.000000 adf.f=rho1
H 0.930241 1.239503 8.000000 adf.f=rho2
H -0.930241 1.239503 8.000000 adf.f=rho2
C 0.000000 0.667450 8.000000 adf.f=rho2
C 0.000000 -0.667450 8.000000 adf.f=rho2
H 0.930241 -1.239503 8.000000 adf.f=rho2
H -0.930241 -1.239503 8.000000 adf.f=rho2
end
charge -1
end
Task SinglePoint
Engine ADF
allow PARTIALSUPERFRAGS
eprint
sfo NOEIG NOOVL NOORBPOP
end
fde
ggapotcfd pw91c
ggapotxfd pw91x
pw91k
end
fragments
rho1 t21.emb.rho1
rho2 t21.iso.rho2
end
fdefragments
rho1 subfrag=active type=fde
end
noprint BAS FUNCTIONS
spinpolarization 1
symmetry NOSYM
title MODCO: Fragment no. 2; (polarized)
unrestricted
xc
model SAOP
end
Relativity Level=None
EndEngine
eor
mv Emb2p.results/adf.rkf t21.emb.rho2
it=1
while [ $it -le 2 ]; do
AMS_JOBNAME=Emb1p.$it $AMSBIN/ams <<eor
System
atoms
H 0.930241 1.239503 0.000000 adf.f=rho1
H -0.930241 1.239503 0.000000 adf.f=rho1
C 0.000000 0.667450 0.000000 adf.f=rho1
C 0.000000 -0.667450 0.000000 adf.f=rho1
H 0.930241 -1.239503 0.000000 adf.f=rho1
H -0.930241 -1.239503 0.000000 adf.f=rho1
H 0.930241 1.239503 8.000000 adf.f=rho2
H -0.930241 1.239503 8.000000 adf.f=rho2
C 0.000000 0.667450 8.000000 adf.f=rho2
C 0.000000 -0.667450 8.000000 adf.f=rho2
H 0.930241 -1.239503 8.000000 adf.f=rho2
H -0.930241 -1.239503 8.000000 adf.f=rho2
end
charge 1
end
Task SinglePoint
EngineRestart t21.emb.rho1
Engine ADF
allow PARTIALSUPERFRAGS
eprint
sfo NOEIG NOOVL NOORBPOP
end
fde
energy
fullgrid
ggapotcfd pw91c
ggapotxfd pw91x
pw91k
end
fragments
rho1 t21.iso.rho1
rho2 t21.emb.rho2
end
fdefragments
rho2 subfrag=active type=fde
end
noprint BAS FUNCTIONS
numericalquality Good
spinpolarization -1
symmetry NOSYM
title MODCO: Fragment no. 1; relaxed
unrestricted
xc
model SAOP
end
Relativity Level=None
EndEngine
eor
mv Emb1p.$it.results/adf.rkf t21.emb.rho1
AMS_JOBNAME=Emb2p.$it $AMSBIN/ams <<eor
System
atoms
H 0.930241 1.239503 0.000000 adf.f=rho1
H -0.930241 1.239503 0.000000 adf.f=rho1
C 0.000000 0.667450 0.000000 adf.f=rho1
C 0.000000 -0.667450 0.000000 adf.f=rho1
H 0.930241 -1.239503 0.000000 adf.f=rho1
H -0.930241 -1.239503 0.000000 adf.f=rho1
H 0.930241 1.239503 8.000000 adf.f=rho2
H -0.930241 1.239503 8.000000 adf.f=rho2
C 0.000000 0.667450 8.000000 adf.f=rho2
C 0.000000 -0.667450 8.000000 adf.f=rho2
H 0.930241 -1.239503 8.000000 adf.f=rho2
H -0.930241 -1.239503 8.000000 adf.f=rho2
end
charge -1
end
Task SinglePoint
EngineRestart t21.emb.rho2
Engine ADF
allow PARTIALSUPERFRAGS
eprint
sfo NOEIG NOOVL NOORBPOP
end
fde
energy
fullgrid
ggapotcfd pw91c
ggapotxfd pw91x
pw91k
end
fragments
rho1 t21.emb.rho1
rho2 t21.iso.rho2
end
fdefragments
rho1 subfrag=active type=fde
end
noprint BAS FUNCTIONS
numericalquality Good
spinpolarization 1
symmetry NOSYM
title MODCO: Fragment no. 2; relaxed
unrestricted
xc
model SAOP
end
Relativity Level=None
EndEngine
eor
mv Emb2p.$it.results/adf.rkf t21.emb.rho2
it=$(($it+1))
done
# ======================================
# NOW THE TAPE21 FILES MUST BE RENAMED
#
# TO: fragA1.t21, fragA2.t21
# .... up to a max of fragA999.t21
# AND: fragB1.t21, fragB2.t21
# .... up to a max of fragB999.t21
# ======================================
mv t21.emb.rho1 fragB1.t21
mv t21.emb.rho2 fragB2.t21
# ======================================
# Electron Transfer calculation is next
#
# 1) note the ELECTRONTRANSFER block keyword
# 2) hybrids not supported
# 3) NumericalQuality GOOD is needed for accuracy
# ======================================
AMS_JOBNAME=ET $AMSBIN/ams <<eor
System
atoms
H 0.930241 1.239503 0.000000 adf.f=rho1
H -0.930241 1.239503 0.000000 adf.f=rho1
C 0.000000 0.667450 0.000000 adf.f=rho1
C 0.000000 -0.667450 0.000000 adf.f=rho1
H 0.930241 -1.239503 0.000000 adf.f=rho1
H -0.930241 -1.239503 0.000000 adf.f=rho1
H 0.930241 1.239503 8.000000 adf.f=rho2
H -0.930241 1.239503 8.000000 adf.f=rho2
C 0.000000 0.667450 8.000000 adf.f=rho2
C 0.000000 -0.667450 8.000000 adf.f=rho2
H 0.930241 -1.239503 8.000000 adf.f=rho2
H -0.930241 -1.239503 8.000000 adf.f=rho2
end
end
Task SinglePoint
Engine ADF
beckegrid
quality Good
end
electrontransfer
numfrag 2
end
eprint
scf NOPOP
sfo NOEIG NOOVL NOORBPOP
end
fragments
rho1 t21.iso.rho1
rho2 t21.iso.rho2
end
noprint BAS FUNCTIONS
numericalquality Good
scf
iterations 0
end
spinpolarization 0
symmetry nosym
title ET calculation at R=0.0 Angstrom
unrestricted
xc
gga PW91
end
Relativity Level=None
EndEngine
eor