From f8aa83633fe19847099662893bad01964fbd09fe Mon Sep 17 00:00:00 2001 From: syntron Date: Sat, 27 Dec 2025 21:43:59 +0100 Subject: [PATCH] [ModelicaSystem] improve lintime checks --- OMPython/ModelicaSystem.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/OMPython/ModelicaSystem.py b/OMPython/ModelicaSystem.py index 570c7b43..3fdfe6ec 100644 --- a/OMPython/ModelicaSystem.py +++ b/OMPython/ModelicaSystem.py @@ -1808,7 +1808,14 @@ def linearize( csvfile = self._createCSVData() om_cmd.arg_set(key="csvInput", val=csvfile.as_posix()) - om_cmd.arg_set(key="l", val=str(lintime or self._linearization_options["stopTime"])) + if lintime is None: + lintime = float(self._linearization_options["stopTime"]) + if (float(self._linearization_options["startTime"]) > lintime + or float(self._linearization_options["stopTime"]) < lintime): + raise ModelicaSystemError(f"Invalid linearisation time: {lintime=}; " + f"expected value: {self._linearization_options['startTime']} " + f"<= lintime <= {self._linearization_options['stopTime']}") + om_cmd.arg_set(key="l", val=str(lintime)) # allow runtime simulation flags from user input if simflags is not None: