Temperature during NVE run

151 views
Skip to first unread message

Léon Luntadila Lufungula

unread,
Jan 9, 2024, 5:59:24 AM1/9/24
to cp2k
Dear all,

I'm running some ab initio NVE calculations to determine accurate settings for EPS_SCF, EPS_DEFAULT, CUTOFF and TIMESTEP for my production runs. I think I have found good values for each as I see little to no drift in the energy after 16ps of simulating and the oscillations also seem reasonable (see below for details). However, I see that the average temperature during my simulation is around 157 K, while I set TEMPERATURE to 298.15 K. (see input and ener files in attachment)
T.png
I know that NVE does not keep the temperature constant, but is it normal that it is nearly half of the set temperature? Any comments on this would be greatly appreciated!

MD convergence details (comments on this part are always welcome):
The extrapolated drift per ns is: 0.0001415478264154313 a.u 44.697268403725126 K The oscillations (standard deviation) of the energy is: 2.6854768188532883e-05 a.u. The average kinetic energy is: 0.06610813204255318 a.u. The average CPU time is: 8.164207377190335 The drift per ps is 0.0002 % of the kinetic energy. The oscillations are 0.0406 % of the kinetic energy.
E.pngU_and_E.png
The time until equilibration was chosen to be 5ps based on the figures above and all mentioned quantities above have been calculated from 5ps to the final step of the simulation (~16ps).
Drift was calculated by taking the difference in the cumulative average of the constant of motion over the equilibrium period (5-16ps) and dividing by the timerange (~11ps) to get the drift per ps. This was then multiplied by 1000 to get the drift per ns.
The oscillations were calculated by taking the standard deviation of the constant of motion over the equilibrium period.
As instructed by the manual in the section of MD Convergence, the drift per ps and oscillations are calculated as percentages of the kinetic energy. As these values are well below 1% and the constant of motion seems to be quite stable in the pictures, I can conclude that the settings are appropriate to maintain stable dynamics. EPS_SCF 6 gave a significant drift, therefore EPS_SCF 7 was chosen. I'm also looking into lower values for EPS_DEFAULT to reduce the CPU time.

If someone has comments or suggestions on my way of calculating and interpreting the drift and oscillations, I'd be happy to hear them!

Best wishes for 2024!

Kind regards,
Léon

a101-oh-NVE-scf7-def12.md.inp
a101-oh-NVE-scf7-def12.md.ener

Léon Luntadila Lufungula

unread,
Jan 9, 2024, 6:10:27 AM1/9/24
to cp2k
P.S. I have tried several ways to find the best way to calculate the drift before I ended up with this formula. However, as the cumulative average of the constant of motion oscillates up and down, this way of calculating the drift is still not that accurate as it will very much depend on where in the oscillation you measure the values. Therefore, I also wanted to ask if someone knows a more elegant way to calculate the drift?

Thanks in advance,
Léon

Matt Watkins

unread,
Jan 9, 2024, 6:12:39 AM1/9/24
to cp2k
Hi, yes, if you start from a more or less optimised structure you expect around half of the initial kinetic energy to be converted into other modes (potential energy has to rise from the minimum so kinetic energy will decrease).
To just get a ball park temperature you can use the temperature rescaling algorithm to just rescale the kinetic energy if it drops too low.
Matt

Léon Luntadila Lufungula

unread,
Jan 9, 2024, 7:06:43 AM1/9/24
to cp2k
Hi Matt,

Thanks for the informative answer! I'm a real novice in MD simulations so that obvious explanation didn't occur to me..

Kind regards,
Léon

Reply all
Reply to author
Forward
0 new messages