5252 OMCSessionRunData ,
5353 OMCSessionZMQ ,
5454 OMCProcess ,
55+ OMCProcessLocal ,
5556 OMCPath ,
5657)
5758
@@ -323,13 +324,10 @@ def parse_simflags(simflags: str) -> dict[str, Optional[str | dict[str, Any] | n
323324class ModelicaSystem :
324325 def __init__ (
325326 self ,
326- fileName : Optional [str | os .PathLike ] = None ,
327- modelName : Optional [str ] = None ,
328- lmodel : Optional [list [str | tuple [str , str ]]] = None ,
329327 commandLineOptions : Optional [list [str ]] = None ,
330328 customBuildDirectory : Optional [str | os .PathLike ] = None ,
331329 omhome : Optional [str ] = None ,
332- omc_process : Optional [OMCProcessLocal ] = None ,
330+ omc_process : Optional [OMCProcess ] = None ,
333331 ) -> None :
334332 """Create a ModelicaSystem instance. To define the model use model() or convertFmu2Mo().
335333
@@ -379,9 +377,9 @@ def __init__(
379377 self .setCommandLineOptions (commandLineOptions = opt )
380378
381379 self ._simulated = False # True if the model has already been simulated
382- self ._result_file : Optional [pathlib . Path ] = None # for storing result file
380+ self ._result_file : Optional [OMCPath ] = None # for storing result file
383381
384- self ._work_dir : pathlib . Path = self .setWorkDirectory (customBuildDirectory )
382+ self ._work_dir : OMCPath = self .setWorkDirectory (customBuildDirectory )
385383
386384 self ._model_name : Optional [str ] = None
387385 self ._libraries : Optional [list [str | tuple [str , str ]]] = None
@@ -391,7 +389,7 @@ def __init__(
391389 def model (
392390 self ,
393391 name : str ,
394- file : Optional [str | os .PathLike | pathlib . Path ] = None ,
392+ file : Optional [str | os .PathLike ] = None ,
395393 libraries : Optional [list [str | tuple [str , str ]]] = None ,
396394 variable_filter : Optional [str ] = None ,
397395 build : bool = True ,
@@ -441,7 +439,7 @@ def model(
441439 # set variables
442440 self ._model_name = name # Model class name
443441 self ._libraries = libraries # may be needed if model is derived from other model
444- self ._file_name = pathlib . Path (file ).resolve () if file is not None else None # Model file/package name
442+ self ._file_name = self . _session . omcpath (file ).resolve () if file is not None else None # Model file/package name
445443 self ._variable_filter = variable_filter
446444
447445 if self ._file_name is not None and not self ._file_name .is_file (): # if file does not exist
@@ -1152,15 +1150,15 @@ def plot(
11521150 Plot a variable using OMC; this will work for local OMC usage only (OMCProcessLocal).
11531151 """
11541152
1155- if not isinstance (self ._getconn .omc_process , OMCProcessLocal ):
1153+ if not isinstance (self ._session .omc_process , OMCProcessLocal ):
11561154 raise ModelicaSystemError ("Plot is using the OMC plot functionality; "
11571155 "thus, it is only working if OMC is running locally!" )
11581156
11591157 plot_result_file = None
11601158 if resultfile is not None :
1161- plot_result_file = pathlib . Path (resultfile )
1159+ plot_result_file = self . _session . omcpath (resultfile )
11621160 elif self ._result_file is not None :
1163- plot_result_file = pathlib . Path (self ._result_file )
1161+ plot_result_file = self . _session . omcpath (self ._result_file )
11641162 else :
11651163 raise ModelicaSystemError ("No resultfile available - either run simulate() before plotting "
11661164 "or provide a result file!" )
@@ -1921,18 +1919,21 @@ def __init__(
19211919 ModelicaSystem.simulate(). Additionally, the path to store the result files is needed (= resultpath) as well as
19221920 a list of parameters to vary for the Doe (= parameters). All possible combinations are considered.
19231921 """
1922+ if modelName is None :
1923+ raise ModelicaSystemError ("No model name provided!" )
19241924
19251925 self ._mod = ModelicaSystem (
1926- fileName = fileName ,
1927- modelName = modelName ,
1928- lmodel = lmodel ,
19291926 commandLineOptions = commandLineOptions ,
1930- variableFilter = variableFilter ,
19311927 customBuildDirectory = customBuildDirectory ,
19321928 omhome = omhome ,
19331929 omc_process = omc_process ,
19341930 )
1935-
1931+ self ._mod .model (
1932+ file = fileName ,
1933+ name = modelName ,
1934+ libraries = lmodel ,
1935+ variable_filter = variableFilter ,
1936+ )
19361937 self ._model_name = modelName
19371938
19381939 self ._simargs = simargs
0 commit comments