[lammps-users] questions on rigid-body treatment

  1. I’d like to treat some parts of atoms (atom type 1,2) as one rigid body while the other atoms (atom type 3,4) should be treated commonly.
    Thus, I’d like to calculate their (atoms of rigid body) forces but not to perform their integration.
    I think I should use exclusion of rigid atoms in NVE command.
    Is thery any other recommendable method for it?

  2. Does just describing of interaction style and coeff (e.g. pair_style, for a certain their cases (e.g. 1 & 3, 1 & 4, 2 & 3, and 2 & 4) make their forces to be calculated?
    In short, at what command of input file forces are calculated actually?

  3. I think they will be treated as rigid if I exclude them in fix NVE command and make their motion manually by chaning position variables appropriately?
    Is it right?

Best regards,

Luke

If by "rigid body" you mean they never move at all,
then just don't integrate them fix nve. I.e. use
a group with fix nve that doesn't include those atoms.

if by "rigid body" you mean they move/rotate together
as one unit, then do that with fix rigid. And define
those atoms as the rigid body.

Steve

2010/9/16 JhonY. I. <[email protected]...>:

2010/9/16 JhonY. I. <[email protected]...>:

1. I'd like to treat some parts of atoms (atom type 1,2) as one rigid body
while the other atoms (atom type 3,4) should be treated commonly.
Thus, I'd like to calculate their (atoms of rigid body) forces but not to
perform their integration.
I think I should use exclusion of rigid atoms in NVE command.
Is thery any other recommendable method for it?

first off. if i understood correctly. you want some atoms to move
and others to not move. in LAMMPS nomenclature, the first are
called mobile and the second group fixed. rigid atoms would be
part of a rigid body, yet still moving (but just not relative to each other).

the solution is very simple. define a group of atoms that contains
only the atom types 3 and 4 and then apply fix nve only to this
group. if atoms are not time integrated, then they cannot move.

2. Does just describing of interaction style and coeff (e.g. pair_style, for
a certain their cases (e.g. 1 & 3, 1 & 4, 2 & 3, and 2 & 4) make their
forces to be calculated?
In short, at what command of input file forces are calculated actually?

you cannot see it like that.
you have to look at the flow of execution like it is shown in the file
verlet.cpp.
many commands add items to lists of classes and those have methods
that are executed at specific steps during the main md loop.

3. I think they will be treated as rigid if I exclude them in fix NVE
command and make their motion manually by chaning position variables
appropriately?
Is it right?

if you want to move groups of atoms as a whole block, you would
need to use one of the rigid fixes or some other position changing fix
to do that.

cheers,
    axel.

Many thanks for your answers really, Alex and Steve.

I’d like to ask additional questions as follows.

Should it be possible, using LAMMPS command, to assign “different atom types” for differenct atom species which should be also distinguished further by two classes of different molecular ID?
That is, if there are two atom species 1 & 2 for atoms of molecule ID 1 and those of molecule ID 2, can we assign atom types 1 and 2 for two these atom species of mole ID 1 and 3 and 4 for those of mole ID 2?

Incidentally asking, can we assign group ID exclusively to atoms of atom type 1 and 2 (e.g., by selecting them), using command of LAMMPS?

Best regards,

Luke

You can assign any types to any atoms and any atoms
to any groups and any atom to any rigid (frozen) body.

See the read_data, set, group commands.

Steve

2010/9/16 JhonY. I. <[email protected]...>: