Order of force computes

Submitted by mschramm on Tue, 04/18/2017 - 21:49

Hello,
Could someone guide me on where I should look for where each force compute is done? (Contact, bond, other...)
I am working on the gran/bond model and would like to turn off contact forces between bonded particles (since they are part of a singular geometry).
I tried using the grep command to attempt to find where it may be but had no luck.

Thank you!

JoshuaP | Wed, 04/19/2017 - 12:32

You can stop to compute contact forces in a group by this command in liggghts
neigh_modify exclude group defgroup defgroup
where defgroup is your defined group of particles

JoshuaP | Thu, 04/20/2017 - 10:23

then you need to define a group for each mega particle. the only problem is the limitation of groups that can be defined, but if you group all mega particles together where you know that you dont need contact calculations you could manage this

mschramm | Thu, 04/20/2017 - 17:11

Doing everything in script seems excessive. This was why I was trying to find where in the liggghts source code they do the individual computes. There I would like to add a flag that will check to see if atom[i] is bonded to atom[j]. If it is, skip hertz mindlin contact forces. I know I can do this in normal_model_hertz, add the bonded_neighbor list and call it a day. But if contact forces are calculated first followed by and always followed by bonded forces, I could just zero out the current force calculation. This would save memory and avoid calling a conditional function for every atom atom pair.

ckloss's picture

ckloss | Sun, 04/23/2017 - 11:45

Hi Matt,

you should look at the pair_gran_base class and the normal_*, tangential_*, cohesion_*, rolling* files!

We do not use the bonded contact list any more for now, you can just use standard contact history to do the bonding, it's more efficient

Best wishes
Christoph