LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Mailing List Archives
Re: [lammps-users] fix rigid/npt with triclinic
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lammps-users] fix rigid/npt with triclinic

From: Wes Barnett <w.barnett@...668...>
Date: Mon, 28 Aug 2017 15:32:30 -0400

On Mon, Aug 28, 2017 at 2:38 PM, Axel Kohlmeyer <akohlmey@...24...> wrote:

On Mon, Aug 28, 2017 at 2:28 PM, Wes Barnett <w.barnett@...668...> wrote:

On Mon, Aug 28, 2017 at 12:14 AM, Trung Nguyen <ndactrung@...24...> wrote:
Hi Wes,

it's possible to support triclinic boxes for fix rigid/npt and rigid/nph either by following the reference cited the fix rigid doc (Kamberaj et al), or by borrowing what is implemented in fix nh for updating the full box dimension tensor.

However, please note that fix rigid/npt and rigid/nph with triclinic boxes would be mostly useful for the cases where you only have rigid bodies in the system. For systems of polymer-grafted rigid bodies like yours, I think the workaround along the line Axel suggested would work to the similar effect:

# assuming you're having a triclinic box setup

group nanoparticles type 1
group tethers type 2
fix 1 nanoparticles rigid/nvt temp ...
fix 2 tethers npt temp 1.0 1.0 1.0 xy 1.0 1.0 10.0 ...  dilate all
fix_modify 2 press thermo_press

The reason that it would work is that the simulation triclinic box is to be barostatted by the fix npt, which uses the system pressure tensor as feedback.

Thanks Axel and Trung, this helps. I now see that this method is one of the options listed on the "fix rigid" page for using pressure coupling with a mixture of rigid and non-rigid molecules.

Is the thermo_press compute modification (the last line) always necessary in a system like this?

​it is a case of "better safe than sorry". you can have only one fix changing the cell shape and volume, and that has to be coupled to the complete system pressure. that is usually for group all, i.e. what the thermo press keyword outputs. that should be done correctly by the npt or nph fix, but there is no harm in making it explicit.

Interestingly with iso or aniso pressure I am able to have more than one fix npt without any errors or warnings. If I do:

fix 1 rigidGroup rigid/nvt molecule temp 1.0 1.0 0.5
fix 2 nonRigidGroup npt temp 1.0 1.0 0.5 iso 5.0 5.0 5.0

Is that the same as the following practically speaking?

fix 1 rigidGroup rigid/npt molecule temp 1.0 1.0 0.5 iso 5.0 5.0 5.0
fix 2 nonRigidGroup npt temp 1.0 1.0 0.5 iso 5.0 5.0 5.0

The manual says that I "cannot" use both "fix npt" and "fix rigid/npt" since only one is coupled to system pressure, so I would have expected an error message. Is the last example above supported by LAMMPS or should it be avoided? 

James "Wes" Barnett
Postdoctoral Research Scientist
Department of Chemical Engineering