From 4989fc283da4803486f2dce54386b55d20fff7ce Mon Sep 17 00:00:00 2001 From: Daniel Weindl Date: Fri, 25 Jul 2025 09:07:07 +0200 Subject: [PATCH] Fix pre-equilibration error with `generate_sensitivity_code=False` Only call `Model::initializeStateSensitivities` if we are computing sensitivities. Fixes a recently introduced bug that results in a simulation error when running pre-equilibration with models that were imported with `generate_sensitivity_code=False`. --- src/forwardproblem.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/forwardproblem.cpp b/src/forwardproblem.cpp index 9f00707113..59763aea8a 100644 --- a/src/forwardproblem.cpp +++ b/src/forwardproblem.cpp @@ -262,7 +262,10 @@ void ForwardProblem::handlePreequilibration() { solver->getSensitivityOrder() >= SensitivityOrder::first, ws_.roots_found ); - model->initializeStateSensitivities(t0, ws_.sol.sx, ws_.sol.x); + if (solver->getSensitivityOrder() >= SensitivityOrder::first + and solver->getSensitivityMethod() != SensitivityMethod::none) { + model->initializeStateSensitivities(t0, ws_.sol.sx, ws_.sol.x); + } solver->setup(t0, model, ws_.sol.x, ws_.sol.dx, ws_.sol.sx, ws_.sdx); preeq_problem_->workSteadyStateProblem(*solver, -1, t0);