[lammps-users] Resuming a constant engineering strain rate simulation

I did a straining simulation using "fix deform" with the "erate"
parameter to set a constant engineering strain rate. After a few percent
of strain the current simulation state was saved to a restart file.

Now I would like to continue this simulation with exactly the same
engineering strain rate (i.e. at same deformation velocity). Looking at
the source code of fix deform it seems to me that it doesn't store the
original box length in the restart file (which is required to compute
the deformation velocity). But the documentation states that the fix can
perform deformation over multiple runs, using the start and stop
keywords of the run command. In my eyes this is not correct when the
simulation is continued via read_restart.

Maybe someone has a simple solution to this. Otherwise I would recommend
to let fix deform store the original box length (at t=0) in the restart
file. Then, in the resumed simulation, it should compute the deformation
velocity based on this original box length instead of the current box
length when the fix is redefined.

My LAMMPS version is 21Nov09.

Alex

Alex,

There might be two solutions:

1> Since you know how much time the previous run takes, you should be able to figure out the final length at the end of a given time, L = L0+ erate*time*L0.

2> Alternatively, you can use "fix deform" with the "scale" option. The "scale" will change the box based on its size at the beginning of a run. It is essentially the total engineering strain. Now you need to find a suitable time to give the right "erate" in your previous calculation.

Yujie

But the documentation states that the fix can
perform deformation over multiple runs, using the start and stop
keywords of the run command. In my eyes this is not correct when the
simulation is continued via read_restart.

Restarts and multiple runs are 2 different things. The latter
is the capability to do multiple runs in the same input script
and not have the fix deform command reset the initial length,
which is what run start/stop enables. So the doc pages are correct.

You are correct that the command doesn't allow for easy restart
with the erate option, b/c the initial length is not stored. This
should be added. Until then, you could always use a new
erate based on the restart length.

Steve