@@ -111,7 +111,7 @@ sol = solve(dae_prob, IDA())
111111
112112du0 = [0.0 ] # inconsistent
113113dae_prob = DAEProblem (f!, du0, u0, tspan; differential_vars = [true ])
114- sol = solve (dae_prob, IDA ())
114+ sol = solve (dae_prob, IDA (); initializealg = BrownFullBasicInit () )
115115
116116function f! (res, du, u, p, t)
117117 res[1 ] = u[1 ] - 1.01
@@ -132,7 +132,7 @@ function DiffEqBase.initialize_dae!(integrator::Sundials.IDAIntegrator,
132132 initializealg:: DumbInit )
133133 integrator. u .= 1
134134 integrator. u_modified = true
135- DiffEqBase. initialize_dae! (integrator, Sundials. IDADefaultInit ())
135+ DiffEqBase. initialize_dae! (integrator, Sundials. BrownFullBasicInit ())
136136end
137137f (du, u, p, t) = du - u # u(t) = exp(t)
138138prob = DAEProblem (f, zeros (1 ), zeros (1 ), (0 , 1 ), differential_vars = trues (1 ))
@@ -152,7 +152,7 @@ function f_initial_data(du, u, p, t)
152152 return [du[1 ] - (u[1 ] + 10.0 )]
153153end
154154prob = DAEProblem (f_initial_data, [0.0 ], [1.0 ], (0.0 , 1.0 ); differential_vars = [true ])
155- sol = solve (prob, IDA ())
155+ sol = solve (prob, IDA (), initializealg = Sundials . BrownFullBasicInit () )
156156# If this is one, it incorrectly saved u, if it is 0., it incorrectly solved
157157# the pre-init value rather than the post-init one.
158158@test sol (0.0 , Val{1 })[1 ] ≈ 11.0
@@ -162,7 +162,7 @@ daefun = (du, u, p, t) -> [du[1] - u[2], u[2] - p]
162162callback = PresetTimeCallback (0.5 , integ-> (integ. p = - integ. p;))
163163prob = DAEProblem (daefun, [0.0 , 0.0 ], [0.0 , - 1.0 ], (0.0 , 1 ), 1 ;
164164 differential_vars = [true , false ], callback)
165- sol = solve (prob, IDA ())
165+ sol = solve (prob, IDA (), initializealg = Sundials . BrownFullBasicInit () )
166166@test sol. retcode == ReturnCode. Success
167167# test that the callback flipping p caused u[2] to get flipped.
168168first_t = findfirst (isequal (0.5 ), sol. t)
0 commit comments