Skip to content

Commit 315ae9c

Browse files
authored
Merge branch 'master' into ModelicaSystem_OMC_bug
2 parents 60de667 + 31b5624 commit 315ae9c

1 file changed

Lines changed: 26 additions & 26 deletions

File tree

OMPython/ModelicaSystem.py

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -957,39 +957,39 @@ def getSolutions(self, varList=None, resultfile=None): # 12
957957
>>> getSolutions(["Name1","Name2"],resultfile=""c:/a.mat"")
958958
"""
959959
if resultfile is None:
960-
resFile = self.resultfile.as_posix()
960+
result_file = self.resultfile
961961
else:
962-
resFile = resultfile
962+
result_file = pathlib.Path(resultfile)
963963

964964
# check for result file exits
965-
if not os.path.exists(resFile):
966-
raise ModelicaSystemError(f"Result file does not exist {resFile}")
967-
resultVars = self.sendExpression(f'readSimulationResultVars("{resFile}")')
965+
if not result_file.is_file():
966+
raise ModelicaSystemError(f"Result file does not exist {result_file}")
967+
968+
# get absolute path
969+
result_file = result_file.absolute()
970+
971+
result_vars = self.sendExpression(f'readSimulationResultVars("{result_file.as_posix()}")')
968972
self.sendExpression("closeSimulationResultFile()")
969973
if varList is None:
970-
return resultVars
974+
return result_vars
971975

972976
if isinstance(varList, str):
973-
if varList not in resultVars and varList != "time":
974-
raise ModelicaSystemError(f"Requested data {repr(varList)} does not exist")
975-
res = self.sendExpression(f'readSimulationResult("{resFile}", {{{varList}}})')
976-
npRes = np.array(res)
977-
self.sendExpression("closeSimulationResultFile()")
978-
return npRes
979-
980-
if isinstance(varList, list):
981-
for var in varList:
982-
if var == "time":
983-
continue
984-
if var not in resultVars:
985-
raise ModelicaSystemError(f"Requested data {repr(var)} does not exist")
986-
variables = ",".join(varList)
987-
res = self.sendExpression(f'readSimulationResult("{resFile}",{{{variables}}})')
988-
npRes = np.array(res)
989-
self.sendExpression("closeSimulationResultFile()")
990-
return npRes
991-
992-
raise ModelicaSystemError("Unhandled input for getSolutions()")
977+
var_list_checked = [varList]
978+
elif isinstance(varList, list):
979+
var_list_checked = varList
980+
else:
981+
raise ModelicaSystemError("Unhandled input for getSolutions()")
982+
983+
for var in var_list_checked:
984+
if var == "time":
985+
continue
986+
if var not in result_vars:
987+
raise ModelicaSystemError(f"Requested data {repr(var)} does not exist")
988+
variables = ",".join(var_list_checked)
989+
res = self.sendExpression(f'readSimulationResult("{result_file.as_posix()}",{{{variables}}})')
990+
np_res = np.array(res)
991+
self.sendExpression("closeSimulationResultFile()")
992+
return np_res
993993

994994
@staticmethod
995995
def _strip_space(name):

0 commit comments

Comments
 (0)