Hi,
I have several questions, and would be grateful if someone could answer them.
1) I was wondering if anyone could point me to where in the code, the variable "c_history" (tangential displacement between a particle and the mesh) is saved IF a particle slides to another element. i.e. so that tangential displacement will not suddenly adopt the value zero if a particle slides along a flat plane.
I am not sure but have a feeling that it is the function "FixWallGran::copy_history(int i,int j)". Regardless, would it be possible if someone explained how the logic behind the code does this?
2) In the function "FixWallGran::post_force_eval" i believe the variable iTri is the mesh element id, just as "i" is the often the atom id, if this is wrong please correct me. I do not understand what the variable iFMG refers to, please could someone enlighten me?
3) Finally I was wondering where the option to modify the "skin" for checking neighbours in regards to the mesh is, or is this the same value that the user assigns for atom-atom neighbour list rebuilds?
I appreciate any help that anyone can give, and thank the developers of LIGGGHTS and the community for their hard work.
Regards,
Jon
ckloss | Thu, 11/10/2011 - 23:18
Hi Jon,thanks - great to
Hi Jon,
thanks - great to hear that our work is appreciated!
The fix wall/gran code is a bit messy at the moment, hopefully it will be cleaner in the next major version. Regarding your questions:
1) the idea behind the "history transition" is as follows: contact history is assumed to resume across two faces if the faces are coplanar. The criterion if two faces are assumed coplanar can be controlled via the keyword 'curvature' in fix mesh/gran.
Technical details are as follows: The particle-tri neighlist is looped (fix_wall_gran.cpp:line 885), add_to_contact_list() is called within that loop. If a particle-tri contact is new, face_transition() is called (line 571), face_transition() checks if there is a triangle that the particle is currently in contact with which is coplanar to the "new" triangle. if this is the case, contact history is resumed.
2) iFMG loops over all fixes of type mesh/gran, as a fix wall/gran can hold multiple meshes
3) the skin value is the same for particle-particle and particle-mesh interactions
Cheers, Christoph
Lamers Jon | Mon, 11/14/2011 - 21:04
Thank you!
Hi Christoph,
Thanks for your speedy answers, they were extremely helpful!
Regards,
Jon