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 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 subfrag=active type=fde
     rho2 t21.iso.rho2
  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 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 subfrag=active type=fde
     rho2 t21.iso.rho2
  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 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 subfrag=active type=fde
     rho2 t21.iso.rho2
  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 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 subfrag=active type=fde
     rho2 t21.iso.rho2
  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