Question about contact radius
Hi,
I am confused about the role of contact radius in calculating contact force and contact detection. Currently my understanding is that contact forces are calculated based on particle physical radius and contact radius are only used for contact detection. For example, if I have two physically overlapped particles of radius R and set contact radius as 1.1R,1.2R, respectively. Will EDEM calculate identical contact force? What's more, I wonder if contact detection is based on contact radius. For example, EDEM will start calculating contact force between two particles if two spheres of contact radius have overlap?
I would like to know if my understanding is correct and what if I use different contact models. Currently I am using H-M with JKR V2.
Regards,
Jason
Best Answer
-
Hi Jason,
The behaviour is different for different contact models. For something like Hertz-Mindlin you would not see a difference with contact radii on vs off. Typically the contact radii is only used for contact detection but also some forces are applied when the particlesare not in physical contact, like bonds or adhesion and the contact radii triggers this calculation.The contact radius detects the contact first and then passes all the contact information to the contact model. A model like HM will only calculate forces if the Physics Radius is overlapped and would not calculate a force if there was no physical contact.
Something like the bonded model works with the contact radius as the forces can apply even when the spheres are not in physical contact.
The JKR v2 model calculates adhesion when there is no physical contact, you can see further info here:
https://2022.help.altair.com/2022.2/EDEM/Creator/Physics/Base_Models/Hertz-Mindlin_with_JKR_V2.htm
Regards
Stephen
1
Answers
-
Hi Jason,
The behaviour is different for different contact models. For something like Hertz-Mindlin you would not see a difference with contact radii on vs off. Typically the contact radii is only used for contact detection but also some forces are applied when the particlesare not in physical contact, like bonds or adhesion and the contact radii triggers this calculation.The contact radius detects the contact first and then passes all the contact information to the contact model. A model like HM will only calculate forces if the Physics Radius is overlapped and would not calculate a force if there was no physical contact.
Something like the bonded model works with the contact radius as the forces can apply even when the spheres are not in physical contact.
The JKR v2 model calculates adhesion when there is no physical contact, you can see further info here:
https://2022.help.altair.com/2022.2/EDEM/Creator/Physics/Base_Models/Hertz-Mindlin_with_JKR_V2.htm
Regards
Stephen
1 -
In NCalcForceTypesV3_4_0 what is the difference between SDiscreteElement.contactRadius and SDiscreteElement.physicalRadius
Ap= area of contact on the particle
Ag= area of contact on the geometry
Assume the contact area is a circle
Typically i would assume Ap=Ag and expect to see only one contact radius but in the API i see two radius contactRadius and physicalRadius please tell me which parameter is this referring to?
Q1. Is contactRadius the radius of the circle Ap or the radius of the circle Ag
Q2. Is physicalRadius the radius of the circle Ag or the radius of the circle Ap
or is it none of the above?
In case of none of the above. Can you please tell me which variable entity in NCalcForceTypesV3_4_0 refers to the actual area of contact for the particle?
0 -
Shyam Prasad V Atri said:
In NCalcForceTypesV3_4_0 what is the difference between SDiscreteElement.contactRadius and SDiscreteElement.physicalRadius
Ap= area of contact on the particle
Ag= area of contact on the geometry
Assume the contact area is a circle
Typically i would assume Ap=Ag and expect to see only one contact radius but in the API i see two radius contactRadius and physicalRadius please tell me which parameter is this referring to?
Q1. Is contactRadius the radius of the circle Ap or the radius of the circle Ag
Q2. Is physicalRadius the radius of the circle Ag or the radius of the circle Ap
or is it none of the above?
In case of none of the above. Can you please tell me which variable entity in NCalcForceTypesV3_4_0 refers to the actual area of contact for the particle?
It's neither. The contact radius is centred at the centre of the particle, like the physical radius (i.e. they're concentric), and as Stephen mentions above is used in contact detection. If the contact radius is set to be larger than the physical radius then the contact models can be called when the contact radii overlap, which allows the modelling of liquid bridges, cohesion, bonds, etc., before particles physically touch.
As for what variable refers to the contact patch area, EDEM doesn't provide one. You would have to calculate that yourself, which you should be able to do with radii, position and overlap, which you get access to.Richard
0 -
I see please let me know if this is the correct understanding or not in the perspective of API
const NCalcForceTypesV3_4_0::SDiscreteElement& element1,
const NCalcForceTypesV3_4_0::SContact& contact,
physical radius (Pr, element1.physicalRadius ) and contact radius (Cr, element1.contactRadius) pertain to contact radius that we set when we define the particle
and is this the correct method to compute the radius of contact area
double overlapVertLen = element1.physicalRadius - abs(contact.normalPhysicalOverlap);
double overlapHorizLen = sqrt(element1.physicalRadius * element1.physicalRadius - overlapVertLen * overlapVertLen);0 -
Shyam Prasad V Atri said:
I see please let me know if this is the correct understanding or not in the perspective of API
const NCalcForceTypesV3_4_0::SDiscreteElement& element1,
const NCalcForceTypesV3_4_0::SContact& contact,
physical radius (Pr, element1.physicalRadius ) and contact radius (Cr, element1.contactRadius) pertain to contact radius that we set when we define the particle
and is this the correct method to compute the radius of contact area
double overlapVertLen = element1.physicalRadius - abs(contact.normalPhysicalOverlap);
double overlapHorizLen = sqrt(element1.physicalRadius * element1.physicalRadius - overlapVertLen * overlapVertLen);Hi Shyam,
That's correct. Physical Radius in the GUI = element1.physicalRadius or element2.physicalRadius in the API and Contact Radius is element1.contactRadius or element2.contactRadiusBear in mind element1 and element2 may have different radii. Element1 is always a particle and element2 maybe a particle or geometry.
The equation looks correct to me.
RegardsStephen
0