A program to recognize and reward our most engaged community members
Regarding the API editing of IPluginParticleBodyForce, I need to get the real-time position coordinates of a specific geometry. I want to add a body force to particles based on this moving geometry.
IPluginParticleBodyForce
Thanks, does anyone know how to do this?
Hi,
This is challenging as EDEM doesn't have an API (in the Physics Models) that gives you geometry position. All the physics models are contact or particle based. So if the particle is in contact with a geometry you can find the contact information and position, but if the geometry has no particle contacts then it's not considered in the physics model API.
There is the EDEM coupling interface which gives geometry information, but this is a slightly different system where you create an executable and use it to transfer particle or geometry information via the Coupling Interface. I'm unsure if it is possible to directly link the coupling interface executable with a physics model library.
https://help.altair.com/edem/topics/coupling_interface_programming_guide/introducing_the_coupling_interface_programming_guide_c.htm
You can query the geometry position with EDEMpy however only when the data is saved, more as a post-processing option.
If the motion is pre-defined you could manually copy this into your code. Closest would be this example:
Regards
Stephen
Thank you very much
he EDEM API compilation allows real-time access to particle information but not geometric information. My idea is to fix a specific particle onto a geometry and then have other particles apply a body force based on the properties of this fixed particle. Would that be feasible?
You could connect a particle to a geometry using the Rigid Link condition. Then query the particle information in the Body Force.
You may want to consider the particle position and how it compares to the geometry centre of mass. Also if this particle is going to contact and interact with other particles.
https://help.altair.com/EDEM/topics/creator_tree_geometries/rigid_link_condition_t.htm
I'm not aware of this been done before but there should be no specific limits.
Actually there is an option in the API, we can get the Geometry Mesh via the Geometry Manager. There is an example of this for wear:
The geometry manager allows you to getGeometryMesh: