Can I give a particle certain rotation angle or displacement in EDEM?
Best Answer
-
Hi,
You can apply the desired linear and angular velocity at creation time in a factory, but I assume you don't mean that. After creation you'll need to apply the force or torque that corresponds to the velocity value you would like, after first subtracting the force or torque that was calculated during the current timestep.
See here:
https://community.altair.com/community?id=community_question&sys_id=3729fb461b548d94507ca6442a4bcbf9&anchor=answer_1c5b209edb5c0950cfd5f6a4e29619c5&view_source=searchResult
That post is about bringing the particles to rest, so you would simply add the force or torque that gives your desired velocity on top.
Cheers,Richard
1
Answers
-
Hi,
You can apply the desired linear and angular velocity at creation time in a factory, but I assume you don't mean that. After creation you'll need to apply the force or torque that corresponds to the velocity value you would like, after first subtracting the force or torque that was calculated during the current timestep.
See here:
https://community.altair.com/community?id=community_question&sys_id=3729fb461b548d94507ca6442a4bcbf9&anchor=answer_1c5b209edb5c0950cfd5f6a4e29619c5&view_source=searchResult
That post is about bringing the particles to rest, so you would simply add the force or torque that gives your desired velocity on top.
Cheers,Richard
1 -
Hi Richard,Richard Wood_20774 said:Hi,
You can apply the desired linear and angular velocity at creation time in a factory, but I assume you don't mean that. After creation you'll need to apply the force or torque that corresponds to the velocity value you would like, after first subtracting the force or torque that was calculated during the current timestep.
See here:
https://community.altair.com/community?id=community_question&sys_id=3729fb461b548d94507ca6442a4bcbf9&anchor=answer_1c5b209edb5c0950cfd5f6a4e29619c5&view_source=searchResult
That post is about bringing the particles to rest, so you would simply add the force or torque that gives your desired velocity on top.
Cheers,Richard
If my force in the contact model was calculated by: F=k*delta_angle, where k is stiffness and relative_angle means the rotation angle of this particle compared with last timestep, so can the calculation of this angle be written as element1.angvel*time step?or element1.angvel*time step is the rotation angle for the next timestep?
0 -
Raheem Sterling_22160 said:
Hi Richard,
If my force in the contact model was calculated by: F=k*delta_angle, where k is stiffness and relative_angle means the rotation angle of this particle compared with last timestep, so can the calculation of this angle be written as element1.angvel*time step?or element1.angvel*time step is the rotation angle for the next timestep?
Anything you access via element.whatever will be for the current timestep. Values you access from within calculateForce( ) have come from EDEM for that timestep, as far as wherever the model is in the chain. Assuming you have something like:
Hertz Mindlin (HM)
API plugin
Standard Rolling friction
if you access element1.angvel inside your plugin, you'll be getting the values after they've come out of the HM for that timestep. Whereas if you had:
Hertz Mindlin (HM)
Standard Rolling friction
API plugin
now your element1.angvel would still be for that timestep but would be the value that came out of the rolling friction model, after already having been through the HM.Richard
0 -
Richard Wood_20774 said:
Anything you access via element.whatever will be for the current timestep. Values you access from within calculateForce( ) have come from EDEM for that timestep, as far as wherever the model is in the chain. Assuming you have something like:
Hertz Mindlin (HM)
API plugin
Standard Rolling friction
if you access element1.angvel inside your plugin, you'll be getting the values after they've come out of the HM for that timestep. Whereas if you had:
Hertz Mindlin (HM)
Standard Rolling friction
API plugin
now your element1.angvel would still be for that timestep but would be the value that came out of the rolling friction model, after already having been through the HM.Richard
Thanks, can I understand as that:
element.value would change and pass through the chain of CM until the last one, then the element.value is the properties of particles updating in current timestep. In my case, element1.angVel*timestep or element1.velocity would be added to the orientation and translation of particles to the next timestep.
Generally speaking, does EDEM update the force first and then update the position, or the opposite process?
0 -
Raheem Sterling_22160 said:
Thanks, can I understand as that:
element.value would change and pass through the chain of CM until the last one, then the element.value is the properties of particles updating in current timestep. In my case, element1.angVel*timestep or element1.velocity would be added to the orientation and translation of particles to the next timestep.
Generally speaking, does EDEM update the force first and then update the position, or the opposite process?
I guess it depends what way you look at it. Those values are applied during the current timestep (n), but you would only see the effects of them, or access their values, in the next time step (n+1).
We're talking about calculateForce( ) in step 4, you could do some more updating of the forces in a particle body force in step 5, but the particle values are updated in that same timestep, in step 6, though you won't see those changes until the following timestep.Richard
0 -
Thanks, it's quiet clear, but if I want to rotate a vector which depends on its orientation, the only way safe is to access the element.orientation, but not rotate from it's angle. Or can I do it in step 6 and retrive the value in step 4?Richard Wood_20774 said:I guess it depends what way you look at it. Those values are applied during the current timestep (n), but you would only see the effects of them, or access their values, in the next time step (n+1).
We're talking about calculateForce( ) in step 4, you could do some more updating of the forces in a particle body force in step 5, but the particle values are updated in that same timestep, in step 6, though you won't see those changes until the following timestep.Richard
0 -
Raheem Sterling_22160 said:
Thanks, it's quiet clear, but if I want to rotate a vector which depends on its orientation, the only way safe is to access the element.orientation, but not rotate from it's angle. Or can I do it in step 6 and retrive the value in step 4?
Unfortunately not. Users have no way of interacting with the API other than at steps 2, 4 and 5. After the forces are all collected in step 5, the rest of the calculations are carried out by EDEM's solver and users cannot interact with the data any further for that timestep.
Richard
0