@SET METHOD_TO_USE DFTB
@SET DO_RESTART   YES
@SET cp2k_tutorial_path /users/marcella/D07/CP2K_TUTORIAL
@SET LIBPATH  ${cp2k_tutorial_path}/MTD1/LIB_TOOLS
@SET XYZPATH  ${cp2k_tutorial_path}/MTD1/XYZ
@SET RUNPATH  ${cp2k_tutorial_path}/MTD1/GR_2HNO3/DFTB_MTD_4CV_H0
@SET RESPATH  ${cp2k_tutorial_path}/MTD1/GR_2HNO3/DFTB_NVT_EPOT

&FORCE_EVAL
  METHOD Quickstep
@IF ( ${METHOD_TO_USE} == DFT )
  &DFT
      BASIS_SET_FILE_NAME  ${LIBPATH}/BASIS_MOLOPT
      POTENTIAL_FILE_NAME  ${LIBPATH}/GTH_POTENTIALS
    &MGRID
      NGRIDS 5
      CUTOFF 200
    &END MGRID
    &QS
      METHOD GPW
      MAP_CONSISTENT
      EXTRAPOLATION ASPC
      EXTRAPOLATION_ORDER 3
    &END QS

    &SCF
      MAX_SCF 30
      EPS_SCF 1.0E-5
      SCF_GUESS ATOMIC
      &OT
        PRECONDITIONER FULL_SINGLE_INVERSE
        MINIMIZER DIIS
        N_DIIS 7
      &END OT

      &OUTER_SCF
        MAX_SCF 3
        EPS_SCF 1.0E-05
      &END OUTER_SCF

      &PRINT
        &RESTART
          LOG_PRINT_KEY
        &END
      &END
     &END SCF

     &XC
        &XC_FUNCTIONAL REVPBE
        &END XC_FUNCTIONAL
        &vdW_POTENTIAL
           DISPERSION_FUNCTIONAL PAIR_POTENTIAL
           &PAIR_POTENTIAL
              TYPE DFTD2
              SCALING  1.0
              R_CUTOFF  [angstrom] 16
           &END PAIR_POTENTIAL
        &END vdW_POTENTIAL
     &END XC

  &END DFT
@ENDIF
@IF ( ${METHOD_TO_USE} == SE )
  &DFT
    CHARGE 0
    &QS
      METHOD PM6
      &SE
       RC_INTERACTION [angstrom] 8.0
       RC_COULOMB     [angstrom] 8.0
       RC_RANGE       [angstrom] 0.05
      &END
    &END QS
    &SCF
      MAX_SCF 30
      EPS_SCF 1.0E-5
      SCF_GUESS ATOMIC
      &OT 
        MINIMIZER DIIS
        PRECONDITIONER FULL_SINGLE_INVERSE
      &END
      &OUTER_SCF
        EPS_SCF 1.0E-5
        MAX_SCF 5
      &END
      &PRINT
        &RESTART OFF
        &END
        &RESTART_HISTORY OFF
        &END
      &END
    &END SCF
  &END DFT
@ENDIF
@IF ( ${METHOD_TO_USE} == DFTB )
  &DFT
    &QS
      METHOD DFTB
      &DFTB
        SELF_CONSISTENT    T
        DO_EWALD           T
        DISPERSION         T
        &PARAMETER
          PARAM_FILE_PATH  ${LIBPATH}/scc
          PARAM_FILE_NAME  scc_parameter
          UFF_FORCE_FIELD  uff_table
        &END PARAMETER
      &END DFTB
    &END QS
    &SCF
      MAX_SCF 30
      EPS_SCF 1.0E-6
      SCF_GUESS ATOMIC
      &OT
        MINIMIZER DIIS
        PRECONDITIONER FULL_SINGLE_INVERSE
      &END
      &OUTER_SCF
        EPS_SCF 1.0E-6
        MAX_SCF 5
      &END
      &PRINT
        &RESTART OFF
        &END
        &RESTART_HISTORY OFF
        &END
      &END
    &END SCF
    &POISSON
      PERIODIC XYZ
      &EWALD
       EWALD_TYPE SPME
       GMAX 25
       O_SPLINE 5
      &END EWALD
    &END POISSON
  &END DFT
@ENDIF

  &SUBSYS
    &CELL
      ABC   12.30000  12.78000 20.0
      PERIODIC XYZ
    &END CELL

    &TOPOLOGY
      CONNECTIVITY  OFF
      COORD_FILE ${XYZPATH}/grly5x3_2hno3_cc.xyz
      COORDINATE XYZ
    &END TOPOLOGY

@IF ( ${METHOD_TO_USE} == DFT )
    &KIND C
      BASIS_SET DZVP-MOLOPT-GTH
      POTENTIAL GTH-BLYP-q4
    &END KIND

    &KIND H
      BASIS_SET DZVP-MOLOPT-GTH
      POTENTIAL GTH-BLYP-q1
    &END KIND

    &KIND O
      BASIS_SET DZVP-MOLOPT-GTH
      POTENTIAL GTH-BLYP-q6
    &END KIND

    &KIND N
      BASIS_SET DZVP-MOLOPT-GTH
      POTENTIAL GTH-BLYP-q5
    &END KIND
@ENDIF

    &COLVAR
       &COORDINATION
          KINDS_FROM  O
          KINDS_TO   C
          R_0 [angstrom]  1.8
          NN  8
          ND  14
       &END COORDINATION
    &END COLVAR

    &COLVAR
       &COORDINATION
          KINDS_FROM  N
          KINDS_TO   O
          R_0 [angstrom]  1.8
          NN  8 
          ND  14
       &END COORDINATION
    &END COLVAR

    &COLVAR
       &COORDINATION
          KINDS_FROM  H
          KINDS_TO   C
          R_0 [angstrom]  1.6
          NN  8
          ND  14
       &END COORDINATION
    &END COLVAR

    &COLVAR
       &DISTANCE_POINT_PLANE
        &POINT
          TYPE GEO_CENTER
          ATOMS 1
        &END
        &POINT
          TYPE GEO_CENTER
          ATOMS 48
        &END
        &POINT
          TYPE GEO_CENTER
          ATOMS 60
        &END
        &POINT
          TYPE GEO_CENTER
          ATOMS  69 70
        &END
          ATOMS_PLANE 1 2 3 
          ATOM_POINT 4
       &END DISTANCE_POINT_PLANE
    &END COLVAR

  &END SUBSYS

  &EXTERNAL_POTENTIAL
     ATOMS_LIST   61..70
     FUNCTION   0.000000000001*(Z^2)^4
  &END

  &EXTERNAL_POTENTIAL
     ATOMS_LIST   61..70
     FUNCTION   0.0000000000001*(X^2)^4
  &END

  &EXTERNAL_POTENTIAL
     ATOMS_LIST   61..70
     FUNCTION   0.0000000000001*(Y^2)^4
  &END

&END FORCE_EVAL

&GLOBAL
  PROJECT gr2hno3_mtd_4cv_h0_p1
  RUN_TYPE MD
  PRINT_LEVEL LOW
&END GLOBAL

&MOTION
  &MD
    ENSEMBLE NVT
    STEPS  50000
    TIMESTEP 1.0
    TEMPERATURE 300.0
    TEMP_TOL   100
    &THERMOSTAT
      &NOSE
        LENGTH 3
        YOSHIDA 3
        TIMECON 100.0
        MTS 2
      &END NOSE
    &END
    ANGVEL_ZERO
    COMVEL_TOL  2.0E-7

    &PRINT
      &ENERGY
        &EACH
           MD 10
        &END
      &END

      &PROGRAM_RUN_INFO
        &EACH
           MD 100
        &END
      &END
      FORCE_LAST
    &END PRINT
  &END MD

  &FREE_ENERGY
    &METADYN
      DO_HILLS  .FALSE.

      &METAVAR
        SCALE 0.08
        COLVAR 1
      &END METAVAR

      &METAVAR
        SCALE 0.3
        COLVAR 2
      &END METAVAR

     &METAVAR
        SCALE 0.08
        COLVAR 3
      &END METAVAR

      &METAVAR
        SCALE 1.5
        COLVAR 4
      &END METAVAR

      &PRINT
        &COLVAR
           COMMON_ITERATION_LEVELS 3
           &EACH
             MD 1
           &END
        &END
      &END
    &END METADYN
  &END

  &PRINT
    &TRAJECTORY
      &EACH
        MD 1
      &END
    &END
    &VELOCITIES OFF
    &END
    &RESTART
      &EACH
         MD 1000
      &END
      ADD_LAST NUMERIC
    &END
    &RESTART_HISTORY 
      &EACH
         MD 2000
      &END
    &END
  &END
  &CONSTRAINT
    &FIXED_ATOMS
      LIST    48 51 54 57 60 45 59 44 58 43
    &END
  &END
&END MOTION

@IF ( ${DO_RESTART} == YES )
&EXT_RESTART
  RESTART_FILE_NAME  ${RESPATH}/gr2hno3_nvt-1.restart
  RESTART_COUNTERS F
  RESTART_POS T
  RESTART_VEL  T
  RESTART_THERMOSTAT T
&END EXT_RESTART
@ENDIF