Opened 11 years ago

Closed 9 years ago

Last modified 9 years ago

#2715 closed defect (fixed)

Singular System Error in Prismatic Constraint

Reported by: Volker Waurich Owned by: somebody
Priority: high Milestone: 1.9.3
Component: Run-time Version: trunk
Keywords: Cc: Lennart Ochel, Willi Braun

Description

Hi,
After inlining some arrayEquations, the model msl32.Modelica.Mechanics.MultiBody.Examples.Constraints.PrismaticConstraint.mo fails due to a singular system error.

det(A) = 9.5419e-17

so it its not really singular.Maybe we have to tune the runtime to simulate it.

Change History (6)

comment:1 by anonymous, 11 years ago

As well Dymola has trouble with this system:

bodyOfConstraint.body.Q[3] = 0.527487
bodyOfConstraint.body.Q[4] = 0.710063
bodyOfConstraint.body.Q[2] = 0.33812
bodyOfConstraint.body.Q[1] = 0.321315
Residual:
{ 0, 0, -2.22045E-016, 0 }
 
Residual scale row 1, J_sum=7.03889
Residual scale row 2, J_sum=7.16731
Residual scale row 3, J_sum=9.06677
Residual scale row 4, J_sum=5.79397
The non-linear system is difficult to solve, this could either be
due to a dependency between equations, or due to bad start-values.
Note: None of the columns are small on their own - the problem only occurred after eliminating other dependencies between variables.
Variable 1(bodyOfConstraint.body.Q[3])=0.527487 has small pivot 1.27018e-014 and is hard to solve,
Variable 3(bodyOfConstraint.body.Q[2])=0.33812 has small pivot 3.72086e-016 and is hard to solve,
Variable 4(bodyOfConstraint.body.Q[1])=0.321315 has small pivot 3.18722e-016 and is hard to solve.

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 Martin Sjölund, 10 years ago

Milestone: 1.9.21.9.3

Milestone changed to 1.9.3 since 1.9.2 was released.

comment:4 by Volker Waurich, 9 years ago

I made the compiler to continue translation after detection of singular systems. For the given model, lapack fails when solving the linear system with a zero-vector as b-vector in order to check singularity for the system. But solving the system with the correct b-vector during simulation does work.
Anyway, the error is still displayed. Maybe we should change this information to a warning or something.

comment:5 by Volker Waurich, 9 years ago

Resolution: fixed
Status: newclosed

The model simulates correctly and a warning about a potential singular system is output.

comment:6 by Lennart Ochel, 9 years ago

I tested this model with the new initialization approach (separating initialization and simulation right after index reduction) and the warning disappeared again.

Note: See TracTickets for help on using tickets.