@@ -53,19 +53,20 @@ Solve for `u`
5353
5454=#
5555
56- function _initialize_dae! (integrator, prob:: ODEProblem , alg:: ShampineCollocationInit ,
56+ function _initialize_dae! (integrator:: OrdinaryDiffEqCore.ODEIntegrator , prob:: ODEProblem , alg:: DiffEqBase. ShampineCollocationInit ,
5757 isinplace:: Val{true} )
5858 @unpack p, t, f = integrator
5959 M = integrator. f. mass_matrix
6060 dtmax = integrator. opts. dtmax
6161 tmp = first (get_tmp_cache (integrator))
6262 u0 = integrator. u
6363
64- dt = if alg. initdt === nothing
64+ initdt = alg. initdt
65+ dt = if initdt === nothing
6566 integrator. dt != 0 ? min (integrator. dt / 5 , dtmax) :
6667 (prob. tspan[end ] - prob. tspan[begin ]) / 1000 # Haven't implemented norm reduction
6768 else
68- alg . initdt
69+ initdt
6970 end
7071
7172 algebraic_vars = [all (iszero, x) for x in eachcol (M)]
@@ -168,18 +169,19 @@ function _initialize_dae!(integrator, prob::ODEProblem, alg::ShampineCollocation
168169 return
169170end
170171
171- function _initialize_dae! (integrator, prob:: ODEProblem , alg:: ShampineCollocationInit ,
172+ function _initialize_dae! (integrator:: OrdinaryDiffEqCore.ODEIntegrator , prob:: ODEProblem , alg:: DiffEqBase. ShampineCollocationInit ,
172173 isinplace:: Val{false} )
173174 @unpack p, t, f = integrator
174175 u0 = integrator. u
175176 M = integrator. f. mass_matrix
176177 dtmax = integrator. opts. dtmax
177178
178- dt = if alg. initdt === nothing
179+ initdt = alg. initdt
180+ dt = if initdt === nothing
179181 integrator. dt != 0 ? min (integrator. dt / 5 , dtmax) :
180182 (prob. tspan[end ] - prob. tspan[begin ]) / 1000 # Haven't implemented norm reduction
181183 else
182- alg . initdt
184+ initdt
183185 end
184186
185187 algebraic_vars = [all (iszero, x) for x in eachcol (M)]
@@ -246,7 +248,7 @@ function _initialize_dae!(integrator, prob::ODEProblem, alg::ShampineCollocation
246248 return
247249end
248250
249- function _initialize_dae! (integrator, prob:: DAEProblem ,
251+ function _initialize_dae! (integrator:: OrdinaryDiffEqCore.ODEIntegrator , prob:: DAEProblem ,
250252 alg:: ShampineCollocationInit , isinplace:: Val{true} )
251253 @unpack p, t, f = integrator
252254 u0 = integrator. u
@@ -323,7 +325,7 @@ function _initialize_dae!(integrator, prob::DAEProblem,
323325 return
324326end
325327
326- function _initialize_dae! (integrator, prob:: DAEProblem ,
328+ function _initialize_dae! (integrator:: OrdinaryDiffEqCore.ODEIntegrator , prob:: DAEProblem ,
327329 alg:: ShampineCollocationInit , isinplace:: Val{false} )
328330 @unpack p, t, f = integrator
329331 u0 = integrator. u
@@ -387,8 +389,8 @@ function algebraic_jacobian(jac_prototype::T, algebraic_eqs,
387389 jac_prototype[algebraic_eqs, algebraic_vars]
388390end
389391
390- function _initialize_dae! (integrator, prob:: ODEProblem ,
391- alg:: BrownFullBasicInit , isinplace:: Val{true} )
392+ function _initialize_dae! (integrator:: OrdinaryDiffEqCore.ODEIntegrator , prob:: ODEProblem ,
393+ alg:: DiffEqBase. BrownFullBasicInit , isinplace:: Val{true} )
392394 @unpack p, t, f = integrator
393395 u = integrator. u
394396 M = integrator. f. mass_matrix
@@ -468,8 +470,8 @@ function _initialize_dae!(integrator, prob::ODEProblem,
468470 return
469471end
470472
471- function _initialize_dae! (integrator, prob:: ODEProblem ,
472- alg:: BrownFullBasicInit , isinplace:: Val{false} )
473+ function _initialize_dae! (integrator:: OrdinaryDiffEqCore.ODEIntegrator , prob:: ODEProblem ,
474+ alg:: DiffEqBase. BrownFullBasicInit , isinplace:: Val{false} )
473475 @unpack p, t, f = integrator
474476
475477 u0 = integrator. u
@@ -536,8 +538,8 @@ function _initialize_dae!(integrator, prob::ODEProblem,
536538 return
537539end
538540
539- function _initialize_dae! (integrator, prob:: DAEProblem ,
540- alg:: BrownFullBasicInit , isinplace:: Val{true} )
541+ function _initialize_dae! (integrator:: OrdinaryDiffEqCore.ODEIntegrator , prob:: DAEProblem ,
542+ alg:: DiffEqBase. BrownFullBasicInit , isinplace:: Val{true} )
541543 @unpack p, t, f = integrator
542544 differential_vars = prob. differential_vars
543545 u = integrator. u
@@ -592,8 +594,9 @@ function _initialize_dae!(integrator, prob::DAEProblem,
592594 f (out, du_tmp, uu, p, t)
593595 end
594596
595- if alg. nlsolve != = nothing
596- nlsolve = alg. nlsolve
597+ nlsolve_alg = alg. nlsolve
598+ if nlsolve_alg != = nothing
599+ nlsolve = nlsolve_alg
597600 else
598601 nlsolve = NewtonRaphson (autodiff = alg_autodiff (integrator. alg))
599602 end
@@ -617,8 +620,8 @@ function _initialize_dae!(integrator, prob::DAEProblem,
617620 return
618621end
619622
620- function _initialize_dae! (integrator, prob:: DAEProblem ,
621- alg:: BrownFullBasicInit , isinplace:: Val{false} )
623+ function _initialize_dae! (integrator:: OrdinaryDiffEqCore.ODEIntegrator , prob:: DAEProblem ,
624+ alg:: DiffEqBase. BrownFullBasicInit , isinplace:: Val{false} )
622625 @unpack p, t, f = integrator
623626 differential_vars = prob. differential_vars
624627
0 commit comments