@@ -894,17 +894,20 @@ def loadLibrary(self):
894
894
if isinstance (element , str ):
895
895
if element .endswith (".mo" ):
896
896
loadModelResult = self .requestApi ("loadFile" , element )
897
- loadmodelError = self .requestApi ('getErrorString' )
897
+ if not loadModelResult :
898
+ loadmodelError = self .requestApi ('getErrorString' )
898
899
else :
899
900
loadModelResult = self .requestApi ("loadModel" , element )
900
- loadmodelError = self .requestApi ('getErrorString' )
901
+ if not loadModelResult :
902
+ loadmodelError = self .requestApi ('getErrorString' )
901
903
elif isinstance (element , tuple ):
902
904
if not element [1 ]:
903
905
libname = "" .join (["loadModel(" , element [0 ], ")" ])
904
906
else :
905
907
libname = "" .join (["loadModel(" , element [0 ], ", " , "{" , "\" " , element [1 ], "\" " , "}" , ")" ])
906
- loadmodelError = self .sendExpression (libname )
907
- loadmodelError = self .sendExpression ("getErrorString()" )
908
+ loadModelResult = self .sendExpression (libname )
909
+ if not loadModelResult :
910
+ loadmodelError = self .sendExpression ("getErrorString()" )
908
911
else :
909
912
print ("| info | loadLibrary() failed, Unknown type detected: " , element , " is of type " , type (element ), ", The following patterns are supported\n 1)[\" Modelica\" ]\n 2)[(\" Modelica\" ,\" 3.2.3\" ), \" PowerSystems\" ]\n " )
910
913
if loadmodelError :
@@ -1205,7 +1208,7 @@ def getOptimizationOptions(self, names=None): # 10
1205
1208
return ([self .optimizeOptions .get (x ,"NotExist" ) for x in names ])
1206
1209
1207
1210
# to simulate or re-simulate model
1208
- def simulate (self , resultfile = None , simflags = None ): # 11
1211
+ def simulate (self , resultfile = None , simflags = None , verbose = True ): # 11
1209
1212
"""
1210
1213
This method simulates model according to the simulation options.
1211
1214
usage
@@ -1274,11 +1277,17 @@ def simulate(self, resultfile=None, simflags=None): # 11
1274
1277
dllPath = os .path .join (omhome , "bin" ).replace ("\\ " , "/" ) + os .pathsep + os .path .join (omhome , "lib/omc" ).replace ("\\ " , "/" ) + os .pathsep + os .path .join (omhome , "lib/omc/cpp" ).replace ("\\ " , "/" ) + os .pathsep + os .path .join (omhome , "lib/omc/omsicpp" ).replace ("\\ " , "/" )
1275
1278
my_env = os .environ .copy ()
1276
1279
my_env ["PATH" ] = dllPath + os .pathsep + my_env ["PATH" ]
1277
- p = subprocess .Popen (cmd , env = my_env )
1280
+ if not verbose :
1281
+ p = subprocess .Popen (cmd , env = my_env , stdout = subprocess .DEVNULL , stderr = subprocess .STDOUT )
1282
+ else :
1283
+ p = subprocess .Popen (cmd , env = my_env )
1278
1284
p .wait ()
1279
1285
p .terminate ()
1280
1286
else :
1281
- os .system (cmd )
1287
+ if not verbose :
1288
+ p = subprocess .Popen (cmd , stdout = subprocess .DEVNULL , stderr = subprocess .STDOUT )
1289
+ else :
1290
+ p = subprocess .Popen (cmd )
1282
1291
os .chdir (currentDir )
1283
1292
self .simulationFlag = True
1284
1293
else :
0 commit comments