Changes between Version 1 and Version 3 of Ticket #1860


Ignore:
Timestamp:
2012-10-08T11:49:22Z (12 years ago)
Author:
Bruno Scaglioni
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #1860

    • Property Milestone MultiBody1.9.0
    • Property Summary Multibody MSL models containing springs don't simulateMultibody MSL models that use quaternions as states fail simulation
  • Ticket #1860 – Description

    v1 v3  
    1 Using MSL 3.2.1 and the last nightly build for windows (13047)
    2 Models from Multibody.Examples containing springs compile but simulation doesn't complete.
     1Using MSL 3.2.1 and the last nightly build for windows (13222)
     2Models from Multibody.Examples in which quaternions must be used as state variables can compile but can't simulate because of a runtime error
    33
    4 the first tested model is:
     4the tested model is:
    55{{{
    66model SpringWithMass
     
    88end SpringWithMass;
    99}}}
    10 output file log contains this:
    1110
    12 ....
    13 2 :   assert(noEvent(spring.lineForce.length > spring.lineForce.s_small), "
    14 The distance between the origin of frame_a and the origin of frame_b
    15 of a LineForceWithMass component became smaller as parameter s_small
    16 (= a small number, defined in the \"Advanced\" menu). The distance is
    17 set to s_small, although it is smaller, to avoid a division by zero
    18 when computing the direction of the line force. Possible reasons
    19 for this situation:
    20 - At initial time the distance may already be zero: Change the initial
    21   positions of the bodies connected by this element.
    22 - Hardware stops are not modeled or are modeled not stiff enough.
    23   Include stops, e.g., stiff springs, or increase the stiffness
    24   if already present.
    25 - Another error in your model may lead to unrealistically large forces
    26   and torques that would in reality destroy the stops.
    27 - The flange_b connector might be defined by a pre-defined motion,
    28   e.g., with Modelica.Mechanics.Translational.Position and the
    29   predefined flange_b.s is zero or negative.
    30 ");
    31 ...
     11output log file says that the variables:
     12body.frame_a.r_0[1]
     13body.frame_a.r_0[2]
     14body.frame_a.r_0[3]
     15body.v_0[1]
     16body.v_0[2]
     17body.v_0[3]
     18body.w_a[1]
     19body.w_a[2]
     20body.w_a[3]
    3221
    33 and the result is this:
     22are taken as states, plus three out of four quaternions in order to determine the body orientation.
     23
     24Whenever this is necessary (there are no joint variable that can be used as states) the simulation fails with a runtime error
     25
     26the result is this:
    3427{{{
    3528record SimulationResult