MotionView - Angular Momentum Conservation

VKR
VKR Altair Community Member

Hi!

Is angular moment conservation present in motionview?

My simulation contains following - base-plate which rotates and boxes stacked on top of it. Every object has mass and inertia defined by user and is represented with point mass (body) and graphical geometrical object.

In the simulation the whole assembly spins up to 0.5 rad and then the cubes start releasing "floor-wise". The cubes start spinning after being released due to conservation of Angular Momentum but the angular velocity of the whole stack does not change.

I think it should change due to change in moment of Inertia. Is there a setting a have to check or is there some sort of different problem?

What I looked at were the values included in the .plt file for angular velocity. I tracked the angular velocity with marker in the picture below.

Best Answer

  • GTT Adam
    GTT Adam
    Altair Employee
    Answer ✓

    Hi @VKR,

    Yes, angular momentum is conserved in MotionView. I believe the method of rotating the base is the reason why you are not seeing a change in the rotational velocity. Are you rotating it using a Motion? As a constraint, it asserts a rotational velocity on a body regardless of the outside conditions. I think you would need to apply a torque to the plate until the boxes release. Then the torque should be deactivated using a Template to see the reaction on the base without it being constrained.

    If you are using primitive graphics for the shapes, you can use those to compute the mass, COG, and inertia for you to remove any doubt about the inputs you may have asserted.

    You can use the CG/Inertia Tool to observe the total system mass, COG, and inertia to make sure it sums to expected values.

    Hope this helps!

    Adam Reid

Answers

  • GTT Adam
    GTT Adam
    Altair Employee
    Answer ✓

    Hi @VKR,

    Yes, angular momentum is conserved in MotionView. I believe the method of rotating the base is the reason why you are not seeing a change in the rotational velocity. Are you rotating it using a Motion? As a constraint, it asserts a rotational velocity on a body regardless of the outside conditions. I think you would need to apply a torque to the plate until the boxes release. Then the torque should be deactivated using a Template to see the reaction on the base without it being constrained.

    If you are using primitive graphics for the shapes, you can use those to compute the mass, COG, and inertia for you to remove any doubt about the inputs you may have asserted.

    You can use the CG/Inertia Tool to observe the total system mass, COG, and inertia to make sure it sums to expected values.

    Hope this helps!

    Adam Reid

  • VKR
    VKR Altair Community Member

    Hi Adam, thanks for the idea. I set the velocity through motion so that might be the mistake. I will try using just torque and then turning it off

    Thank you! VKR

  • GTT Adam
    GTT Adam
    Altair Employee

    Hi @VKR,

    No problem! The torque can be 'turned off' several ways, either by:

    • Defining a torque with an expression and a STEP function to quickly ramp the torque to 0 after a specified amount of time
      • example: `STEP(TIME, 1, 100, 1.01, 0)`
    • Defining a torque that is deactivated using a Template and Sensor
      • The Sensor can measure the displacement of a bottom cube, and when it reaches a certain value it will halt the simulation. (see image below)
      • The Template will then deactivate the Sensor and Torque, then resume the simulation for a specified amount of time. (see syntax below)

    Below is an example of a Template you can write to sequence the events:

    <Simulate
    analysis_type = "Transient"
    end_time = "1.0"
    print_interval = "0.001"
    />

    <Deactivate
    element_type = "SENSOR"
    element_id = "{the_model.sen_0.idstring}"
    />

    <Deactivate
    element_type = "FORCE"
    element_id = "{the_model.f_0.idstring}"
    />

    <Simulate
    analysis_type = "Transient"
    end_time = "2.5"
    print_interval = "0.001"
    />

    Hope this helps!

    Adam Reid


  • VKR
    VKR Altair Community Member

    Thank you very much! I have been using sensors for some time now and I used just that! Thank you for the trick with the ramp down STEP function, I did not think of that.

  • GTT Adam
    GTT Adam
    Altair Employee

    Hi @VKR,

    No problem! If this solution worked for you, make sure to mark the comment as ACCEPTED so others can find the answer quick too!

    Thanks,

    Adam Reid