Sundials for larger system of chemical plant

78 Views Asked by At

I am trying to solve a rather larger system of differential algebraic equations (DAEs) using Sundials. The DAEs contain both algebraic and differential variables.

To get the initial conditions for the DAEs, I am using Ipopt and Jump, solving the equations WITHOUT the differential terms. Thus, the initial conditions for the algebraic variables are set by Ipopt, and the initial conditions for the differential variables are set to zero.

Ipopt manage to solve the system without the differential terms: EXIT: Optimal Solution Found.

However, using Sundials does not work and I gat the following error message:

[IDAS ERROR]  IDASolve
  At t = 0 and h = 6.67572e-010, the corrector convergence failed repeatedly or with |h| = hmin.

retcode: ConvergenceFailure
Interpolation: 3rd order Hermite
t: 1-element Vector{Float64}:
 0.0
u: 1-element Vector{Vector{Float64}}:
 [1.2206393830204552, 665.4567421778746, 665.4567421778746, 665.4567421778746, 0.2392717933819864, 0.23927179338198643, 0.2392717933819864, 30.000000114765616, 30.000000114765616, 30.000000114765616  …  1.9999743918584891, 1.9999743918584985, 15.038245336256479, 15.038245336256479, 15.038245336256479, 15.038245406882618, 15.038245406882618, 15.038245406882618, 2.9999986304798587, 308.2267147190701]

The thing is that I know that the differential equations are properly defined, since I have managed to solve a smaller version of the system. The system is a model of a chemical plant. Thus, containing some tanks. The smaller system is modeled with one tank and works fine, but adding one more tank does not work. Does anyone have some more knowledge on the error message or on Sundials?

1

There are 1 best solutions below

0
On

You might get more help if you ask about this on the Julia discourse: https://discourse.julialang.org/c/domain/models/21.