Incremental/Total Slip Displacement and Distance in PFC3D


I am looking to access the total distance “slipped” by the clump in my model. My model includes a clump in contact with a wall, and the wall has an input velocity. I am using the linear contact model. Is there a way to implement this in PFC3D Version 7.00.154?

I know that I can access the slip state (as either being true or false) using contact.prop(cp,‘lin_slip’), but I am looking to get the distance travelled during slipping by the clump itself (not just whether or not it is slipping).

Thank you.

Hello @awbrandt,

This can be tricky for clumps, especially if the clump has more than one contact at a time, and some may (or may not) be slipping.

With that said, there is no record of the plastic (shear) displacement at a contact for the liner model. One way to compute this value would be to use a set of FISH functions and back-calculate it from the slip energy. This would require:

  1. activating energy tracking
  2. have a FISH callback function registered with the “slip_change” event: if slip has initiated put the contact in a list of contacts to track. If slip has ended then remove the contact from the list
  3. Implement another FISH function registered as a callback after force-displacement law in the cycle sequence, to back-calculate the plastic shear displacement increment from the slip-energy increment at each timestep for each contact in the list (until the contacts are removed from the list)

It may be easier and faster to implement a custom contact model based on the linear contact model that would have this property actually recorded.

– Derrick