The function of contact point in HeatConduction API model

Chao
Chao Altair Community Member
edited April 2023 in Community Q&A

Hello,

I want to ask some questions about the API code of Heat conduction for geometry. This API code calculates some properties for elem1 and elem2, and then the contact points values are put into a more useful form as follows:

    // Put the values into a more useful form
    CSimple3DPoint  contactPoint(contactPointX, contactPointY, contactPointZ);

Does this represent the x, y, z coordinates of the contact point between elem1 and elem2? In addition, for contacted elem1 and elem2, is there any function to determine the number of contact points on one of the elements and the corresponding coordinates (like the following picture, point i and point j are contact point for particle k)?

image

Is it possible to implement it in API code such as heat conduction and can work for EDEM software package?

Kind regards,

Chao

Tagged:

Best Answer

  • RWood
    RWood
    Altair Employee
    edited April 2023 Answer ✓

    Hi,

    "Does this represent the x, y, z coordinates of the contact point between elem1 and elem2?"

    Yes, it does.

    Having taken a quick look at the source code for this model on the Community website though, this is a very old model. That model is using version 2.3 of the API whereas now we are up to 3.5. That model should still work, but converting the model to a more recent version will make your life easier, as there is simply a contact.contactPoint value provided in the calculateForce( ) function in more recent versions. 

    "In addition, for contacted elem1 and elem2, is there any function to determine the number of contact points on one of the elements and the corresponding coordinates (like the following picture, point i and point j are contact point for particle k)?"

    For the number of contacts, yes, for the coordinates, no - you would have to track that yourself, either using custom properties or your own container. Again, using the latest version of the API, the SDiscreteElement struct gives you access to the coordination number, which is the number of particle-particle contacts that a particle has, so it does half of this for you. 

    There might be a more recent version of this model available for upload, I'm not sure. If I find one, I'll replace what's on the Community post and comment here.

    Cheers,

    Richard

Answers

  • RWood
    RWood
    Altair Employee
    edited April 2023 Answer ✓

    Hi,

    "Does this represent the x, y, z coordinates of the contact point between elem1 and elem2?"

    Yes, it does.

    Having taken a quick look at the source code for this model on the Community website though, this is a very old model. That model is using version 2.3 of the API whereas now we are up to 3.5. That model should still work, but converting the model to a more recent version will make your life easier, as there is simply a contact.contactPoint value provided in the calculateForce( ) function in more recent versions. 

    "In addition, for contacted elem1 and elem2, is there any function to determine the number of contact points on one of the elements and the corresponding coordinates (like the following picture, point i and point j are contact point for particle k)?"

    For the number of contacts, yes, for the coordinates, no - you would have to track that yourself, either using custom properties or your own container. Again, using the latest version of the API, the SDiscreteElement struct gives you access to the coordination number, which is the number of particle-particle contacts that a particle has, so it does half of this for you. 

    There might be a more recent version of this model available for upload, I'm not sure. If I find one, I'll replace what's on the Community post and comment here.

    Cheers,

    Richard

  • Chao
    Chao Altair Community Member
    edited April 2023

    Hi,

    "Does this represent the x, y, z coordinates of the contact point between elem1 and elem2?"

    Yes, it does.

    Having taken a quick look at the source code for this model on the Community website though, this is a very old model. That model is using version 2.3 of the API whereas now we are up to 3.5. That model should still work, but converting the model to a more recent version will make your life easier, as there is simply a contact.contactPoint value provided in the calculateForce( ) function in more recent versions. 

    "In addition, for contacted elem1 and elem2, is there any function to determine the number of contact points on one of the elements and the corresponding coordinates (like the following picture, point i and point j are contact point for particle k)?"

    For the number of contacts, yes, for the coordinates, no - you would have to track that yourself, either using custom properties or your own container. Again, using the latest version of the API, the SDiscreteElement struct gives you access to the coordination number, which is the number of particle-particle contacts that a particle has, so it does half of this for you. 

    There might be a more recent version of this model available for upload, I'm not sure. If I find one, I'll replace what's on the Community post and comment here.

    Cheers,

    Richard

    Thanks, Richard, I am looking forward to your new comment.

    Cheers,

    Chao