EDEM API - Contact Model Example: Updated Bond Model (example of customisation of bond model)

Stephen Cole
Stephen Cole
Altair Employee
edited May 2023 in Altair Exchange

Overview

Attached is the source code for the Updated Bond Model using version 3.1 of the API (OpenCL GPU) and version 2.5 of the API (CUDA GPU).

BondedParticle_CM_v3_1_0.zip contains a custom version of the EDEM Bonded V2 model, this is the source code only and needs to be compiled into a library file to run.

BondedParticleCustom_3_5_0.zip is an updated version of the code compiled with an example and also converted to run on CUDA GPU.  The two models are not identical.  Version 3.1 has options to break in compression (Yes/No), bond damping and ability to extend the contact radii options which are not included in the 3.5 version as they were not commonly used.

V3.5 has the option to break the bond twice and re-bond at a lower or higher strength and stiffness value.

Note neither model is identical to the built in EDEM bonded particle V2 model however they are all based on the same physics model for calculating bond properties and stiffness.

Usage/Installation Instructions

Download BondedParticleCustom_3_5_0.zip

Unzip and with EDEM open test.dem in the example folder

This loads in the BondedParticle_v3_5_0 physics model and reads the associated bonded_particle_prefs.txt file

Run the simulation to see the effects of the bonded particles, the inputs in the .txt file can be modified to change the inputs

Comments

  • Community Guest
    Community Guest New Altair Community Member
    edited September 2023

    Dear Stephen Cole

    May I know the meaning of FractionChangeStiffness: 0.1 and FractionChangeStrength: 1000?

    I tried to google them but there were no results. 

    Thank you very much for your time and help. 

     

  • Stephen Cole
    Stephen Cole
    Altair Employee
    edited September 2023

    Dear Stephen Cole

    May I know the meaning of FractionChangeStiffness: 0.1 and FractionChangeStrength: 1000?

    I tried to google them but there were no results. 

    Thank you very much for your time and help. 

     

    Hi,

     

    The change in stiffness and strength represent the buckling effects of the bond.  The bonds have a strength value which when exceed will cause the bond to break or change it's properties.

    In this case once the bond strength values have been exceeded the bond will reset, it will have a stiffness 10x lower than the original stiffness but a strength value 1000 times higher.  This will result in a more flexible joint around the point at which the original bond failed.

    Regards

    Stephen

     

     

  • Community Guest
    Community Guest New Altair Community Member
    edited November 2023

    Dear Stephen Cole

    May I know the meaning of FractionChangeStiffness: 0.1 and FractionChangeStrength: 1000?

    I tried to google them but there were no results. 

    Thank you very much for your time and help. 

     

    Hi, 

    Sorry I come across your comment a bit late, but I hope this will still be helpful. After reading the code, it seems these parameters are used to simulate buckling. To put it simply the first time the bond "breaks", it's possible to weaken it instead of directly destroying it.
    FractionChangeStiffness sets the value of the weakened bond normal and tangential stiffness, expressed as a ratio of the original stiffness. Thus, with 0.1, the weakened stiffness will end up 10 times lower.

    FractionChangeStrength expresses the threshold strength to break the bond for good after weakening, as a ratio of the original strength. With 1000, this basically means the bond will likely never break, as the new strength will be set very high.

  • bigshow
    bigshow Altair Community Member
    edited May 28

    Hello, thank you very much for sharing.
    Do you have the API for Linear Elastic Bond Model in edem2023?

  • Stephen Cole
    Stephen Cole
    Altair Employee
    edited May 28
    xixihaha said:

    Hello, thank you very much for sharing.
    Do you have the API for Linear Elastic Bond Model in edem2023?

    Hi, currently we don't have the Linear Elastic Bond model API to share.  Was there anything specific you were looking to change?


    Regards

    Stephen

     

     

  • bigshow
    bigshow Altair Community Member
    edited May 28

    Hi, currently we don't have the Linear Elastic Bond model API to share.  Was there anything specific you were looking to change?


    Regards

    Stephen

     

     

    thank you for your reply.

    I want to use this model to simulate rock cutting. Someone told me that this model is similar to the PB (Linear parallel bond model) model in PFC.

    If there is an API, I may combine it with hyperstudy to optimize the results.

    Is your bond model suitable for rock simulation?

  • Stephen Cole
    Stephen Cole
    Altair Employee
    edited June 3
    xixihaha said:

    thank you for your reply.

    I want to use this model to simulate rock cutting. Someone told me that this model is similar to the PB (Linear parallel bond model) model in PFC.

    If there is an API, I may combine it with hyperstudy to optimize the results.

    Is your bond model suitable for rock simulation?

    Hi, you can use the model in the HyperStudy deck but this functionality isn't available for parameterisation yet, I've notified the developer on this.  Unfortunately we don't have the API version of this that we can share.


    Regards

    Stephen