[lammps-users] NPT without PBC

Dear all,

The lammps documentation states that a NPT ensemble cannot be used
without periodic boundary conditions (PBCs). A naive question perhaps
... but why is this so?

I ask this because for any group of atoms that are to be simulated,
one would specify some positions and first do a "NPT relaxation",
because the positions assigned may not be consistent with the
empirical potential used.

For example, in the shear example which is part of lammps, one should
first relax the Ni FCC crystal and then carry out the shearing is my
belief. In the example, this is done using a NVE ensemble and the
temperature is rescaled to 300 K. The shearing is then carried out.
This does not ensure that the pressure in the system fluctuates around
zero as seen below:
''''''''''''''''''''''''''''' Output of ./lmp_serial < in.shear
Step Temp E_pair E_mol TotEng Press Volume
0 300 -8317.4367 0 -8263.8067 -7103.5557 19539.346
25 220.34459 -8272.5701 0 -8233.1798 5170.6956 19539.346
50 300 -8237.7876 0 -8184.1576 13746.642 19678.792
75 292.67269 -8229.8093 0 -8177.4891 14324.984 19737.233
100 300 -8245.8191 0 -8192.189 9038.4055 19770.872
Loop time of 0.871972 on 1 procs for 100 steps with 1912 atoms
In principle one would do the equilibration for many more steps using
a NPT ensemble and then carry out the shear.

However lammps does not allow fix NPT without periodic boundary conditions.
Is there something in the documentation I am missing OR is my recipe
for shear wrong?

With Best Regards,
Manoj Warrier
Institute for plasma Research, BHAT, Gandhinagar,
Gujarat, India - 382425

To relax a system with a free surface, I suggest using
the minimize command. To my mind, NPT is ill-defined
for a non-PBC system both b/c there is no well-defined
volume (as someone else answered) to measure the
pressure, but also b/c there is no well-defined variable
to change to accomodate/produce the desired pressure.
Even if you computed pressure in the usual way
with some assumed volume, there would be surface/volume
effects that lead to errors.

I'm interested in having a Berendsen or Andersen thermostat/
barostat in LAMMPS, so if someone can write out
the eqs for how it should be implmented in a velocity Verlet
framework, I can take a look. If they say Berendsen can
be used with non-PBC, I'd like to learn what they mean by


Steve, Bala,

Point well made by both of you and understood ->
Pressure computation requires a volume which is ill-defined in case of no PBCs.
I shall give a gedenkan example (of course with dubious rigour) of a
way I would do this in the latter part of this mail. Everybodys
comments would be invaluable.

Implementation of Berendsen Thermostat as I understand it (in LaTeX):
(ref: Kai Nordlund's notes on atomistic simulations on the www-

The following in my earlier post should have read as
"Implementation of Berendsen Barostat" ....