I am running a system model in Dymola (modelica based commercial software). Model is about heat and mass transfer from porous substance under forced convection. My problem for asking this question is regarding errors generated during simulation of model.
With the current settings of the model runs successfully for given simulation time (7200 Secs). But it generates following prompts in log file (intermittently throughout the run time):
ERROR: Failed to solve non-linear system using Newton solver.
To get more information: Turn on Simulation/Setup/Debug/Nonlinear solver diagnostics/Details
Solution to systems of equations not found at time = 882.457
Nonlinear system of equations number = 4
Infinity-norm of residue = 154.849
Iteration is not making good progress.
Accumulated number of residue calculations: 25279
Last values of solution vector:
drum.T_e = 306.346
drum.X_e = 0.0413446
Last values of residual vector:
{ -0.000157014, 154.849 }
I suppose my foremost question is what should I generally understand about my model when I see this. Does this imply a particular fault in way I have defined system of equations or events? This problem becomes apparent when I run robustness study on model by changing some key parameters over a range. Model then fails before end time due to this error, at random combinations of parameter values. As suggested in error message, I did run the model with diagnostic detail checked and it gives large Amat array, with following instructions:
Failed to evaluate model for ODE-Jacobian
Too many slow iterations with no progress
Line search: DX-norm scaled-residua-norm residual (unscaled)
Search direction{ -0.000634251, 6.52346E-006 }
To investigate the properties of the function, you can plot the
function in the search direction by pasting the following
commands in the Dymola command window:
Amat={<...>};
plotArray(Amat[:,1],Amat[:,2],-1);
If the graph has discontinuities, local minima above zero,
and/or knees this explains the problem.
As you can see it gives direction to plot Amat (in order to see if discontinuities and local minima are present). Again if I do find these irregularities what should it dictate in terms of changes that I should made to my model(equations)?
I know that provided details may be insufficient to answer, but there is huge log with same repeated failure throughout run time. So if anybody is having some idea about this, please also suggest what relevant detail I may add about my model or simulation so that answering may be easy.