Hi I have been trying to run MD simulation using MACE potentials.
There are two issues I am encountering;
Restarting with latest dump file would cause the temperature to drop and by the time same number of steps have passed it would come back to the temperature where it started from, making the system to be stuck in the same ranges of temperatures.
I have trying to do the restart in a different way, i.e using read_restart and write_start, unfortunately no luck with that as I get the following error while saving the restart file
WARNING: Pair style restartinfo set but has no restart support (src/pair.cpp:755)
WARNING: Pair style restartinfo set but has no restart support (src/pair.cpp:755)
WARNING: Pair style restartinfo set but has no restart support (src/pair.cpp:755)
And when I read the file, as it is a warning it gives me a hard stop as following.
Reading data file ...
ERROR: Unknown identifier in data file:
For more information see https://docs.lammps.org/err0001 (src/read_data.cpp:1482)
Last command: read_data dump.restart.77854
If your dump file does not contain velocities, it is not surprising that “the temperature drops”. Temperature is the result of kinetic energy of particles and if your particles are all restarting from zero kinetic energy then their temperature will also be zero.
You cannot use read_data to restart from a restart file. You use read_restart. Or, you can use write_data to write a data file.
If velocities are being read in correctly then there should be no difference between the temperature logged at the end of the previous simulation and the temperature logged following the restart, since temperature should be calculated purely based on velocities.
I think you should spend some time working out exactly what is happening there before you go any further. It should be possible for you to use write_data and read_data to confirm that velocities are being output and re-read back in, as data files contain this information in human-readable format.
Yes, as I have been doing that too, so following are my velocities, as before using read_data/write_data, I have also been previously reading from dump files which had velocities (in human readable format). The following is reading dump velocities from the file below,
read_dump dump.relax.1.077850 77850 x y z vx vy vz box yes replace yes
neighbor 2.0 bin
neigh_modify delay 10
region 1 block INF INF INF INF 4.0 6.7
group regionAtoms1 region 1
group free subtract all regionAtoms1
fix constraint regionAtoms1 setforce 0.0 0.0 0.0
fix 1 free nvt temp 1000.0 1200.0 $(100.0*dt)
thermo 200
thermo_style custom step lx ly lz temp pe ke etotal press
dump 1 all custom 200 dump.relax.1.* id type x y z vx vy vz
dump_modify 1 sort id flush yes pad 6
And I know the velocities are read, as given my first comment above, after being read from dump and after the following the first step of NVT the velocities drop and then after number of steps it comes back to the same temperature as if stuck in a cycle.
This is an expected behaviour. The line fix 1 free nvt temp 1000.0 1200.0 $(100.0*dt) introduces a temperature ramp from 1000K to 1200K. If you restarted the simulation, it would start from the beginning, i.e. the thermostat will decrease the temperature to 1000K and then increase is throughout the run to 1200K.