Hi, I noticed that running molecular dynamic calculations , the time step (dt) cannot be changed if one restarts from a previous run (restart_mode='restart'). This happens at least in versions 4.0 and 3.2. If it is done, pw.x runs without complain (see note below), but the velocities and the kinetic energies are not correctly calculated. Also, in the prefix.msd.dat file, the times are calculated as dt*istep, producing a jump in time if dt is changed. The time should be something like previous_final_time+(istep-previous_nstep)*dt. Note that the time is correctly reported in the standard output.
This can be tested with example04, running it mannually to avoid deletion of the temporary save, and restarting wiht a modified input file si.md8.in using restart_mode='restart', dt=10, nstep=150, Note: There is also a warning message when restarting in example 4: RECOVER from restart file failed: file not found. Here is my bash script (just one more) to extract the temperature and the energies from the output file. The jumps are seen plotting the dat files. INFILE=si.md8.out SUFFIX=si8.dat grep kbar $INFILE |awk '{print $6}' >>p_${SUFFIX} grep 'temperature =' $INFILE |awk '{print $3}' >>t_${SUFFIX} grep 'Ekin + Etot (const)' $INFILE |awk '{print $6}' >>etotal_${SUFFIX} grep 'kinetic energy (Ekin) =' $INFILE |awk '{print $5}' >>ekin_${SUFFIX} paste etotal_${SUFFIX} ekin_${SUFFIX}|awk '{printf("%7.7f \n", $1-$2)}' >epot_${SUFFIX} Why change the time step? Maybe just to check the stability of the simulations. Or maybe a large dt is enough for driving the system to a certain temperature near equilibrium, but a smaller one is need after the thermostat is switched off. -- Eduardo Menendez -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.democritos.it/pipermail/pw_forum/attachments/20080523/1334e33c/attachment-0001.htm