Question about contact radius

Guozhen Li
Guozhen Li Altair Community Member
edited August 2023 in Community Q&A

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

  • Stephen Cole
    Stephen Cole
    Altair Employee
    edited June 2023 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

     

     

Answers

  • Stephen Cole
    Stephen Cole
    Altair Employee
    edited June 2023 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

     

     

  • satri
    satri Altair Community Member
    edited August 2023

    In NCalcForceTypesV3_4_0 what is the difference between SDiscreteElement.contactRadius and SDiscreteElement.physicalRadius

    image

    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?

     

  • RWood
    RWood
    Altair Employee
    edited August 2023

    In NCalcForceTypesV3_4_0 what is the difference between SDiscreteElement.contactRadius and SDiscreteElement.physicalRadius

    image

    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

  • satri
    satri Altair Community Member
    edited August 2023

    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

    image

    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);

    image

     

     

  • Stephen Cole
    Stephen Cole
    Altair Employee
    edited August 2023

    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

    image

    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);

    image

     

     

    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.contactRadius

    Bear 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.

    Regards

    Stephen