Skip to content

Commit 17204c4

Browse files
Update OptimizationODE.jl
Mismatch on problem and algorithm fixed.
1 parent 0691c24 commit 17204c4

File tree

1 file changed

+2
-12
lines changed

1 file changed

+2
-12
lines changed

lib/OptimizationODE/src/OptimizationODE.jl

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ struct DAEOptimizer{T}
2323
solver::T
2424
end
2525

26-
DAEMassMatrix() = DAEOptimizer(Rodas5())
26+
DAEMassMatrix() = DAEOptimizer(Rosenbrock23(autodiff = false))
2727
DAEIndexing() = DAEOptimizer(IDA())
2828

2929

@@ -63,15 +63,6 @@ function SciMLBase.__init(prob::OptimizationProblem, opt::DAEOptimizer;
6363
end
6464

6565

66-
function get_solver_type(opt::DAEOptimizer)
67-
if opt.solver isa Union{Rodas5, RadauIIA5, ImplicitEuler, Trapezoid}
68-
return :mass_matrix
69-
else
70-
return :indexing
71-
end
72-
end
73-
74-
7566
function handle_parameters(p)
7667
if p isa SciMLBase.NullParameters
7768
return Float64[]
@@ -107,8 +98,7 @@ function SciMLBase.__solve(
10798
if cache.opt isa ODEOptimizer
10899
return solve_ode(cache, dt, maxit, u0, p)
109100
else
110-
solver_method = get_solver_type(cache.opt)
111-
if solver_method == :mass_matrix
101+
if cache.opt.solver == Rosenbrock23(autodiff = false)
112102
return solve_dae_mass_matrix(cache, dt, maxit, u0, p)
113103
else
114104
return solve_dae_indexing(cache, dt, maxit, u0, p, differential_vars)

0 commit comments

Comments
 (0)