Rotational Kinetic Energy

Asked by Metehan Karslioglu

Hello YADE user!

I am working on a simulation of periodic triaxial test which is very similiar the one from documentation. I want to evaluate of rotational kinematic energy of the particles during the test. So far I know yade._utils.kineticEnergy() is used for calculation of total kinetic energy.

Is there any commend to get the rotational kinetic energy? I would be glad if you help me to find a way to calculate it. Thanks in advance.

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Jan Stránský
Solved:
Last query:
Last reply:
Revision history for this message
Best Jan Stránský (honzik) said :
#1

Hello,

the proper answer depends on your actual use case (providing a MWE [1] would help), i.e. body shapes, no/yes clumps etc.
IMO the easiest approach would be to compute total kinetic energy using predefined function and "easily" subtract linear kinetic energy. Something like:
### (not tested)
tot = utils.kineticEnergy()
lin = sum(0.5*b.state.mass*b.state.vel.squaredNorm() for b in O.bodies) # (!) needs a bit different code for clumps
rot = tot - lin
###

Another approach would be to compute it "manually" according to formula in [2] as 1/2*∑ωIω^T.

Yet another approach would be to split the code of kineticEnergy to compute separately linear and rotational kinetic energy.

Or ..........

Cheers
Jan

[1] https://www.yade-dem.org/wiki/Howtoask
[2] https://yade-dem.org/doc/yade.utils.html#yade._utils.kineticEnergy

Revision history for this message
Metehan Karslioglu (zmetehans) said :
#2

Thanks Jan Stránský, that solved my question.