Opened 10 years ago

Closed 10 years ago

#2867 closed defect (fixed)

Generation of symbolic jacobians fail

Reported by: Lennart Ochel Owned by: Willi Braun
Priority: blocker Milestone: 1.9.2
Component: Backend Version: trunk
Keywords: Cc: Adrian Pop, Patrick Täuber

Description

If tearing is activated, then the generation of symbolic jacobians fail for PointGravityWithPointMasses (both, msl31 and msl32).

Modelica.Mechanics.MultiBody.Examples.Elementary.PointGravityWithPointMasses

Currently, I disabled tearing for that model to test it anyway. But this should be fixed until the final release.

Change History (8)

comment:1 by Lennart Ochel, 10 years ago

Cc: Patrick Täuber added

comment:2 by Martin Sjölund, 10 years ago

Milestone: 1.9.11.9.2

This ticket was not closed for 1.9.1, which has now been released. It was batch modified for milestone 1.9.2 (but maybe an empty milestone was more appropriate; feel free to change it).

comment:3 by Willi Braun, 10 years ago

Status: newaccepted

comment:4 by Willi Braun, 10 years ago

It fails since r22637.

in reply to:  4 ; comment:5 by Lennart Ochel, 10 years ago

Replying to wbraun:

It fails since r22637.

Yes, of course. Previously, the error was covered since the systems got skipped for tearing.

in reply to:  5 comment:6 by Willi Braun, 10 years ago

Replying to lochel:

Replying to wbraun:

It fails since r22637.

Yes, of course.

Okay, from that ticket it was not that obvious for me, but it's quite helpful.

comment:7 by Willi Braun, 10 years ago

The symbolic jacobian fails rightly, since the tearing is wrong and the system is singular:

StrongComponent:
{{{17:21}}
,{18, 16:22, 23} Size: 2 linear

Equations:
16/16 (1): -spring.frame_b.f[1] = ({body4.a_0[1], body4.a_0[2], body4.a_0[3]} - Modelica.Mechanics.MultiBody.World$world.gravityAcceleration({body4.r_0[1], body4.r_0[2], body4.r_0[3]}, Modelica.Mechanics.MultiBody.Types.GravityTypes.PointGravity, {0.0, -9.81, 0.0}, 1.0))[1] * body4.m   [dynamic]
17/17 (1): -spring.frame_b.f[2] = ({body4.a_0[1], body4.a_0[2], body4.a_0[3]} - Modelica.Mechanics.MultiBody.World$world.gravityAcceleration({body4.r_0[1], body4.r_0[2], body4.r_0[3]}, Modelica.Mechanics.MultiBody.Types.GravityTypes.PointGravity, {0.0, -9.81, 0.0}, 1.0))[2] * body4.m   [dynamic]
18/18 (1): -spring.frame_b.f[3] = ({body4.a_0[1], body4.a_0[2], body4.a_0[3]} - Modelica.Mechanics.MultiBody.World$world.gravityAcceleration({body4.r_0[1], body4.r_0[2], body4.r_0[3]}, Modelica.Mechanics.MultiBody.Types.GravityTypes.PointGravity, {0.0, -9.81, 0.0}, 1.0))[3] * body4.m   [dynamic]

Vars:
21: body4.a_0[3]:VARIABLE(start = 0.0 unit = "m/s2" )  "Absolute acceleration of frame_a resolved in world frame (= der(v_0))".Modelica.Mechanics.MultiBody.Examples.Elementary.PointGravityWithPointMasses, .Modelica.Mechanics.MultiBody.Parts.PointMass$body4, .Modelica.SIunits.Acceleration$body4$a_0 type: Real
22: body4.a_0[2]:VARIABLE(start = 0.0 unit = "m/s2" )  "Absolute acceleration of frame_a resolved in world frame (= der(v_0))".Modelica.Mechanics.MultiBody.Examples.Elementary.PointGravityWithPointMasses, .Modelica.Mechanics.MultiBody.Parts.PointMass$body4, .Modelica.SIunits.Acceleration$body4$a_0 type: Real
23: body4.a_0[1]:VARIABLE(start = 0.0 unit = "m/s2" )  "Absolute acceleration of frame_a resolved in world frame (= der(v_0))".Modelica.Mechanics.MultiBody.Examples.Elementary.PointGravityWithPointMasses, .Modelica.Mechanics.MultiBody.Parts.PointMass$body4, .Modelica.SIunits.Acceleration$body4$a_0 type: Real

It tries to match variable "body4.a_0[3]" in equation 17, but actually this variable is not part of this equation, at least not the second ASUB part.

comment:8 by Willi Braun, 10 years ago

Resolution: fixed
Status: acceptedclosed

fixed in r23216.

Note: See TracTickets for help on using tickets.