7
$\begingroup$

The details are descripted elsewhere, but got no answer for days, so I post it here for help.

As title said, I noticed a relatively big change in conserved quantity and don't know why.

I've upload files on github, including in/out file and *.ener, two warnings in the /ext_res, I'll try other options when I have time

Part of my input here:

# &EXT_RESTART
#     RESTART_FILE_NAME job-1.RESTART
# &END EXT_RESTART
&GLOBAL
    EXTENDED_FFT_LENGTHS  T
    PRINT_LEVEL  MEDIUM
    PROJECT_NAME job
    RUN_TYPE MD
&END GLOBAL
&MOTION
    &MD
        ENSEMBLE  NVT
        STEPS 110000 # 220 ps
        TIMESTEP     1.9999999999999998E+00 # 2fs
        TEMPERATURE     1.0500000000000000E+03
        &THERMOSTAT
            &CSVR
                TIMECON     9.9999999999999986E+01
            &END CSVR
        &END THERMOSTAT
        &PRINT
            &ENERGY  SILENT
                &EACH
                    MD  1
                &END EACH
            &END ENERGY
            &PROGRAM_RUN_INFO  SILENT
                &EACH
                    MD  1
                &END EACH
            &END PROGRAM_RUN_INFO
        &END PRINT
    &END MD
    &PRINT
        &TRAJECTORY  SILENT
            FILENAME =trj1.xyz
            &EACH
                MD  1
            &END EACH
        &END TRAJECTORY
        &VELOCITIES  OFF
        &END VELOCITIES
        &FORCES  OFF
        &END FORCES
        &RESTART  ON
            BACKUP_COPIES  1
            &EACH
                MD  100
            &END EACH
        &END RESTART
        &RESTART_HISTORY  OFF
        &END RESTART_HISTORY
    &END PRINT
&END MOTION
&FORCE_EVAL
    METHOD  QS
    STRESS_TENSOR  ANALYTICAL
    &DFT
        BASIS_SET_FILE_NAME BASIS_MOLOPT
        POTENTIAL_FILE_NAME POTENTIAL
        WFN_RESTART_FILE_NAME diis-RESTART.wfn
        &SCF
            MAX_SCF  30
            EPS_SCF     9.9999999999999995E-07
            SCF_GUESS  RESTART
            &OT  T
                MINIMIZER  DIIS
                PRECONDITIONER  FULL_SINGLE_INVERSE
            &END OT
            &OUTER_SCF  T
                EPS_SCF     9.9999999999999995E-07
                MAX_SCF  5
            &END OUTER_SCF
            &PRINT
                &RESTART  ON
                    BACKUP_COPIES  1
                    &EACH
                        MD  100
                    &END EACH
                &END RESTART
            &END PRINT
        &END SCF
        &QS
            EPS_DEFAULT     1.0000000000000000E-10
            METHOD  GAPW
        &END QS
        &MGRID
            NGRIDS  5
            CUTOFF     4.2000000000000000E+02
            REL_CUTOFF     6.0000000000000000E+01
        &END MGRID
        &XC
            DENSITY_CUTOFF     1.0000000000000000E-10
            GRADIENT_CUTOFF     1.0000000000000000E-10
            TAU_CUTOFF     1.0000000000000000E-10
            &XC_FUNCTIONAL  NO_SHORTCUT
                &PBE  T
                &END PBE
            &END XC_FUNCTIONAL
            &VDW_POTENTIAL
                POTENTIAL_TYPE  PAIR_POTENTIAL
                &PAIR_POTENTIAL
                    R_CUTOFF     1.6000000000000000E+01
                    TYPE  DFTD3(BJ)
                    PARAMETER_FILE_NAME dftd3.dat
                    D3BJ_SCALING     1.0000000000000000E+00    4.1449999999999998E-01    1.2177000000000000E+00    4.8593000000000002E+00
                &END PAIR_POTENTIAL
            &END VDW_POTENTIAL
        &END XC
        &POISSON
            PERIODIC  XYZ
        &END POISSON
        &PRINT
            &E_DENSITY_CUBE  OFF
            &END E_DENSITY_CUBE
        &END PRINT
    &END DFT
    &SUBSYS
       ...
    &END SUBSYS
&END FORCE_EVAL
$\endgroup$
4
  • 1
    $\begingroup$ Without the input and restart files it is impossible to help you. $\endgroup$
    – Fabian
    Jan 6 at 8:17
  • $\begingroup$ The output would help too, can you upload it somewhere and share the link? Everything belonging to the last and first iteration before and after a restart would be relevant. Maybe it's related to the restart wave function, you can try to set SCF_GUESS HISTORY_RESTART. Then you'd need to save more BACKUP_COPIES, and also more frequently than every 100 steps. $\endgroup$
    – Fabian
    Jan 6 at 10:51
  • $\begingroup$ If the output is less than a few thousand lines long, please copy and paste it into your question post. Otherwise, please push it into this Git repository in a folder called 4064 (since the URL of this question says it's post 4064): github.com/HPQC-LABS/Modeling_Matters $\endgroup$ Jan 6 at 13:34
  • $\begingroup$ @NikeDattani What about gists? gist.github.com $\endgroup$ Jan 7 at 11:20
4
$\begingroup$

In the input file you define

&THERMOSTAT
    &CSVR
        TIMECON     9.9999999999999986E+01
    &END CSVR
&END THERMOSTAT

So I guess you intended to use the CSVR (canonical sampling through velocity rescaling) thermostat. But because you did not set TYPE CSVR CP2K uses the default Nose Hoover thermostat instead.

However, CP2K does not save all thermostat sections to the restart file, only those that are active in the simulation AND are present in the input file. Because &NOSE is not present in the input CP2K did not save the &NOSE section to the restart file. Consequently, the information to properly restart the thermostat is lost. Therefore, the Nose Hoover thermostat is reinitialized when the MD is continued and the "conserved quantity" is not conserved.

If you change the input file to

&THERMOSTAT
    TYPE CSVR
    &CSVR
        TIMECON     9.9999999999999986E+01
    &END CSVR
&END THERMOSTAT

the "conserved quantity" should indeed be conserved in subsequent restarts.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.