Floaing rotation in Chrono

Hi, maybe you remember I fix the non-identical result when resuming a simulation with CHRONO before. Code modification: resume with chrono body

I think these non-identical results are caused by acceleration data missing after resume. However, I have noticed that it is incorrect.

The real reason is that SetRot() executed after SetWvel_par(). Thus, to fix this problem, only need to ensure that SetRot() before all of the operators that change the angular data in CHRONO.

In function ‘restore_moving_body’ 5.0 master (shown as follow). though the acceleration data are stored in ‘next’, they are useless. What plays a role is that I adjusted the order between SetRot() and SetWvel_par(). Which is really a coincidence at that time, so I ignored it.

Dear @JoJo, thanks for your update with this information. A revised version of your previously proposed fix has been merged in the next branch already, so I don’t think we will change it again, but it’s interesting to know that the order in which things are restored is important. We should probably add a comment about this in the code.

Moreover, tracking the acceleration is also important to ensure that the dummy boundary conditions are applied correctly, so in general it’s a change that was needed anyway.