Is there a way to get energy dissipated from one particular set of contacts ?

Asked by Antoine FAULCONNIER

Hello everyone,

> Context : my simulation contains facetbox and sphere and I am using Hertz-Mindlin contact law. Contacts happen between spheres and between facetbox and spheres.

>Question : Is there a way to retrieve energy dissipated only in contact between spheres ? I am trying to calculate the proportion of energy dissipated in sphere/sphere contacts and in sphere/facet contacts.

Thanks,
Antoine

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Jérôme Duriez
Solved:
Last query:
Last reply:
Revision history for this message
Best Jérôme Duriez (jduriez) said :
#1

Hi,

Thinking of Law2_ScGeom_FrictPhys_CundallStrack.plasticDissipation, the latter does not care of interacting bodies' shape so you can not really use it.

You can nevertheless probably get inspiration from corresponding source code [*] to recompute, all by yourself e.g. from Python, the "elastic trial" shear force and get yourself the plastic dissipation for your own subset of contacts. After checking e.g.

isinstance(O.bodies[cont.id1].shape,Sphere) and isinstance(O.bodies[cont.id2].shape,Sphere) # cont = a YADE interaction

[*] https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/ElasticContactLaw.cpp#L92 and above

Revision history for this message
Antoine FAULCONNIER (afaulconnier) said :
#2

Thanks Jérôme Duriez, that solved my question.