Order of rotation matrices in Radioss

rea2
rea2 Altair Community Member
edited October 2020 in Community Q&A

I'm building a model of a human hip, trying to simulate femur and pelvis biomechanics during the gait cycle with kinematic data obtained in a gait lab. To calculate the correct angles I need to know the order of rotation matrices (in x,y,z direction) that Radioss uses. Can anyone help? Thanks in advance!

Tagged:

Answers

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited September 2018

    Hi,

     

    I think there will be one and I think it is Euler's angle to the rotation. I will confirm and update you soon, 

  • rea2
    rea2 Altair Community Member
    edited September 2018

    Thank you. Is there an update already?

     

    I tried to test it with a simple rod model, rotating it 90° around all three axes and then run it in Radioss. The result in Hyperview was very odd, it looked like it rotated only around two axes (x and z), although a bit more than 90°. We now discussed whether it could be that Radioss tries to do all three rotations at a time, altering the position of the object relative to the axes of the coordinate system and therefore ending up in a mess. Do you know whether this is true?

     

    We discussed two possible solutions:

    - To split all time intervalls by 3 and then do the three rotations consecutively in three steps within one of the original time intervalls. This however might be a bit inaccurate when it comes to shear force calculations later?

    - To set up individual skews for each time intervall, using one single rotation axis instead of the x,y,z-axes.  

     

    Can you help us to chose the best solution?

    Thanks in advance!

     

     

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited September 2018

    Hi @rea2

     

    I am waiting for a reply from experts. 

     

    - To set up individual skews for each time intervall, using one single rotation axis instead of the x,y,z-axes.  

     

    I think this can give reasonable results. 

  • rea2
    rea2 Altair Community Member
    edited October 2018

    Hi @rea2

     

    I am waiting for a reply from experts. 

     

    I think this can give reasonable results. 

     

    Hey @Prakash Pagadala,

     

    As mentioned above, I now set up a model with an individual skew for every time intervall, as well as an individual curve and an imposed displacement. All of it was written in Matlab, imported to Hypermesh and combined with the model, which worked well. Radioss gives me 0 errors (some warnings), but it just does not move in Hyperview. Do you have any idea of what the problem could be?

    We initially also set up a contact between the two cartilage layers (and will do that again), but removed that for the time being, to simplify it.

     

    Unable to find an attachment - read this blog

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited October 2018

    Hi,

     

    Thank you for sharing the files. I will check and update you soon,

  • rea2
    rea2 Altair Community Member
    edited October 2018

    Hi,

     

    Thank you for sharing the files. I will check and update you soon,

     

    Thank you! I only see the 0001.rad file in my post above, even though I uploaded both, so I'll reupload the 0000.rad file here ...

     

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited October 2018

     

    Thank you! I only see the 0001.rad file in my post above, even though I uploaded both, so I'll reupload the 0000.rad file here ...

    I have both files. I am deleting the rad files to clear the server space.  

    Unable to find an attachment - read this blog

  • rea2
    rea2 Altair Community Member
    edited October 2018

    I have both files. I am deleting the rad files to clear the server space.  

     

    Thanks!
    I found one mistake myself in the meantime, in the way I entered the data into the curves. I fixed this now and I can see very little motion in the result, but not the big movement we are expecting (it should add up the the movement of the hip during a gait cycle). When I plot the same data in Matlab, the motion looks very good.

     

    Unable to find an attachment - read this blog

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited October 2018

    HI,

     

    I am a halfway the simulation and you don't see the motion is because the motion is very less.

     

    You can increase the deformation factor by a value say 50 in your case?

    <?xml version="1.0" encoding="UTF-8"?>DFfactor.png

  • rea2
    rea2 Altair Community Member
    edited October 2018

    HI,

     

    I am a halfway the simulation and you don't see the motion is because the motion is very less.

     

    You can increase the deformation factor by a value say 50 in your case?

    <?xml version="1.0" encoding="UTF-8"?>DFfactor.png

     

     

    Thank you! I just realized that as well , what I misunderstood is that you have to add up the angles, because Hypermesh needs absolute angles and not relative ones. So if I'm rotating 0.5rad each timestep, I have to enter 0.5 in the first timestep and 1.0 in the second, 1.5 in the third, instead of 0.5 each.

    I'm also halfway throgh the new simulation and the magnitude of the motion looks good, however it seems as if it rotates around the Y axis of the original skew in Hypermesh, instead of the the Y axes of the 275 skews I created (one for each timestep). So it just moves in one direction, back and forth. Do you have any idea of what the problem could be there? I'll again attach you the newest version of the files.
     

    Unable to find an attachment - read this blog

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited October 2018

    It could be because of the sequence or contacts.

     

    I will check and get back to you soon

  • rea2
    rea2 Altair Community Member
    edited October 2018

    Thank you for your effort! 

    Meanwhile, to solve the problem, I tried to go 'back to basics', to understand how the motion data has to be fed into the curves in HM. I constructed a very simple cone modell (as a rigid body) and am now trying to rotate it by using different skews. I have two skews, two movements as IMPDISPs (rotations around the y axes of the two skews, 90 degrees each at 0.1 and at 0.6ms) and one boundary constriction (restricting Tx, Ty, Tz, Rx and Rz). My problem now is that as long as the skews are orthogonal to each other, it works and I can see two isolated rotations at 0.1ms and 0.6ms around the correct axes. As soon as the second skew is not orthogonal, but tilted in a 45° angle relative to the first skew (which is parallel to the ground system), the rotations are no longer around the axes they are supposed to be (the first around the y axis of the skew parallel to the ground system (ID 3), the second one around the y axis of a skew in a 45° angle to the first one (ID 4)). Instead, the rotations are around some indefinable axes. Does anyone know why this happens? I assume that it might have something to do with the boundary condition, but if I remove it, the rotations are not 'clean' (meaning not unidirectionally around one axis). Attached you will find the two models - thanks in advance!

     

     

     

    Unable to find an attachment - read this blog