From 3ebb7581fade1541534adda58d0a4a6bff178428 Mon Sep 17 00:00:00 2001 From: Aayush Sabharwal Date: Sat, 19 Jul 2025 00:58:45 +0530 Subject: [PATCH 1/2] feat: make `nlprobmap` in-place --- src/systems/solver_nlprob.jl | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/systems/solver_nlprob.jl b/src/systems/solver_nlprob.jl index 006241bf44..463f25e5e6 100644 --- a/src/systems/solver_nlprob.jl +++ b/src/systems/solver_nlprob.jl @@ -18,7 +18,7 @@ function generate_ODENLStepData(sys::System, u0, p, mm = calculate_massmatrix(sy set_gamma_c = setsym(nlsys, (ODE_GAMMA..., ODE_C)) set_outer_tmp = setsym(nlsys, outer_tmp) set_inner_tmp = setsym(nlsys, inner_tmp) - nlprobmap = getsym(nlsys, unknowns(sys)) + nlprobmap = generate_nlprobmap(sys, nlsys) return SciMLBase.ODENLStepData(nlprob, subsetidxs, set_gamma_c, set_outer_tmp, set_inner_tmp, nlprobmap) end @@ -58,3 +58,19 @@ function inner_nlsystem(sys::System, mm) nlsys = mtkcompile(System(new_eqs, new_dvs, new_ps; name = :nlsys); split = is_split(sys)) return nlsys, outer_tmp, inner_tmp end + +struct NLStep_probmap{F} + f::F +end + +function (nlp::NLStep_probmap)(buffer, nlsol) + nlp.f(buffer, state_values(nlsol), parameter_values(nlsol)) +end + +function (nlp::NLStep_probmap)(nlsol) + nlp.f(state_values(nlsol), parameter_values(nlsol)) +end + +function generate_nlprobmap(sys::System, nlsys::System) + return NLStep_probmap(build_explicit_observed_function(nlsys, unknowns(sys))) +end From 528ba4bcdcd403c4f13cc6c55eeb904e89ef5e03 Mon Sep 17 00:00:00 2001 From: Aayush Sabharwal Date: Sat, 19 Jul 2025 00:59:28 +0530 Subject: [PATCH 2/2] build: bump SciMLBase compat --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index d26ffac8ee..ee2ac2a56c 100644 --- a/Project.toml +++ b/Project.toml @@ -149,7 +149,7 @@ RecursiveArrayTools = "3.26" Reexport = "0.2, 1" RuntimeGeneratedFunctions = "0.5.9" SCCNonlinearSolve = "1.0.0" -SciMLBase = "2.100.0" +SciMLBase = "2.104.0" SciMLPublic = "1.0.0" SciMLStructures = "1.7" Serialization = "1"