From 5bf04190f7c15b7e8825164776d79fbc7a8bd02f Mon Sep 17 00:00:00 2001 From: Matias Senger Date: Fri, 1 Aug 2025 11:47:11 +0200 Subject: [PATCH] Better interface for `setParameters` --- OMPython/ModelicaSystem.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/OMPython/ModelicaSystem.py b/OMPython/ModelicaSystem.py index d0178cf2..8218b695 100644 --- a/OMPython/ModelicaSystem.py +++ b/OMPython/ModelicaSystem.py @@ -1175,15 +1175,22 @@ def setContinuous(self, cvals): # 13 """ return self._setMethodHelper(cvals, self._continuous, "continuous", self._override_variables) - def setParameters(self, pvals): # 14 + def setParameters(self, *pvals, **keyword_parameters): # 14 """ This method is used to set parameter values. It can be called: with a sequence of parameter name and assigning corresponding value as arguments as show in the example below: usage + >>> setParameters(Name=value) + >>> setParameters(Name1=value1, Name2=value2) >>> setParameters("Name=value") >>> setParameters(["Name1=value1","Name2=value2"]) """ - return self._setMethodHelper(pvals, self._params, "parameter", self._override_variables) + if len(pvals)>0 and len(keyword_parameters)==0: + return self._setMethodHelper(pvals[0], self._params, "parameter", self._override_variables) + elif len(pvals)==0 and len(keyword_parameters)>0: + return self.setParameters([f'{param}={val}' for param,val in keyword_parameters.items()]) + else: + raise ValueError('Wrong function arguments') def isParameterChangeable(self, name, value): q = self.getQuantities(name)