From 25e1a2bfe8a48748b8acc09c3229f6b4a37f393d Mon Sep 17 00:00:00 2001 From: Reino Ruusu Date: Thu, 24 Oct 2024 16:32:03 +0300 Subject: [PATCH 1/6] Output all CVODE steps refs #1330 --- src/OMSimulatorLib/SystemSC.cpp | 78 ++++++++++++++++++++++----------- src/OMSimulatorLib/SystemSC.h | 4 +- 2 files changed, 54 insertions(+), 28 deletions(-) diff --git a/src/OMSimulatorLib/SystemSC.cpp b/src/OMSimulatorLib/SystemSC.cpp index 157ff0f40..e3fe9b162 100644 --- a/src/OMSimulatorLib/SystemSC.cpp +++ b/src/OMSimulatorLib/SystemSC.cpp @@ -534,23 +534,23 @@ oms_status_enu_t oms::SystemSC::doStep() switch(solverMethod) { case oms_solver_sc_explicit_euler: - return doStepEuler(); + return doStepEuler(time + maximumStepSize); case oms_solver_sc_cvode: - return doStepCVODE(); + return doStepCVODE(time + maximumStepSize); default: return logError_InternalError; } } -oms_status_enu_t oms::SystemSC::doStepEuler() +oms_status_enu_t oms::SystemSC::doStepEuler(double stopTime) { fmi2Status fmistatus; oms_status_enu_t status; // Step 1: Initialize state variables and time - const fmi2Real end_time = std::min(time + maximumStepSize, getModel().getStopTime()); + const fmi2Real end_time = std::min(time + maximumStepSize, stopTime); const fmi2Real event_time_tolerance = 1e-4; logDebug("doStepEuler: " + std::to_string(time) + " -> " + std::to_string(end_time)); @@ -766,13 +766,14 @@ oms_status_enu_t oms::SystemSC::doStepEuler() return oms_status_ok; } -oms_status_enu_t oms::SystemSC::doStepCVODE() +oms_status_enu_t oms::SystemSC::doStepCVODE(double stopTime) { fmi2Status fmistatus; oms_status_enu_t status; - int flag; + int flag = 0; + bool tnext_is_event = false; - const fmi2Real end_time = std::min(time + maximumStepSize, getModel().getStopTime()); + const fmi2Real end_time = stopTime; // find next time event fmi2Real tnext = end_time+1.0; @@ -788,16 +789,35 @@ oms_status_enu_t oms::SystemSC::doStepCVODE() time = end_time; } } + + tnext_is_event = tnext <= end_time; + tnext = std::min(tnext, end_time); + logDebug("tnext: " + std::to_string(tnext)); - while (time < end_time) - { + //while (time < end_time) + //{ logDebug("CVode: " + std::to_string(time) + " -> " + std::to_string(end_time)); for (size_t j=0, k=0; j < fmus.size(); ++j) for (size_t i=0; i < nStates[j]; ++i, ++k) NV_Ith_S(solverData.cvode.y, k) = states[j][i]; - flag = CVode(solverData.cvode.mem, std::min(tnext, end_time), solverData.cvode.y, &time, CV_NORMAL); + double cvode_time = tnext; + CVodeGetCurrentTime(solverData.cvode.mem, &cvode_time); + if (cvode_time < tnext) { + flag = CVode(solverData.cvode.mem, tnext, solverData.cvode.y, &cvode_time, CV_ONE_STEP); + if (flag < 0) + return logError("SUNDIALS_ERROR: CVode() failed with flag = " + std::to_string(flag)); + } + + if (cvode_time > tnext) { + // interpolate result to tnext (this shouldn't take any further steps) + flag = CVode(solverData.cvode.mem, tnext, solverData.cvode.y, &cvode_time, CV_NORMAL); + if (flag < 0) + return logError("SUNDIALS_ERROR: CVode() failed with flag = " + std::to_string(flag)); + } + + time = cvode_time; for (size_t i = 0, j=0; i < fmus.size(); ++i) { @@ -809,7 +829,7 @@ oms_status_enu_t oms::SystemSC::doStepCVODE() if (oms_status_ok != status) return status; } - if (flag == CV_ROOT_RETURN || time == tnext) + if (flag == CV_ROOT_RETURN || tnext_is_event && time == tnext) { logDebug("event found!!! " + std::to_string(time)); @@ -839,15 +859,6 @@ oms_status_enu_t oms::SystemSC::doStepCVODE() if (fmi2OK != fmistatus) logError_FMUCall("fmi2_enterContinuousTimeMode", fmus[i]); } - for (size_t i = 0; i < fmus.size(); ++i) - { - if (0 == nStates[i]) - continue; - - status = fmus[i]->getContinuousStates(states[i]); - if (oms_status_ok != status) return status; - } - // find next time event tnext = end_time+1.0; for (size_t i = 0; i < fmus.size(); ++i) @@ -862,6 +873,10 @@ oms_status_enu_t oms::SystemSC::doStepCVODE() time = end_time; } } + + tnext_is_event = tnext <= end_time; + tnext = std::min(tnext, end_time); + logDebug("tnext: " + std::to_string(tnext)); // emit the right limit of the event @@ -885,10 +900,10 @@ oms_status_enu_t oms::SystemSC::doStepCVODE() flag = CVodeReInit(solverData.cvode.mem, time, solverData.cvode.y); if (flag < 0) return logError("SUNDIALS_ERROR: CVodeReInit() failed with flag = " + std::to_string(flag)); - continue; + return oms_status_ok; } - if (flag == CV_SUCCESS) + if (flag >= 0) // Some kind of success { logDebug("CVode completed successfully at t = " + std::to_string(time)); @@ -914,7 +929,7 @@ oms_status_enu_t oms::SystemSC::doStepCVODE() } else return logError("CVode failed with flag = " + std::to_string(flag)); - } + //} return oms_status_ok; @@ -930,14 +945,25 @@ oms_status_enu_t oms::SystemSC::stepUntil(double stopTime) // main simulation loop oms_status_enu_t status = oms_status_ok; - while (time < std::min(stopTime, getModel().getStopTime()) && oms_status_ok == status) + double endTime = std::min(stopTime, getModel().getStopTime()); + double lastTime = time; + while (time < endTime && oms_status_ok == status) { - status = doStep(); + if (solverMethod == oms_solver_sc_explicit_euler) + status = doStepEuler(endTime); + else if (solverMethod == oms_solver_sc_cvode) + status = doStepCVODE(endTime); + else + return logError_InternalError; + if (status != oms_status_ok) logWarning("Bad return code at time " + std::to_string(time)); - if (isTopLevelSystem() && Flags::ProgressBar()) + if (isTopLevelSystem() && Flags::ProgressBar() && time > lastTime + maximumStepSize) + { Log::ProgressBar(startTime, stopTime, time); + lastTime = time; + } } if (isTopLevelSystem() && Flags::ProgressBar()) diff --git a/src/OMSimulatorLib/SystemSC.h b/src/OMSimulatorLib/SystemSC.h index f9b07d830..8b7ae7924 100644 --- a/src/OMSimulatorLib/SystemSC.h +++ b/src/OMSimulatorLib/SystemSC.h @@ -71,8 +71,8 @@ namespace oms oms_status_enu_t setSolver(oms_solver_enu_t solver) {if (solver > oms_solver_sc_min && solver < oms_solver_sc_max) {solverMethod=solver; return oms_status_ok;} return oms_status_error;} private: - oms_status_enu_t doStepEuler(); - oms_status_enu_t doStepCVODE(); + oms_status_enu_t doStepEuler(double stopTime); + oms_status_enu_t doStepCVODE(double stopTime); protected: SystemSC(const ComRef& cref, Model* parentModel, System* parentSystem); From c6fe68328c69e0fa44e1eaa41995aa5b61f80564 Mon Sep 17 00:00:00 2001 From: Reino Ruusu Date: Thu, 23 Oct 2025 17:24:55 +0300 Subject: [PATCH 2/6] Add missing check for changed simulation stopping time to SystemSC::stepUntil() --- src/OMSimulatorLib/SystemSC.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/OMSimulatorLib/SystemSC.cpp b/src/OMSimulatorLib/SystemSC.cpp index e3fe9b162..8770169e0 100644 --- a/src/OMSimulatorLib/SystemSC.cpp +++ b/src/OMSimulatorLib/SystemSC.cpp @@ -959,6 +959,10 @@ oms_status_enu_t oms::SystemSC::stepUntil(double stopTime) if (status != oms_status_ok) logWarning("Bad return code at time " + std::to_string(time)); + // Check whether stopping time has changed due to a request from an FMU + if (getModel().getStopTime() < endTime) + endTime = getModel().getStopTime(); + if (isTopLevelSystem() && Flags::ProgressBar() && time > lastTime + maximumStepSize) { Log::ProgressBar(startTime, stopTime, time); From d2038bbdf47de5c0563a8c594affaf5ab9d9d484 Mon Sep 17 00:00:00 2001 From: Reino Ruusu Date: Thu, 23 Oct 2025 17:50:14 +0300 Subject: [PATCH 3/6] Update reference data for BouncingBall-me refs #1330 --- testsuite/references/BouncingBall-me.mat | Bin 170487 -> 173399 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/testsuite/references/BouncingBall-me.mat b/testsuite/references/BouncingBall-me.mat index 1fa62874d89359f5d429457b8ae6df9212fbeea1..2478283363a0acd815a5ef2abec35c7fd58365ab 100644 GIT binary patch literal 173399 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 literal 170487 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 Date: Mon, 27 Oct 2025 15:54:30 +0200 Subject: [PATCH 4/6] Fix error in CVODE result interpolation refs #1330 It seems that simply calling CVode with mode CV_NORMAL does not work correctly to return at the given stopping time, if the previous call stopped due to a root. --- src/OMSimulatorLib/SystemSC.cpp | 40 +++++++++++++++++++++--------- testsuite/simulation/EventTest.lua | 11 ++++---- 2 files changed, 33 insertions(+), 18 deletions(-) diff --git a/src/OMSimulatorLib/SystemSC.cpp b/src/OMSimulatorLib/SystemSC.cpp index 8770169e0..c6b7c47c0 100644 --- a/src/OMSimulatorLib/SystemSC.cpp +++ b/src/OMSimulatorLib/SystemSC.cpp @@ -802,19 +802,35 @@ oms_status_enu_t oms::SystemSC::doStepCVODE(double stopTime) for (size_t i=0; i < nStates[j]; ++i, ++k) NV_Ith_S(solverData.cvode.y, k) = states[j][i]; - double cvode_time = tnext; - CVodeGetCurrentTime(solverData.cvode.mem, &cvode_time); - if (cvode_time < tnext) { - flag = CVode(solverData.cvode.mem, tnext, solverData.cvode.y, &cvode_time, CV_ONE_STEP); - if (flag < 0) - return logError("SUNDIALS_ERROR: CVode() failed with flag = " + std::to_string(flag)); - } + // Advance integrator (to end of step or next root) + double cvode_time = time; + int task = tnext > time + maximumStepSize ? CV_ONE_STEP : CV_NORMAL; + flag = CVode(solverData.cvode.mem, tnext, solverData.cvode.y, &cvode_time, task); + if (flag < 0) + return logError("SUNDIALS_ERROR: CVode() failed with flag = " + std::to_string(flag)); + + // Sanity check, should not be triggered. + // To avoid resorting to this, CV_NORMAL is used above when tnext is too close. + if (cvode_time > tnext) + { + logWarning("SystemSC::doStepCVODE: Stopping time overstepped by CVODE"); + + // This fails to do the necessary interpolation when the previous call has stopped at a root. + // flag = CVode(solverData.cvode.mem, tnext, solverData.cvode.y, &cvode_time, CV_NORMAL); + // if (flag < 0) + // return logError("SUNDIALS_ERROR: CVode() failed with flag = " + std::to_string(flag)); + + // Issue with the approach below: + // - Internal time of CVODE stays at previously returned value. + // - This may cause it to skip a root. + + // Interpolate states to value at tnext + int retval = CVodeGetDky(solverData.cvode.mem, tnext, 0, solverData.cvode.y); + if (retval != CV_SUCCESS) + return logError("SUNDIALS_ERROR: CVodeGetDky() failed with flag = " + std::to_string(retval)); - if (cvode_time > tnext) { - // interpolate result to tnext (this shouldn't take any further steps) - flag = CVode(solverData.cvode.mem, tnext, solverData.cvode.y, &cvode_time, CV_NORMAL); - if (flag < 0) - return logError("SUNDIALS_ERROR: CVode() failed with flag = " + std::to_string(flag)); + flag = CV_TSTOP_RETURN; + cvode_time = tnext; } time = cvode_time; diff --git a/testsuite/simulation/EventTest.lua b/testsuite/simulation/EventTest.lua index d620e2775..107f0c0f6 100644 --- a/testsuite/simulation/EventTest.lua +++ b/testsuite/simulation/EventTest.lua @@ -79,16 +79,15 @@ readFile("EventTest_lua.csv") -- 0, 0.3, -1 -- 0.30000001, -1.00000002723e-08, -1 -- 0.30000001, 0.3, -1 --- 0.60000002, -1.00000154823e-08, -1 +-- 0.60000002, -1.00000004943e-08, -1 -- 0.60000002, 0.3, -1 --- 0.90000003, -1.00000214776e-08, -1 +-- 0.90000003, -1.00000004943e-08, -1 -- 0.90000003, 0.3, -1 --- 1, 0.20000003, -1 --- 1.20000004, -1.0000003936e-08, -1 +-- 1.20000004, -1.00000006054e-08, -1 -- 1.20000004, 0.3, -1 --- 1.50000005, -1.00000143721e-08, -1 +-- 1.50000005, -1.00000290271e-08, -1 -- 1.50000005, 0.3, -1 --- 1.80000006, -1.00000390191e-08, -1 +-- 1.80000006, -1.0000053674e-08, -1 -- 1.80000006, 0.3, -1 -- 2, 0.10000006, -1 -- 2, 0.10000006, -1 From 8c4fa1a5f9d907d90072578f86a7c1ce46f6c2f7 Mon Sep 17 00:00:00 2001 From: Reino Ruusu Date: Thu, 30 Oct 2025 14:01:00 +0200 Subject: [PATCH 5/6] Change CVODE stopping to use CVodeSetStopTime() refs #1530 --- src/OMSimulatorLib/SystemSC.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/OMSimulatorLib/SystemSC.cpp b/src/OMSimulatorLib/SystemSC.cpp index fc4dca000..a8a14ccbc 100644 --- a/src/OMSimulatorLib/SystemSC.cpp +++ b/src/OMSimulatorLib/SystemSC.cpp @@ -802,13 +802,21 @@ oms_status_enu_t oms::SystemSC::doStepCVODE(double stopTime) for (size_t i=0; i < nStates[j]; ++i, ++k) NV_Ith_S(solverData.cvode.y, k) = states[j][i]; + // This will force the solver to take a step only to tnext + // The 'tout' argument for CVode will integrate beyond it and return an interpolant + CVodeSetStopTime(solverData.cvode.mem, tnext); + // Advance integrator (to end of step or next root) double cvode_time = time; - int task = tnext > time + maximumStepSize ? CV_ONE_STEP : CV_NORMAL; - flag = CVode(solverData.cvode.mem, tnext, solverData.cvode.y, &cvode_time, task); + flag = CVode(solverData.cvode.mem, tnext, solverData.cvode.y, &cvode_time, CV_ONE_STEP); if (flag < 0) return logError("SUNDIALS_ERROR: CVode() failed with flag = " + std::to_string(flag)); - + + // CVode will return an interpolant for roots. In that case it should always be reset at the root. + // Otherwise it will make use of rhs calculations made before the event. + // This will cause it to ignore any changes in the rhs from current time to cv_mem->cv_tn. + bool is_interpolated = flag == CV_ROOT_RETURN; + // Sanity check, should not be triggered. // To avoid resorting to this, CV_NORMAL is used above when tnext is too close. if (cvode_time > tnext) From d11ce7619ffe7768347dbcfcd0af412fce19d090 Mon Sep 17 00:00:00 2001 From: Reino Ruusu Date: Thu, 30 Oct 2025 20:48:32 +0200 Subject: [PATCH 6/6] Update test cases refs #1530 --- testsuite/reference-fmus/Dahlquist.lua | 2 +- testsuite/simulation/DualMassOscillator.lua | 6 +- testsuite/simulation/Makefile | 1 + testsuite/simulation/integratorTest.lua | 79 +++++++++++++++++++++ 4 files changed, 84 insertions(+), 4 deletions(-) create mode 100644 testsuite/simulation/integratorTest.lua diff --git a/testsuite/reference-fmus/Dahlquist.lua b/testsuite/reference-fmus/Dahlquist.lua index 0d14840d8..9910e1905 100644 --- a/testsuite/reference-fmus/Dahlquist.lua +++ b/testsuite/reference-fmus/Dahlquist.lua @@ -58,7 +58,7 @@ end -- info: maximum step size for 'model.root': 0.001000 -- info: Result file: Dahlquist-me.mat (bufferSize=1) -- info: Final Statistics for 'model.root': --- NumSteps = 10001 NumRhsEvals = 10002 NumLinSolvSetups = 501 +-- NumSteps = 10001 NumRhsEvals = 10002 NumLinSolvSetups = 502 -- NumNonlinSolvIters = 10001 NumNonlinSolvConvFails = 0 NumErrTestFails = 0 -- signal x is equal -- endResult diff --git a/testsuite/simulation/DualMassOscillator.lua b/testsuite/simulation/DualMassOscillator.lua index 962a072c4..a0c20fdaa 100644 --- a/testsuite/simulation/DualMassOscillator.lua +++ b/testsuite/simulation/DualMassOscillator.lua @@ -50,9 +50,9 @@ oms_delete("DualMassOscillator") -- info: system1.x1: 0.0 -- info: system2.x2: 0.5 -- info: Simulation --- info: system1.x1: 0.051037644866066 --- info: system2.x2: 0.031639500249976 +-- info: system1.x1: 0.051037644963887 +-- info: system2.x2: 0.031639500306724 -- info: Final Statistics for 'DualMassOscillator.root': --- NumSteps = 10007 NumRhsEvals = 10008 NumLinSolvSetups = 507 +-- NumSteps = 10007 NumRhsEvals = 10008 NumLinSolvSetups = 508 -- NumNonlinSolvIters = 10007 NumNonlinSolvConvFails = 0 NumErrTestFails = 0 -- endResult diff --git a/testsuite/simulation/Makefile b/testsuite/simulation/Makefile index 1a0a65f9f..cbdcce975 100644 --- a/testsuite/simulation/Makefile +++ b/testsuite/simulation/Makefile @@ -50,6 +50,7 @@ importPartialSnapshot.lua \ importStartValues.lua \ importStartValues1.lua \ importSuppressUnitConversion.lua \ +integratorTest.lua \ listVariants1.lua \ multipleConnections.lua \ multipleInstance.lua \ diff --git a/testsuite/simulation/integratorTest.lua b/testsuite/simulation/integratorTest.lua new file mode 100644 index 000000000..abe471046 --- /dev/null +++ b/testsuite/simulation/integratorTest.lua @@ -0,0 +1,79 @@ +-- status: correct +-- teardown_command: rm -rf integratorTest_lua/ +-- linux: yes +-- ucrt64: yes +-- win: yes +-- mac: no + +function readFile(filename) + local f = assert(io.open(filename, "r")) + local content = f:read("*all") + print(content) + f:close() +end + +oms_setCommandLineOption("--suppressPath=true") +oms_setTempDirectory("./integratorTest_lua/") +oms_setWorkingDirectory("./integratorTest_lua/") + +oms_newModel("IntegratorTest") +oms_addSystem("IntegratorTest.root", oms_system_sc) +oms_addSubModel("IntegratorTest.root.integrator", "../../resources/Modelica.Blocks.Continuous.Integrator.fmu") + +-- simulation settings +oms_setSolver("IntegratorTest.root", oms_solver_sc_cvode) +oms_setResultFile("IntegratorTest", "integratorTest_lua.csv") +oms_setStopTime("IntegratorTest", 10.0) +oms_setVariableStepSize("IntegratorTest.root", 1.0, 1e-8, 1.0) + +oms_instantiate("IntegratorTest") +oms_initialize("IntegratorTest") + +oms_setReal("IntegratorTest.root.integrator.u", 0.0) +print(string.format("t = 0.0: y = %g", oms_getReal("IntegratorTest.root.integrator.y"))) +oms_stepUntil("IntegratorTest", 2.5) +oms_setReal("IntegratorTest.root.integrator.u", 10.0) + +print(string.format("t = 2.5: y = %g", oms_getReal("IntegratorTest.root.integrator.y"))) +oms_stepUntil("IntegratorTest", 5.0) +print(string.format("t = 5.0: y = %g", oms_getReal("IntegratorTest.root.integrator.y"))) +oms_stepUntil("IntegratorTest", 10.0) +print(string.format("t = 10.0: y = %g", oms_getReal("IntegratorTest.root.integrator.y"))) + +oms_delete("IntegratorTest") + +readFile("integratorTest_lua.csv") + +-- Result: +-- info: maximum step size for 'IntegratorTest.root': 1.000000 +-- info: Result file: integratorTest_lua.csv (bufferSize=1) +-- t = 0.0: y = 0 +-- t = 2.5: y = 0 +-- t = 5.0: y = 25 +-- t = 10.0: y = 75 +-- info: Final Statistics for 'IntegratorTest.root': +-- NumSteps = 16 NumRhsEvals = 26 NumLinSolvSetups = 13 +-- NumNonlinSolvIters = 24 NumNonlinSolvConvFails = 0 NumErrTestFails = 4 +-- time,IntegratorTest.root.integrator._D_outputAlias_y,IntegratorTest.root.integrator.der(_D_outputAlias_y),IntegratorTest.root.integrator.local_set,IntegratorTest.root.integrator.u,IntegratorTest.root.integrator.y,IntegratorTest.root.integrator.initType,IntegratorTest.root.integrator.local_reset,IntegratorTest.root.integrator.use_reset,IntegratorTest.root.integrator.use_set +-- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0 +-- 1, 0, 0, 0, 0, 0, 3, 0, 0, 0 +-- 2, 0, 0, 0, 0, 0, 3, 0, 0, 0 +-- 2.5, 0, 0, 0, 0, 0, 3, 0, 0, 0 +-- 2.5, 0, 0, 0, 0, 0, 3, 0, 0, 0 +-- 2.5001, 0.001, 10, 0, 10, 0.001, 3, 0, 0, 0 +-- 2.5002, 0.002, 10, 0, 10, 0.002, 3, 0, 0, 0 +-- 2.5012, 0.012, 10, 0, 10, 0.012, 3, 0, 0, 0 +-- 2.5112, 0.112, 10, 0, 10, 0.112, 3, 0, 0, 0 +-- 2.6112, 1.112, 10, 0, 10, 1.112, 3, 0, 0, 0 +-- 3.6112, 11.112, 10, 0, 10, 11.112, 3, 0, 0, 0 +-- 4.6112, 21.112, 10, 0, 10, 21.112, 3, 0, 0, 0 +-- 5, 25, 10, 0, 10, 25, 3, 0, 0, 0 +-- 5, 25, 10, 0, 10, 25, 3, 0, 0, 0 +-- 6, 35, 10, 0, 10, 35, 3, 0, 0, 0 +-- 7, 45, 10, 0, 10, 45, 3, 0, 0, 0 +-- 8, 55, 10, 0, 10, 55, 3, 0, 0, 0 +-- 9, 65, 10, 0, 10, 65, 3, 0, 0, 0 +-- 10, 75, 10, 0, 10, 75, 3, 0, 0, 0 +-- 10, 75, 10, 0, 10, 75, 3, 0, 0, 0 +-- +-- endResult