region in rigid body system

Hi,

I have a rigid-body system, 1 molecule consists of 7 atoms (3 types of atoms). I have generated a quenched state of the system on which I want to do tensile test. I want to define two regions at the x-boundaries such that the regions consist of approximately 2-layers of molecules. These regions will move with equal and opposite velocities along x-direction.

I can define the regions but the problem is, for some molecules, some atoms are within the region and some are out of the region. Part of the input script is given below:

group center type 1
group side2 type 2
group side3 type 3
region r1 block 0.0 44.04426 EDGE EDGE EDGE EDGE units box
region r2 block 484.48687 528.53113 EDGE EDGE EDGE EDGE units box
region boundary union 2 r1 r2
group boundary region boundary
group mobile subtract all boundary
group wall1 region r1
group wall2 region r2
group new1 intersect boundary center
group new2 intersect boundary side2
group new3 intersect boundary side3
set group new1 type 4
set group new2 type 5
set group new3 type 6

I want to say that if the type-1 atom of the molecule is within the region then the entire molecule is within the region. How can I do that?

Any suggestion is highly appreciated.

Thank you.

CM

I want to say that if the type-1 atom of the molecule is within the region then the entire molecule is within the region. >How can I do that?

There isn’t any way currently to do that in LAMMPS. A new option on the group
command would have to be written to enforce such an idea.

Steve

Okay. Thank you for your reply. I think if this new option is implemented, it will help rigid-body simulators a lot. So, if you consider it in the LAMMPS to do list, that will be really great.

Regards,

CM

Just added an “include molecule” option to the group
command to do this. Using some code from delete_atoms

to delete additional atoms in the same molecule, that I had
forgotten already existed. Will be in a patch later today.

So try it out on your problem and see if it works as expected.

Note that this is not a cheap operation in parallel, as it requires

communication among all procs to pass around the relevant molecule IDs.

Steve