[lammps-users] Read_restart and fix/deform

Hi
I am using fix/deform command using scale and I have to restart the simulation after few steps. LAMMPS reads the restart file, but instead of calculating the final box sizes from the initial box size, LAMMPS calculates the final box sizes from the restart box size and hence the deformation rate is changed. LAMMPS adjusts the steps to account for the already simulated timesteps after the first run but the final box size, which is calculated first is already modified to a higher value.
I am pasting a small portion of the output code to show what is happening:

begin output

part of the input script

orthogonal box = (-102.248 -70.8392 0.0) to (102.248 70.8392 62.6136)
pair_style eam
pair_coeff * * /potentials/Cu.eam
timestep 0.000812
thermo_style custom step lx
thermo 1
fix sim-nvt all nvt 100 100 0.1
dump 11 all custom 200 dat.*.gz xs ys zs tag epair centro
restart 1000 file_restart1 file_restart2
fix vol-rescale all deform 1 x scale 1.06 y scale 1.06

I have tried using everything else, like using only, “10000 upto stop 10000”, “10000 upto start 0”, “start 0 stop 10000” but the result is the same

run 10000 upto start 0 stop 10000
unfix vol-rescale
run 50000 upto

Output from the lammps: run before the simulation had to be stopped

Step Lx
2390 207.42774
2391 207.42897
2392 207.4302
2393 207.43142
2394 207.43265
2395 207.43388
2396 207.43511
2397 207.43633
2398 207.43756
2399 207.43879
2400 207.44001 ### 1.01440 times initial X dimension

simulation stopped and then restarted

the restart script file --begin

read_restart file_restart2
pair_style eam
pair_coeff * * /potentials/Cu.eam
timestep 0.000812
thermo_style custom step pe etotal vol temp lx cpu
thermo 1
fix sim-nvt all nvt 100 100 0.1
dump 11 all custom 200 dat.*.gz xs ys zs tag epair centro
restart 1000 file_restart1 file_restart2
fix vol-rescale all deform 1 x scale 1.06 yscale 1.06
run 10000 upto start 0 stop 10000

I have tried using everything else, like using only, “10000 upto stop 10000”, “10000 upto start 0”, “start 0 stop 10000”

unfix vol-rescale
run 50000 upto

the restart script file --end

restart simulation output

LAMMPS (22 Jun 2007)
Reading restart file …
WARNING: Resetting unit_style to restart file value
WARNING: Resetting boundary settings to restart file values
orthogonal box = (-103.72 -71.8593 0.0437496) to (103.72 71.8593 62.5859)
1 by 1 by 1 processor grid
158720 atoms
Setting up run …
Memory usage per processor = 187.396 Mbytes
Step Lx
2400 207.44001
2401 210.42839 ### 1.01440 times X dimension at timestep = 2400
2402 210.42964
2403 210.43088
2404 210.43213
2405 210.43337
2406 210.43462
2407 210.43586
2408 210.43711
2409 210.43835

end output

Is there anything wrong in my script ? Kindly suggest.
Thank you,
Kedar.

Kedarnath Kolluri
Ph.D Candidate, Dept of Chemical Engineering
University of Massachusetts, Amherst, MA 01003
Ph: 413-577-0136
kedar@…424…

There is nothing stored in the restart file about the fix deform state.
So you have to use optoins on the run command (start, stop, etc)
to do what you want. Sounds like you've tried that, so maybe there
is a bug. I'll see if I can generate a simple example that does
the right thing.

Steve

My previous answer to this Q was wrong to suggest using
restart files and the run options (start,stop) together. The two
are not meant to be mixed. The latter is meant to be used
in one input script when you do successive runs and want
a property (the box deformation in this case) to vary smoothly
across runs. This was broken in LAMMPS for fix deform,
but I posted a patch this AM.

If you want to read in a restart file of a partly deformed state, then
continue, you may need to twiddle the deformation parameters yourself,
since the restart files knows nothing about the deform fix
from the previous run. I've attached a few scripts that show
how this can be done. In.bug does consecutive runs in one file.
In.bug.1 and in.bug.2 do it thru a restart file.

Steve

in.bug (484 Bytes)

in.bug.1 (444 Bytes)

in.bug.2 (238 Bytes)