Opened 12 years ago

Closed 12 years ago

#2231 closed defect (fixed)

radau1 solver fails on a simple model

Reported by: anonymous Owned by: Vitalij Ruge
Priority: high Milestone: 1.9.0
Component: Run-time Version: trunk
Keywords: solver, radau Cc: Vitalij Ruge

Description

the solver "radau1" fails on the following simple model:

model Test1
 parameter Integer n = 1;
 parameter Real x0[n] = {1};
 Real x[n](start=x0);
 parameter Real a = 1;
equation
  der(x) = a*x;
end Test1;

For me the solver runs forever without any solution.

Change History (9)

comment:1 by Martin Sjölund, 12 years ago

radau3 works fine. radau1 does get stuck though...

comment:2 by Lennart Ochel, 12 years ago

Cc: Vitalij Ruge added
Owner: changed from somebody to Vitalij Ruge
Status: newassigned

comment:3 by Vitalij Ruge, 12 years ago

No wonder.
Probably, we should rename radau1 in implicit Euler.
(The eigenvalue from the ode is 1. So the solver is not inside the stability region.)

comment:4 by Lennart Ochel, 12 years ago

Well, it is okay that radau1 cannot handle this model. But the solver should not get into an infinity loop. The simulation should stop at some point and print some meaningful message.

comment:5 by Lennart Ochel, 12 years ago

But there is an error. If I change a to -1 radau1 still gets into an infinity loop.

comment:6 by Vitalij Ruge, 12 years ago

don't forget the stepSize ;) for stability region (z = lambda*h).
I think it's "only" stability of the solver.

Infinity loop should be fixed now.

comment:7 by Lennart Ochel, 12 years ago

Sure, the step size needs to be taken into account. But for the stability of radau1 (stage 1 as well as stage 2) it does not matter in the case of negative real eigenvalues. It should be fine for each step size.

comment:8 by Vitalij Ruge, 12 years ago

You are right.
I have changed the linear solver in Kinsol.
Now, it's should work.

comment:9 by Lennart Ochel, 12 years ago

Resolution: fixed
Status: assignedclosed

Then, the ticket can be closed. (fixed in r16258)

Note: See TracTickets for help on using tickets.