@@ -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