@@ -607,6 +607,64 @@ function remake(prob::SDDEProblem;
607607 return prob
608608end
609609
610+ """
611+ remake(prob::DAEProblem; f = missing, du0 = missing, u0 = missing, tspan = missing,
612+ p = missing, differential_vars = missing, kwargs = missing, _kwargs...)
613+
614+ Remake the given `DAEProblem`.
615+ If `u0` or `p` are given as symbolic maps `ModelingToolkit.jl` has to be loaded.
616+ """
617+ function remake (prob:: DAEProblem ; f = missing ,
618+ du0 = missing ,
619+ u0 = missing ,
620+ tspan = missing ,
621+ p = missing ,
622+ differential_vars = missing ,
623+ kwargs = missing ,
624+ interpret_symbolicmap = true ,
625+ use_defaults = false ,
626+ lazy_initialization = nothing ,
627+ build_initializeprob = Val{true },
628+ _kwargs... )
629+ if tspan === missing
630+ tspan = prob. tspan
631+ end
632+
633+ newu0, newp = updated_u0_p (prob, u0, p, tspan[1 ]; interpret_symbolicmap, use_defaults)
634+
635+ if build_initializeprob == Val{true } || build_initializeprob == true
636+ if f != = missing && has_initialization_data (f)
637+ initialization_data = remake_initialization_data (
638+ prob. f. sys, f, u0, tspan[1 ], p, newu0, newp)
639+ else
640+ initialization_data = remake_initialization_data (
641+ prob. f. sys, prob. f, u0, tspan[1 ], p, newu0, newp)
642+ end
643+ else
644+ initialization_data = nothing
645+ end
646+
647+ f = coalesce (f, prob. f)
648+ f = remake (prob. f; f, initialization_data)
649+
650+ du0 = coalesce (du0, prob. du0)
651+ differential_vars = coalesce (differential_vars, prob. differential_vars)
652+
653+ iip = isinplace (prob)
654+
655+ prob = if kwargs === missing
656+ DAEProblem {iip} (f, du0, newu0, tspan, newp; differential_vars, prob. kwargs... , _kwargs... )
657+ else
658+ DAEProblem {iip} (f, du0, newu0, tspan, newp; differential_vars, kwargs... )
659+ end
660+
661+ u0, p = maybe_eager_initialize_problem (prob, initialization_data, lazy_initialization)
662+ @reset prob. u0 = u0
663+ @reset prob. p = p
664+
665+ return prob
666+ end
667+
610668"""
611669 remake(prob::OptimizationProblem; f = missing, u0 = missing, p = missing,
612670 lb = missing, ub = missing, int = missing, lcons = missing, ucons = missing,
0 commit comments