Is there an API that can add "Force Controller" functionality to many geometries at the same time?

bigshow
bigshow Altair Community Member
edited August 15 in Community Q&A

Is there an API that can add "Force Controller" functionality to many geometries at the same time?

image

Tagged:

Answers

  • Eric Veikle_22252
    Eric Veikle_22252
    Altair Employee
    edited August 13

    Hello Xixihaha,

    There is a coupling interface that would allow you to define a force controller and apply it to many geometries, information of the coupling interface can be found here: https://help.altair.com/EDEM/topics/coupling_interface_programming_guide/introducing_the_multi_body_dynamics_coupling_interface_c.htm, Alternatively you can leverage the EDEM MotionSolve coupling to run a simulation in which many geometries are defined as rigid groups.  There is a YouTube video that walks through the process of completing a coupled EDEM MotionSolve simulation here: https://www.youtube.com/watch?v=uJ30qjFCT2k.  This example does not exactly show how to implement a single force controller to many geometries.  However, all that is needed is to add a rigid group that contains all the geometries that need to be controlled with the force controller and add a linear actuator to that rigid group with the PID controller enabled.

    However, I think that perhaps there are easier solutions to your challenge, but the validity of these options depends on your objective with your simulations and the system that you are simulating. 

    Option 1: Merger the geometry together that has motion controlled by the same force controller.  You can accomplish this by right clicking on the geometries in the Creator Tree and selecting Merge Geometries.  You then select the geometry that you want grouped together.  Note there is no undo option in EDEM so an effective workaround is to save your simulation before you merge the geometries.  If you mistakenly merge a geometry, you can open the file again (without saving first). In this way you only need to define a single motion controller.

    Option 2: You can copy the force controller to multiply geometries.  Once you have the first force controller defined you can right click on it in the Creator Tree and select Copy Motion.  You then select what geometry you want to copy the force controller to. This process needs to be replicated for all the geometries that you want to add the force controller to.

     Option 3: leverage the Parent / Child relationship of geometry in EDEM.  You can set any number of geometries in EDEM to be children of a geometry in your simulation, which means that the children geometry will move with the parent geometry.  However, with this approach the forces exerted on the children geometry will not be considered in the response of the applied force controller, only the forces on the parent geometry are included.

    I hope this helps!  If you need further assistance, please share more about your specific application and I would be happy to assist you further!


    Kind Regards,

    Eric

  • bigshow
    bigshow Altair Community Member
    edited August 15

    Hello Xixihaha,

    There is a coupling interface that would allow you to define a force controller and apply it to many geometries, information of the coupling interface can be found here: https://help.altair.com/EDEM/topics/coupling_interface_programming_guide/introducing_the_multi_body_dynamics_coupling_interface_c.htm, Alternatively you can leverage the EDEM MotionSolve coupling to run a simulation in which many geometries are defined as rigid groups.  There is a YouTube video that walks through the process of completing a coupled EDEM MotionSolve simulation here: https://www.youtube.com/watch?v=uJ30qjFCT2k.  This example does not exactly show how to implement a single force controller to many geometries.  However, all that is needed is to add a rigid group that contains all the geometries that need to be controlled with the force controller and add a linear actuator to that rigid group with the PID controller enabled.

    However, I think that perhaps there are easier solutions to your challenge, but the validity of these options depends on your objective with your simulations and the system that you are simulating. 

    Option 1: Merger the geometry together that has motion controlled by the same force controller.  You can accomplish this by right clicking on the geometries in the Creator Tree and selecting Merge Geometries.  You then select the geometry that you want grouped together.  Note there is no undo option in EDEM so an effective workaround is to save your simulation before you merge the geometries.  If you mistakenly merge a geometry, you can open the file again (without saving first). In this way you only need to define a single motion controller.

    Option 2: You can copy the force controller to multiply geometries.  Once you have the first force controller defined you can right click on it in the Creator Tree and select Copy Motion.  You then select what geometry you want to copy the force controller to. This process needs to be replicated for all the geometries that you want to add the force controller to.

     Option 3: leverage the Parent / Child relationship of geometry in EDEM.  You can set any number of geometries in EDEM to be children of a geometry in your simulation, which means that the children geometry will move with the parent geometry.  However, with this approach the forces exerted on the children geometry will not be considered in the response of the applied force controller, only the forces on the parent geometry are included.

    I hope this helps!  If you need further assistance, please share more about your specific application and I would be happy to assist you further!


    Kind Regards,

    Eric

    Thank you very much. This is a very good approach.