! rutile_supercell_gamma.inp - rutile TiO2 supercell, Gamma point only, OT
! Improved companion of input_file.inp. Tutorial: CP2K chapter 2, section 11.
! Works with CP2K 2023.x - 2026.2.
!
! Instead of k-points, the 6-atom cell is repeated NX x NY x NZ times with
! MULTIPLE_UNIT_CELL (both in &CELL and in &TOPOLOGY, they must agree).
! A Gamma-only supercell NX x NY x NZ samples the same k-points as a
! Gamma-centred NX x NY x NZ mesh of the primitive cell, e.g. 3x3x3 here
! corresponds to "MONKHORST-PACK 3 3 3" in rutile_kpoints.inp.
!
!   rm -f rutile_sc223.out; cp2k.psmp -i rutile_supercell_gamma.inp -o rutile_sc223.out   (72 atoms)
!   cp2k.psmp -E NX=3 -E NY=3 -E NZ=3 -i rutile_supercell_gamma.inp -o rutile_sc333.out   (162 atoms)
!
! Compare energies per TiO2 unit: E(supercell) / (2*NX*NY*NZ).

&GLOBAL
  PROJECT rutile_sc${NX-2}${NY-2}${NZ-3}
  RUN_TYPE ENERGY_FORCE
  PRINT_LEVEL MEDIUM
&END GLOBAL

&FORCE_EVAL
  METHOD QS
  &PRINT
    &FORCES ON
    &END FORCES
  &END PRINT
  &DFT
    BASIS_SET_FILE_NAME BASIS_MOLOPT
    POTENTIAL_FILE_NAME GTH_POTENTIALS
    &MGRID
      CUTOFF 400
      REL_CUTOFF 60
    &END MGRID
    &QS
      EPS_DEFAULT 1.0E-12
    &END QS
    &SCF
      SCF_GUESS ATOMIC        ! the original input used RESTART without a restart file
      EPS_SCF 1.0E-7
      MAX_SCF 30
      &OT ON
        MINIMIZER DIIS
        PRECONDITIONER FULL_SINGLE_INVERSE
      &END OT
      &OUTER_SCF ON
        EPS_SCF 1.0E-7
        MAX_SCF 10
      &END OUTER_SCF
    &END SCF
    &XC
      &XC_FUNCTIONAL PBE
      &END XC_FUNCTIONAL
    &END XC
  &END DFT
  &SUBSYS
    &CELL
      ABC [angstrom] 4.593 4.593 2.959        ! the UNIT cell
      MULTIPLE_UNIT_CELL ${NX-2} ${NY-2} ${NZ-3}
      PERIODIC XYZ
    &END CELL
    &TOPOLOGY
      MULTIPLE_UNIT_CELL ${NX-2} ${NY-2} ${NZ-3}
    &END TOPOLOGY
    &COORD
@INCLUDE rutile.xyz
    &END COORD
    &KIND O
      BASIS_SET DZVP-MOLOPT-SR-GTH
      POTENTIAL GTH-PBE-q6
    &END KIND
    &KIND Ti
      BASIS_SET DZVP-MOLOPT-SR-GTH
      POTENTIAL GTH-PBE-q12
    &END KIND
  &END SUBSYS
&END FORCE_EVAL
