Some questions about rigid bodies

Submitted by RobertG on Mon, 05/18/2015 - 14:00

Hello,
I'm pretty new with rigid bodies and have some question about it.
First the project. I want to insert rigid bodies with 4 atoms and "free" particles together in an system.
I have written an script, that inserts rigid bodies continuously and it works so far.
But after a time, some rigid bodies fall apart.

1. To integrate I use the
fix integrate1 all nve/sphere command to integrate the free particles and
fix integrate2 all rigid molecule to integrate the molecules.
Do I have to use the integration commands on the different groups, that means
fix integrate1 particle1 nve/sphere command to integrate only the free particles and
fix integrate2 molecule4 rigid molecule to integrate only the molecules. Does it work this way? What is with the interaction between them?
2. Is there a better way, to insert the molecules continuously?

I hope some one can help me.

Best regards
RobertG

JoshuaP | Tue, 05/19/2015 - 10:09

I think the way with different groups would be more efficient , otherwise u integrate them twice. I'm not sure why they fall apart, maybe some more information would help.

regards joshua

ma | Fri, 06/19/2015 - 09:26

Hi RobertG,
I have the same problem with the rigid bodies, i.e., they fall apart. Did you find out how to solve it?
I will be so gratefull if you help me.
regards
ma

RobertG | Mon, 06/22/2015 - 15:06

Hello ma,
the problem was, that i inserted molecule continuously. But after the fix rigid was defined, the group of molecules which have to be integrated, with the fix rigid was not updated. Therefore the new molecules are integrated with the fix nve/sphere command. That was the reason, why they fall appart.
You can bypass the problem, by recall the fix rigid command after you insert new molecules.

Hope that helps.

Best regards
RobertG

ma | Fri, 06/19/2015 - 13:54

Hi Joshua
No, it does not happen with rigid single.
however I have to clump two particles that think cannot be modeled by single. what is the problem with molecule?

thanks
ma

JoshuaP | Fri, 06/19/2015 - 14:21

you can use the keyword single for creating a single clump of particles. If you want to model more than one clamp, you can use the keyword group instead to simulate different groups treated as clumps.

ma | Fri, 06/19/2015 - 14:57

thanks for your reply
in fact I have about 45000 particles that should be clumped one by one. which means for example over 20000 molecules with two atoms. groups are limited to 32 particles that is so small for what I need.

chewnins | Fri, 06/19/2015 - 22:17

You need to exclude the particles in the rigid body from the NVE/SPHERE integration. The issue is that FIX RIGID is integrating them as a body, then NVE/SPHERE is also integrating them to update positions. A group can have more than 32 particles, there are only 32 groups allowed. You would need 2, one for the spheres, one for the rigid bodies, then use style hybrid granular molecular and use rigid by molecule ID.

ma | Fri, 06/19/2015 - 22:50

Hi,
here is my script, I think that I am doing the same (maybe?????) please take a look and let me know your opinion:

##################################################
atom_style hybrid granular molecular
boundary m m m
newton off
communicate single vel yes
units si

read_data /home/particles
mass * 1

neighbor 0.001 bin
neigh_modify delay 0 exclude molecule all

#Material properties
fix m1 all property/global youngsModulus peratomtype 1.e8 1.e8 1.e8
fix m2 all property/global poissonsRatio peratomtype 0.22 0.22 0.22
fix m3 all property/global coefficientFriction peratomtypepair 3 0.24 0.0 0.9 0.0 0.0 0.0 0.9 0.0 0.0
fix m4 all property/global coefficientRestitution peratomtypepair 3 0.87 0.87 0.87 0.87 0.87 0.87 0.87 0.87 0.87

pair_style gran/hertz/history
pair_coeff * *

timestep 0.0000027

# mesh walls are defined here

##groups are defined here, type 2 and 3 are asssigned to the mesh walls
group particles type 1
group nveinteg type 2 3

#apply nve integration
fix integr nveinteg nve/sphere
fix rigidp particles rigid molecule

run 1
fix f0rigid particles setforce 0.0 0.0 0.0
velocity particles set 0.0 0.0 0.0 units box

run 100000
########################################################################
and here is my data file

1 1 0.013972 0.018184 0.017787 0.0011 2650 1
2 1 0.0151 0.0182 0.0178 0.0011 2650 1
........
any suggestion will be appriciated
thanks
ma

ma | Fri, 06/19/2015 - 23:36

when I use 100 molecules in the region, which means that they do not have any contact with each other, this does not happen. but with 500 molecules and more even without any initial contacts, they fall out.

richti83's picture

richti83 | Tue, 06/23/2015 - 08:27

1st: From the datafile I guess your biggest diameter is 0.017787 m, but your cutoff distance is only 0.001, you need neighbor 0.017787 bin otherwise the pairwise neighbourlist will not be build until the center of the particles are closer than 0.001 and this leads to a very high overlap and forces for the big particles
2nd: your coefficientRestitution is very high, which material has a damping of only 13% ??? Thinking on a ball which is droped at 1m, will it really reach 0.87m after it hits the ground ? I don't think so
3rd: your youngsmodulus is very high for a timestep of 2.7e-6, try to reduce Y or use a smaller timestep.
4th: I'm not sure if your exclude command is correct, I would try neigh_modify delay 0 exclude molecule particles instead

molecule group-ID
groupname = exclude if both atoms are in the same molecule and in the same group

I'm not an associate of DCS GmbH and not a core developer of LIGGGHTS®
ResearchGate | Contact

ma | Thu, 06/25/2015 - 13:55

Hi,
thank you so much for your reply,
All of the input parameters are those used in a series of simulations on single particles that resulted in reasonable macro-mechanical properties. Now, I need to compare the results with those on non-spherical particles. so, I cannot change the parameters. However, the particles Diameter is 0.0011 m.
I tried all of your comments step by step. For example I reduced the timestep by 100 times, reduced E, used COR=0.2 , and changed the exclude command. unfortunately none of them solved the problem.
I am so confused.
Best regards
ma

anandmds's picture

anandmds | Tue, 01/31/2017 - 12:17

Hey every one,

I am creating a 'particle bed' by dropping mono-sized particle in a container, and on top of the bed, I am creating a rigid body using the command " fix rigid" and using the "neigh_modify exclude" command to switch off the interactions of the atoms within the rigid body group. Now, the problem I am facing is that, the rigid body created does not fall down because of gravity on top of the particle bed, even though I am using " fix gravity all" that includes all the atoms in the simulation box. It just stays motionless where it was created. How do I make the rigid body to fall down ?. Please help.

Thanks & regards
Anand M

Anand.M
M.S. Mechanical Engineering,
I.I.T. Madras