Use of rigid bodies in the nvt ensemble

Hi all,

I was wondering if someone could help out a new LAMMPS user - I'm a bit confused regarding where I'm going wrong with trying to simulate rigid bodies using the nvt ensemble.

With a timestep greater than 1, I get the dreaded "ERROR: Out of range atoms - cannot compute PPPM" message. With timestep of 1, it seems to work. I'm not sure how the system could be catapulting atoms around such that this could happen in the first integration step (the molecules are not even close to contact at the start of the simulation), so I'm at a loss to understand it. I basically want 2 rigid body molecules, and I'd like the system to evolve in a thermostatted way. I've tried to read the documentation on these things, but I'm a little stuck to see what's going wrong. I've pasted the control file, and was wondering if you anyone could take a brief look if they have time?

The groups seem to be correctly defined, so it's not the case that some atoms are free to break off from the structures etc. The information in my data file is also apparently correct, but I've not pasted it as it contains circa 500 atoms and around 250 pair coefficients (don't ask!).

Regards,

John.

The control file follows:

Hi all,

I was wondering if someone could help out a new LAMMPS user - I'm a bit confused regarding where I'm going wrong with trying to simulate rigid bodies using the nvt ensemble.

With a timestep greater than 1, I get the dreaded "ERROR: Out of range atoms - cannot compute PPPM" message. With timestep of 1, it seems to work. I'm not sure how the system could be catapulting atoms around such that this could happen in the first integration step (the molecules are not even close to contact at the start of the simulation), so I'm at a loss to understand it. I basically want 2 rigid body molecules, and I'd like the system to evolve in a

what are your rigid bodies composed of? what is the shape?
the length of the time step has to be adjusted so that the
center of mass e.o.m.s and the rotational e.o.m.s can be
properly integrated. if one of your rigid bodies is a "thin stick"
then you may still need a small time step or else the integrator
may diverge.

cheers,
    axel.

Hi John,

can you send a simple data file that causes the error?

-Trung

Quoting John Grime <[email protected]...>:

Trung can tell you if there is an issue with fix rigid/nvt. The PPPM
error typically happens because atoms move too far and you
are not checking often enough for the need to reneighbor. So
make sure you check every timestep.

Steve

Hi John,

please use fix rigid/nvt with the following arguments for tparam as a workaround for your problem:

fix 1 all rigid/nvt group 2 test_0 test_1 temp 300 300 100 tparam 10 5 3

The second parameter (i.e. Titer = 5), the number of iterations (or inner steps) performed to update the thermostat should be chosen so that the timestep divided by Titer should be less than 1.0 for the Maclaurin expansion in the fix rigid/nvt to converge. That means if you want to use a timestep as big as 5.0 femtoseconds with "units real", set Titer greater than or equal to 5.

In short, it is a tricky bug, I'll send the fix for it to Steve as soon as I could.

Cheers,
-Trung

Quoting Steve Plimpton <[email protected]>: