modelSimulationFailure

Nonlinear systems ceases to have a solution during simulation

Extends from InitialFailure (Initial nonlinear system of equations has no solutions).

Information

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

The reservoir is filled both by the pump and by an extra source. The mass flow rate of the pump w_pump is determined by a nonlinear system with five unknowns: w_pump, dp_pump, dp_valve, sqrt_dp, and p1, which basically computes the operating point of the pump as the intersection between the pump head curve and the load (valve + reservoir head) curve. Note that these curves have two intersections (see NonlinearSolverFailure3). As the level increases, w_pump is reduced, and the two intersections get closer to each other, until at time t = 268.8 they collide, making the system singular. As the level increases further due to the extra source, this system ceases to have any solution. This is a typical bifurcation pattern in nonlinear systems.

The debugger can show that the condition number of the Jacobian of the nonlinear system gets bigger and bigger as the critical time when the two operating curves become tangent to each other, suggesting that this system becomes singular for some reason. Understanding the reason why this happens requires physical insight into the model.

The model can be fixed by adding some mass storage depending on the pressure p1, in order to avoid the singularity in determining p1, and also by using a more realistic cubic curve for the pump model, so that when the limit level is reached, the solution will jump to a big negative pump flow. Again, this requires physical insight into the validity range of the implemented model.

Parameters

TypeNameDefaultDescription
SI.Pressurepatm (from InitialFailure)101325Atmospheric pressure
RealKv (from InitialFailure)1e-2Valve coefficient
Realdp_small (from InitialFailure)1Small dp for valve equation
Realdp0 (from InitialFailure)3e5Pump dp @ zero flow
Reala1 (from InitialFailure)1e6Pump coefficient
Reala2 (from InitialFailure)3e2Pump coefficient
Reala3 (from InitialFailure)3e2Pump coefficient
SI.TemperatureT0 (from InitialFailure)20 + 273.15Temperature of incoming fluid
SI.Densityrho (from InitialFailure)995Density of fluid
SI.AreaA (from InitialFailure)0.01Storage tank cross section
SI.MassFlowRatew_extra (from InitialFailure)0Extra mass flow rate into reservoir
SI.Accelerationg (from InitialFailure)Modelica.Constants.g_nAcceleration of gravity
SI.TemperatureTref (from InitialFailure)273.16Reference temperature for specific enthalpy computation
SI.SpecificHeatCapacitycp (from InitialFailure)4186Cp of the fluid

Components

TypeNameDefaultDescription
SI.MassFlowRatew_pump (from InitialFailure)Mass flow rate from the pump
SI.Pressurep1 (from InitialFailure)Pump discharge pressure
SI.Pressurep2 (from InitialFailure)Storage tank inlet pressure
SI.Pressuredp_pump (from InitialFailure)Pump dp
SI.Pressuredp_valve (from InitialFailure)Valve dp
Realsqrt_dp (from InitialFailure)Regularized sqrt(dp)
SI.SpecificEnthalpyh0 (from InitialFailure)Pump inlet specific enthalpy
SI.SpecificEnthalpyh1 (from InitialFailure)Pump discharge specific enthalpy
SI.PowerW (from InitialFailure)
SI.Lengthy (from InitialFailure)Reservoir level
Realeta (from InitialFailure)(p1 - patm)*w_pump/rho/WPump efficiency
SI.TemperatureT1 (from InitialFailure)Pump discharge temperature
SI.Timetau (from InitialFailure)1Time constant of temperature sensor