@@ -25,6 +25,7 @@ struct CasADiModel
2525 U:: MXLinearInterpolation
2626 V:: MXLinearInterpolation
2727 tₛ:: MX
28+ is_free_final:: Bool
2829end
2930
3031struct CasADiDynamicOptProblem{uType, tType, isinplace, P, F, K} < :
@@ -87,10 +88,10 @@ function MTK.CasADiDynamicOptProblem(sys::ODESystem, u0map, tspan, pmap;
8788 CasADiDynamicOptProblem (f, u0, tspan, p, model, kwargs... )
8889end
8990
90- MTK. generate_U (model, dims) = 1
91- MTK. generate_V (model, dims) = 1
92- MTK. generate_timescale (model, dims) = 1
9391MTK. generate_internal_model (:: Type{CasADiModel} ) = CasADi. opti ()
92+ MTK. generate_state_variable (model, u0, ns, nt)
93+ MTK. generate_input_variable (model, c0, nc, nt) = 1
94+ MTK. generate_timescale (model, dims) = 1
9495
9596function init_model (sys, tspan, steps, u0map, pmap, u0; is_free_t = false )
9697 ctrls = MTK. unbound_inputs (sys)
@@ -317,7 +318,7 @@ function add_solve_constraints(prob, tableau)
317318 for k in 1 : (length (tsteps) - 1 )
318319 τ = tsteps[k]
319320 Kᵢ = variable! (solver_opti, nᵤ, length (α))
320- ΔUs = A * Kᵢ' # the stepsize at each stage of the implicit method
321+ ΔUs = A * Kᵢ'
321322 for (i, h) in enumerate (c)
322323 ΔU = ΔUs[i, :]'
323324 Uₙ = U. u[:, k] + ΔU * dt
0 commit comments