.FailureModes.NonlinearSolverFailures.WrongInitialSolutionSelected

Information

This model describes a simple hydraulic system with a pump, followed by a valve, which fills a reservoir.

The operating point of the pumpt is determined by a nonlinear system with five unknowns: w_pump, dp_pump, dp_valve, sqrt_dp, and p1. They can be reduced to one by selecting w_pump as the tearing variable.

At time t=0, this system has two solutions, one with positive w_pump, and the other one with negative w_pump. If the start value of the tearing variable w_pump is chosen incorrectly, the solver will converge to the negative solution, then lock onto it for the rest of the simulation.

When the user sees the negative w_pump, he/she should be able to analyze how this value was found at time t = 0. The debugger should show that w_pump is solved by that nonlinear system, and show the values of the tearing variables and of the torn variables at each iteration. It will then become apparent that the start value of the teaing variable w_pump, which is negative in this test case, causes the solver to converge on the wrong solution, thus suggesting the solution to the problem, i.e., changing the start value of w_pump to a positive value that allows the solver to converge on the desired solution.


Generated at 2024-11-20T19:25:51Z by OpenModelicaOpenModelica 1.24.2 using GenerateDoc.mos