@@ -894,17 +894,20 @@ def loadLibrary(self):
894894 if isinstance (element , str ):
895895 if element .endswith (".mo" ):
896896 loadModelResult = self .requestApi ("loadFile" , element )
897- loadmodelError = self .requestApi ('getErrorString' )
897+ if not loadModelResult :
898+ loadmodelError = self .requestApi ('getErrorString' )
898899 else :
899900 loadModelResult = self .requestApi ("loadModel" , element )
900- loadmodelError = self .requestApi ('getErrorString' )
901+ if not loadModelResult :
902+ loadmodelError = self .requestApi ('getErrorString' )
901903 elif isinstance (element , tuple ):
902904 if not element [1 ]:
903905 libname = "" .join (["loadModel(" , element [0 ], ")" ])
904906 else :
905907 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()" )
908911 else :
909912 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 " )
910913 if loadmodelError :
@@ -1205,7 +1208,7 @@ def getOptimizationOptions(self, names=None): # 10
12051208 return ([self .optimizeOptions .get (x ,"NotExist" ) for x in names ])
12061209
12071210 # 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
12091212 """
12101213 This method simulates model according to the simulation options.
12111214 usage
@@ -1274,11 +1277,17 @@ def simulate(self, resultfile=None, simflags=None): # 11
12741277 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 ("\\ " , "/" )
12751278 my_env = os .environ .copy ()
12761279 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 )
12781284 p .wait ()
12791285 p .terminate ()
12801286 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 )
12821291 os .chdir (currentDir )
12831292 self .simulationFlag = True
12841293 else :
0 commit comments