Changes between Version 1 and Version 3 of Ticket #1860
- Timestamp:
- 2012-10-08T11:49:22Z (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #1860
- Property Milestone MultiBody → 1.9.0
- Property Summary Multibody MSL models containing springs don't simulate → Multibody 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 (13 047)2 Models from Multibody.Examples containing springs compile but simulation doesn't complete.1 Using MSL 3.2.1 and the last nightly build for windows (13222) 2 Models from Multibody.Examples in which quaternions must be used as state variables can compile but can't simulate because of a runtime error 3 3 4 the firsttested model is:4 the tested model is: 5 5 {{{ 6 6 model SpringWithMass … … 8 8 end SpringWithMass; 9 9 }}} 10 output file log contains this:11 10 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 ... 11 output log file says that the variables: 12 body.frame_a.r_0[1] 13 body.frame_a.r_0[2] 14 body.frame_a.r_0[3] 15 body.v_0[1] 16 body.v_0[2] 17 body.v_0[3] 18 body.w_a[1] 19 body.w_a[2] 20 body.w_a[3] 32 21 33 and the result is this: 22 are taken as states, plus three out of four quaternions in order to determine the body orientation. 23 24 Whenever this is necessary (there are no joint variable that can be used as states) the simulation fails with a runtime error 25 26 the result is this: 34 27 {{{ 35 28 record SimulationResult