[lammps-users] fix box/relax during minimization

Dear all,

I use ‘fix box/relax’ to obtain desired pressure at the end of minimization. My input and log file are in attachment.

The following is from my input:

min_style cg

min_modify line quadratic

minimize 1e-100 1e-120 10000000 100000000 first minimize to get proper initial configuration

fix 1 all box/relax aniso 0 0 NULL vmax 0.001

minimize 1e-100 1e-120 10000000 100000000 second minimize to obtain energy minimum

I can’t think through one thing:

At the beginning of second minimization, why lz jumps to a small value.

Following is from log file:

Step Temp PotEng Lx Ly Lz Pxx Pyy Pzz Pxy Pxz Pyz

411 0 -19007.596 43.4669 5.7699913 327.66713 -820.57836 -932.49091 -7.0329909e-08 5.3651166e-10 1.2124686e-08 7.2056297e-09

Loop time of 11.8872 on 1 procs for 411 steps with 4844 atoms

.

.

.

fix 1 all box/relax aniso 0 0 NULL vmax 0.001

minimize 1e-100 1e-120 10000000 100000000

Memory usage per processor = 7.09226 Mbytes

Step Temp PotEng Lx Ly Lz Pxx Pyy Pzz Pxy Pxz Pyz

411 0 -19007.596 43.4669 5.7699913 327.14627 -821.88483 -933.97556 -7.057336e-08 5.2511978e-10 1.2135792e-08 7.1956755e-09

Box size lx,ly decrease gradually in second minimization to achieve zero pxx,pyy, since no further constraints to free z surface, lz keeps the same value in second minimization. Why the jump??

Any one has a clue of it?

Best,

Weina

log.s1_relax2 (17.5 KB)

f_relax.in (655 Bytes)

If you are using boundary s (shrink wrap) for the z dimension,
then the box-size value can jump around. It only gets recomputed,
when neighbor lists are created, so when that is will be unpredictable
during a minimization. The atoms themselves are doing the
right thing - it's just that the box size doesn't get re-wrapped every
time you are outputting lz.

Steve