#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 , 11 years ago
comment:2 by , 11 years ago
| Milestone: | 1.9.1 → 1.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 , 11 years ago
| Milestone: | 1.9.2 → 1.9.3 |
|---|
Milestone changed to 1.9.3 since 1.9.2 was released.
comment:4 by , 10 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 , 10 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
The model simulates correctly and a warning about a potential singular system is output.
comment:6 by , 10 years ago
I tested this model with the new initialization approach (separating initialization and simulation right after index reduction) and the warning disappeared again.

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.