@@ -1872,17 +1872,20 @@ def run_doe():
18721872
18731873 def __init__ (
18741874 self ,
1875+ # data to be used for ModelicaSystem
18751876 fileName : Optional [str | os .PathLike ] = None ,
18761877 modelName : Optional [str ] = None ,
18771878 lmodel : Optional [list [str | tuple [str , str ]]] = None ,
18781879 commandLineOptions : Optional [list [str ]] = None ,
18791880 variableFilter : Optional [str ] = None ,
18801881 customBuildDirectory : Optional [str | os .PathLike ] = None ,
18811882 omhome : Optional [str ] = None ,
1882-
1883+ omc_process : Optional [OMCProcess ] = None , # TODO: use omc session
1884+ # simulation specific input
1885+ # TODO: add more settings (simulation options, input options, ...)
18831886 simargs : Optional [dict [str , Optional [str | dict [str , str ] | numbers .Number ]]] = None ,
18841887 timeout : Optional [int ] = None ,
1885-
1888+ # DoE specific inputs
18861889 resultpath : Optional [str | os .PathLike ] = None ,
18871890 parameters : Optional [dict [str , list [str ] | list [int ] | list [float ]]] = None ,
18881891 ) -> None :
@@ -1891,36 +1894,30 @@ def __init__(
18911894 ModelicaSystem.simulate(). Additionally, the path to store the result files is needed (= resultpath) as well as
18921895 a list of parameters to vary for the Doe (= parameters). All possible combinations are considered.
18931896 """
1894- self ._lmodel = lmodel
1895- self ._modelName = modelName
1896- self ._fileName = fileName
1897-
1898- self ._CommandLineOptions = commandLineOptions
1899- self ._variableFilter = variableFilter
1900- self ._customBuildDirectory = customBuildDirectory
1901- self ._omhome = omhome
19021897
1903- # reference for the model; not used for any simulations but to evaluate parameters, etc.
19041898 self ._mod = ModelicaSystem (
1905- fileName = self ._fileName ,
1906- modelName = self ._modelName ,
1907- lmodel = self ._lmodel ,
1908- commandLineOptions = self ._CommandLineOptions ,
1909- variableFilter = self ._variableFilter ,
1910- customBuildDirectory = self ._customBuildDirectory ,
1911- omhome = self ._omhome ,
1899+ fileName = fileName ,
1900+ modelName = modelName ,
1901+ lmodel = lmodel ,
1902+ commandLineOptions = commandLineOptions ,
1903+ variableFilter = variableFilter ,
1904+ customBuildDirectory = customBuildDirectory ,
1905+ omhome = omhome ,
1906+ omc_process = omc_process ,
19121907 )
19131908
1909+ self ._model_name = modelName
1910+
19141911 self ._simargs = simargs
19151912 self ._timeout = timeout
19161913
1917- if resultpath is not None :
1918- self ._resultpath = self .session ().omcpath (resultpath )
1919- else :
1914+ if resultpath is None :
19201915 self ._resultpath = self .session ().omcpath_tempdir ()
1921-
1916+ else :
1917+ self ._resultpath = self .session ().omcpath (resultpath )
19221918 if not self ._resultpath .is_dir ():
1923- raise ModelicaSystemError (f"Resultpath { self ._resultpath .as_posix ()} does not exists!" )
1919+ raise ModelicaSystemError ("Argument resultpath must be set to a valid path within the environment used "
1920+ f"for the OpenModelica session: { resultpath } !" )
19241921
19251922 if isinstance (parameters , dict ):
19261923 self ._parameters = parameters
@@ -1974,15 +1971,15 @@ def prepare(self) -> int:
19741971 pk_value = pc_structure [idx_structure ]
19751972 if isinstance (pk_value , str ):
19761973 pk_value_str = pk_value .replace ('"' , '\\ "' )
1977- expression = f"setParameterValue({ self ._modelName } , { pk_structure } , \" { pk_value_str } \" )"
1974+ expression = f"setParameterValue({ self ._model_name } , { pk_structure } , \" { pk_value_str } \" )"
19781975 elif isinstance (pk_value , bool ):
19791976 pk_value_bool_str = "true" if pk_value else "false"
1980- expression = f"setParameterValue({ self ._modelName } , { pk_structure } , { pk_value_bool_str } );"
1977+ expression = f"setParameterValue({ self ._model_name } , { pk_structure } , { pk_value_bool_str } );"
19811978 else :
1982- expression = f"setParameterValue({ self ._modelName } , { pk_structure } , { pk_value } )"
1979+ expression = f"setParameterValue({ self ._model_name } , { pk_structure } , { pk_value } )"
19831980 res = self ._mod .sendExpression (expression )
19841981 if not res :
1985- raise ModelicaSystemError (f"Cannot set structural parameter { self ._modelName } .{ pk_structure } "
1982+ raise ModelicaSystemError (f"Cannot set structural parameter { self ._model_name } .{ pk_structure } "
19861983 f"to { pk_value } using { repr (expression )} " )
19871984
19881985 self ._mod .buildModel ()
0 commit comments