# Chapter 8, example 1: benzene dimer interaction energy with PBE-D3(BJ)
# Target versions: CP2K 2023.1 ... 2026.2
# Three single points are needed: dimer, monomer a, monomer b (same coordinates).
#   E_int = E(dimer) - E(a) - E(b)
# Select the system / dispersion by editing the two @SET lines (or with sed, see README.md).
#   SYS = dimer | a | b        VDW = D3BJ | NONE
@SET SYS dimer
@SET VDW D3BJ

&GLOBAL
  PROJECT bz_${SYS}_${VDW}
  RUN_TYPE ENERGY
  PRINT_LEVEL MEDIUM
&END GLOBAL

&FORCE_EVAL
  METHOD QUICKSTEP
  &DFT
    BASIS_SET_FILE_NAME BASIS_MOLOPT_UZH
    POTENTIAL_FILE_NAME POTENTIAL_UZH
    &MGRID
      CUTOFF 400
      REL_CUTOFF 60
    &END MGRID
    &QS
      EPS_DEFAULT 1.0E-12
    &END QS
    &POISSON
      PERIODIC NONE
      POISSON_SOLVER MT
    &END POISSON
    &SCF
      SCF_GUESS ATOMIC
      EPS_SCF 1.0E-7
      MAX_SCF 30
      &OT
        MINIMIZER DIIS
        PRECONDITIONER FULL_ALL
      &END OT
      &OUTER_SCF
        EPS_SCF 1.0E-7
        MAX_SCF 10
      &END OUTER_SCF
    &END SCF
    &XC
      &XC_FUNCTIONAL PBE
      &END XC_FUNCTIONAL
@IF ${VDW} == D3BJ
      &VDW_POTENTIAL
        DISPERSION_FUNCTIONAL PAIR_POTENTIAL
        &PAIR_POTENTIAL
          ! always write TYPE: the default changed (DFTD3 up to 2025.2, DFTD3(BJ) in 2026.2)
          TYPE DFTD3(BJ)
          PARAMETER_FILE_NAME dftd3.dat
          REFERENCE_FUNCTIONAL PBE
          R_CUTOFF [angstrom] 15.0
          &PRINT_DFTD ON
          &END PRINT_DFTD
        &END PAIR_POTENTIAL
      &END VDW_POTENTIAL
@ENDIF
    &END XC
  &END DFT
  &SUBSYS
    &CELL
      ! non-periodic box; MT solver needs about twice the size of the density
      ABC 20.0 20.0 20.0
      PERIODIC NONE
    &END CELL
    &TOPOLOGY
      COORD_FILE_NAME benzene_${SYS}.xyz
      COORD_FILE_FORMAT XYZ
      ! coordinates are already centred in the box; do NOT use CENTER_COORDINATES,
      ! otherwise the monomers would be shifted away from their dimer positions
    &END TOPOLOGY
    &KIND C
      BASIS_SET TZVP-MOLOPT-PBE-GTH-q4
      POTENTIAL GTH-PBE-q4
    &END KIND
    &KIND H
      BASIS_SET TZVP-MOLOPT-PBE-GTH-q1
      POTENTIAL GTH-PBE-q1
    &END KIND
  &END SUBSYS
&END FORCE_EVAL
