Opened 11 years ago
Closed 11 years ago
#2324 closed defect (fixed)
Linear Tearing produces wrong simulation results
Reported by: | Patrick Täuber | Owned by: | Lennart Ochel |
---|---|---|---|
Priority: | high | Milestone: | 1.9.0 |
Component: | Run-time | Version: | trunk |
Keywords: | Cc: | Lennart Ochel, Jens Frenkel, Volker Waurich |
Description
model Tearing "Example from Book Continous System Simulation by F. Cellier page 263" Real u0; Real i1(start=1); Real i2(start=1); Real i3(start=1); Real u1(start=1); Real u2(start=1); Real u3(start=1); parameter Real r1=10; parameter Real r2=10; parameter Real r3=10; equation u0 = sin(time)*10; u1-r1*i1=0; u2-r2*i2=0; u3-r3*i3=0; u1+u3=u0; u2-u3=0; i1-i2-i3=0; end Tearing;
Using linear Tearing produces the following values for time=0:
[4] Real u1(start=1, nominal=1) = -10 (pre: 1) [7] Real i1(start=1, nominal=1) = 2 (pre: 1) Eq2: u1-r1*i1 <> 0;
Example from:
testsuite/simulation/modelica/tearing/Tearing.mo
Change History (5)
comment:1 by , 11 years ago
Cc: | added |
---|
comment:2 by , 11 years ago
comment:3 by , 11 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:4 by , 11 years ago
Owner: | changed from | to
---|
Note:
See TracTickets
for help on using tickets.
I have checked the symbolic changes and the generated code. It looks like a reintroduced bug by implementing the lates solve nonlinear system interfaces. For the torn systems it is essential to call the so called "other equations" once again after solving the nonlinear systems. If this is not done the lates values in the so called "other variables" (this are the variables calculated from tearing variables" have not the right values. This is because the solvers last call to residualFunc was not with the solution values.
Willi should confirm that.