Example: Charge transfer integrals with FOCDFT¶
#! /bin/sh
# FOCDFT is used to calculate charge transfer integrals
# for the ethylene dimer using PBE and an all electron DZ basis set.
# The influence of othere ethylenes in the environment is investigated.
# FOCDFT is a fragment orbital based method for constraining (integer) charges and spins on fragments.
# It uses the (localized) Lowdins that ADF makes to to constrain charges and spins on fragments.
# This method can be used to specify 2 different electron configurations of the same complex,
# such that a charge on the first fragment in the first calculation is transferred
# to the second fragment in the second calculation.
# Because in the final complexes the ethylene molecules are the same,
# only one fragment needs to be calculated.
AMS_JOBNAME=Frag $AMSBIN/ams <<eor
System
symmetrize
atoms
C 0.000000 0.000000 0.000000
C 1.332000 0.000000 0.000000
H -0.574301 0.000000 -0.928785
H -0.574301 0.000000 0.928785
H 1.906301 0.000000 0.928785
H 1.906301 0.000000 -0.928785
end
end
Task SinglePoint
Engine ADF
basis
Type DZ
core none
end
xc
gga pbe
end
EndEngine
eor
# Charge transfer integrals for the ethylene dimer at a distance of 4 Angstrom.
AMS_JOBNAME=ET2_4 $AMSBIN/ams <<eor
System
symmetrize
atoms
C 0.000000 0.000000 0.000000 adf.f=Frag1
C 1.332000 0.000000 0.000000 adf.f=Frag1
H -0.574301 0.000000 -0.928785 adf.f=Frag1
H -0.574301 0.000000 0.928785 adf.f=Frag1
H 1.906301 0.000000 0.928785 adf.f=Frag1
H 1.906301 0.000000 -0.928785 adf.f=Frag1
C -0.000000 4.000000 0.000000 adf.f=Frag2
C 1.332000 4.000000 -0.000000 adf.f=Frag2
H -0.574301 4.000000 0.928785 adf.f=Frag2
H -0.574301 4.000000 -0.928785 adf.f=Frag2
H 1.906301 4.000000 -0.928785 adf.f=Frag2
H 1.906301 4.000000 0.928785 adf.f=Frag2
end
charge 1
end
Task SinglePoint
Engine ADF
fragments
Frag1 Frag.results/adf.rkf
Frag2 Frag.results/adf.rkf
end
spinpolarization 1
unrestricted
xc
gga pbe
end
FOCDFT
charge 1 0
spinpolarization 1 0
electrontransfer
charge 0 1
spinpolarization 0 1
end
end
EndEngine
eor
# Charge transfer integrals for the ethylene dimer at a distance of 8 Angstrom.
# The calculated charge transfer integral will be much smaller than that of the previous calculation
# where the two ethylene molecules were at a distance of 4 Angstrom.
AMS_JOBNAME=ET2_8 $AMSBIN/ams <<eor
System
symmetrize
atoms
C 0.000000 0.000000 0.000000 adf.f=Frag1
C 1.332000 0.000000 0.000000 adf.f=Frag1
H -0.574301 0.000000 -0.928785 adf.f=Frag1
H -0.574301 0.000000 0.928785 adf.f=Frag1
H 1.906301 0.000000 0.928785 adf.f=Frag1
H 1.906301 0.000000 -0.928785 adf.f=Frag1
C -0.000000 8.000000 0.000000 adf.f=Frag3
C 1.332000 8.000000 -0.000000 adf.f=Frag3
H -0.574301 8.000000 0.928785 adf.f=Frag3
H -0.574301 8.000000 -0.928785 adf.f=Frag3
H 1.906301 8.000000 -0.928785 adf.f=Frag3
H 1.906301 8.000000 0.928785 adf.f=Frag3
end
charge 1
end
Task SinglePoint
Engine ADF
fragments
Frag1 Frag.results/adf.rkf
Frag3 Frag.results/adf.rkf
end
spinpolarization 1
unrestricted
xc
gga pbe
end
FOCDFT
charge 1 0
spinpolarization 1 0
electrontransfer
charge 0 1
spinpolarization 0 1
end
end
EndEngine
eor
# Charge transfer integrals for the ethylene dimer at a distance of 8 Angstrom,
# with another ethylene molecule exactly in between.
# The calculated charge transfer integral will be significant larger than that of the previous calculation
# where there was no other ethylene molecule in between.
AMS_JOBNAME=ET3 $AMSBIN/ams <<eor
System
symmetrize
atoms
C 0.000000 0.000000 0.000000 adf.f=Frag1
C 1.332000 0.000000 0.000000 adf.f=Frag1
H -0.574301 0.000000 -0.928785 adf.f=Frag1
H -0.574301 0.000000 0.928785 adf.f=Frag1
H 1.906301 0.000000 0.928785 adf.f=Frag1
H 1.906301 0.000000 -0.928785 adf.f=Frag1
C -0.000000 4.000000 0.000000 adf.f=Frag2
C 1.332000 4.000000 -0.000000 adf.f=Frag2
H -0.574301 4.000000 0.928785 adf.f=Frag2
H -0.574301 4.000000 -0.928785 adf.f=Frag2
H 1.906301 4.000000 -0.928785 adf.f=Frag2
H 1.906301 4.000000 0.928785 adf.f=Frag2
C 0.000000 8.000000 0.000000 adf.f=Frag3
C 1.332000 8.000000 0.000000 adf.f=Frag3
H -0.574301 8.000000 -0.928785 adf.f=Frag3
H -0.574301 8.000000 0.928785 adf.f=Frag3
H 1.906301 8.000000 0.928785 adf.f=Frag3
H 1.906301 8.000000 -0.928785 adf.f=Frag3
end
charge 1
end
Task SinglePoint
Engine ADF
fragments
Frag1 Frag.results/adf.rkf
Frag2 Frag.results/adf.rkf
Frag3 Frag.results/adf.rkf
end
spinpolarization 1
unrestricted
xc
gga pbe
end
FOCDFT
charge 1 0 0
spinpolarization 1 0 0
electrontransfer
charge 0 0 1
spinpolarization 0 0 1
end
end
EndEngine
eor
# Charge transfer integrals for the ethylene dimer at a distance of 4 Angstrom,
# with 2 ethylene molecules on either side of the dimer.
# In this case the calculated charge transfer integral will not be very different
# than that for the isolated dimer at 4 Angstrom.
AMS_JOBNAME=ET4 $AMSBIN/ams <<eor
System
symmetrize
atoms
C -0.000000 -4.000000 0.000000 adf.f=Frag0
C 1.332000 -4.000000 -0.000000 adf.f=Frag0
H -0.574301 -4.000000 0.928785 adf.f=Frag0
H -0.574301 -4.000000 -0.928785 adf.f=Frag0
H 1.906301 -4.000000 -0.928785 adf.f=Frag0
H 1.906301 -4.000000 0.928785 adf.f=Frag0
C 0.000000 0.000000 0.000000 adf.f=Frag1
C 1.332000 0.000000 0.000000 adf.f=Frag1
H -0.574301 0.000000 -0.928785 adf.f=Frag1
H -0.574301 0.000000 0.928785 adf.f=Frag1
H 1.906301 0.000000 0.928785 adf.f=Frag1
H 1.906301 0.000000 -0.928785 adf.f=Frag1
C -0.000000 4.000000 0.000000 adf.f=Frag2
C 1.332000 4.000000 -0.000000 adf.f=Frag2
H -0.574301 4.000000 0.928785 adf.f=Frag2
H -0.574301 4.000000 -0.928785 adf.f=Frag2
H 1.906301 4.000000 -0.928785 adf.f=Frag2
H 1.906301 4.000000 0.928785 adf.f=Frag2
C 0.000000 8.000000 0.000000 adf.f=Frag3
C 1.332000 8.000000 0.000000 adf.f=Frag3
H -0.574301 8.000000 -0.928785 adf.f=Frag3
H -0.574301 8.000000 0.928785 adf.f=Frag3
H 1.906301 8.000000 0.928785 adf.f=Frag3
H 1.906301 8.000000 -0.928785 adf.f=Frag3
end
charge 1
end
Task SinglePoint
Engine ADF
fragments
Frag0 Frag.results/adf.rkf
Frag1 Frag.results/adf.rkf
Frag2 Frag.results/adf.rkf
Frag3 Frag.results/adf.rkf
end
spinpolarization 1
unrestricted
xc
gga pbe
end
FOCDFT
charge 0 1 0 0
spinpolarization 0 1 0 0
electrontransfer
charge 0 0 1 0
spinpolarization 0 0 1 0
end
end
EndEngine
eor