In tangential_model_history.h, line 178, the friction threshold is evaluated as (Ft_shear > Ft_friction) and Ft_shear (line 174) has no contribution from a damping term (const double Ft_shear = kt * shrmag;). Per the LIGGGHTS documentation for gran hertz as well as Kloss et al., 2012 equation 4, the threshold for sliding friction should consider the entire tangential force (shear + damping).
## Edit - 9/21 ##
Here are some more details. I have updated the tangential model to use the correct threshold. The corrected model is attached as tangential_model_history.txt to be able to upload, revert the .txt to .h before use.
I discovered the issue by performing the sliding validation case in Sunday et al., 2019 (https://doi.org/10.1093/mnras/staa2454), which is implemented in the attached in.sliding.txt (see section 4.1.5 in Sunday). A particle placed on a plane and given an initial velocity (v0) should travel a distance d = (v0*v0)/(2*mu_s*g), where mu_s is the static friction coefficient and g is gravitational acceleration. For the particle properties in in.sliding.txt, this is a traveled distance of d = 2.5484 m. If you run in.sliding.txt with the current version of LIGGGHTS, the particle travels a distance d = 2.52268 m, a ~20cm error. If you use the attached tangential_model_history.h (which uses the corrected friction threshold) to compile LIGGGHTS and re run in.sliding.txt, the particle travels d = 2.54841.
Attachment | Size |
---|---|
![]() | 16.32 KB |
![]() | 3.86 KB |