Skip to content

Commit 1ccce11

Browse files
committed
[ModelicaSystemDoE] define dict keys as constants
1 parent 54a239b commit 1ccce11

1 file changed

Lines changed: 12 additions & 8 deletions

File tree

OMPython/ModelicaSystem.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1429,6 +1429,9 @@ class ModelicaSystemDoE:
14291429
Class to run DoEs based on a (Open)Modelica model using ModelicaSystem
14301430
"""
14311431

1432+
DF_COLUMNS_RESULTFILENAME: str = 'resultfilename'
1433+
DF_COLUMNS_RESULTS_AVAILABLE: str = 'results available'
1434+
14321435
def __init__(
14331436
self,
14341437
fileName: Optional[str | os.PathLike | pathlib.Path] = None,
@@ -1549,7 +1552,7 @@ def prepare(self) -> int:
15491552
{
15501553
'ID structure': idx_pc_structure,
15511554
'ID simple': idx_pc_simple,
1552-
'resulfilename': resfilename,
1555+
self.DF_COLUMNS_RESULTFILENAME: resfilename,
15531556
'structural parameters ID': idx_pc_structure,
15541557
}
15551558
| sim_args_structure
@@ -1558,7 +1561,7 @@ def prepare(self) -> int:
15581561
}
15591562
| sim_args_simple
15601563
| {
1561-
'results available': False,
1564+
self.DF_COLUMNS_RESULTS_AVAILABLE: False,
15621565
}
15631566
)
15641567

@@ -1635,14 +1638,15 @@ def worker(worker_id, task_queue):
16351638
thread.join()
16361639

16371640
for idx, row in self._sim_df.to_dict('index').items():
1638-
resultfilename = row['resultfilename']
1641+
resultfilename = row[self.DF_COLUMNS_RESULTFILENAME]
16391642
resultfile = self._resultpath / resultfilename
16401643

16411644
if resultfile.exists():
1642-
self._sim_df.loc[idx, 'results available'] = True
1645+
mask = self._sim_df[self.DF_COLUMNS_RESULTFILENAME] == resultfilename
1646+
self._sim_df.loc[mask, self.DF_COLUMNS_RESULTS_AVAILABLE] = True
16431647

1648+
sim_done = self._sim_df[self.DF_COLUMNS_RESULTS_AVAILABLE].sum()
16441649
sim_total = self._sim_df.shape[0]
1645-
sim_done = self._sim_df['results available'].sum()
16461650
logger.info(f"All workers finished ({sim_done} of {sim_total} simulations with a result file).")
16471651

16481652
def get_solutions(
@@ -1661,17 +1665,17 @@ def get_solutions(
16611665
if self._sim_df is None:
16621666
return None
16631667

1664-
if self._sim_df.shape[0] == 0 or self._sim_df['results available'].sum() == 0:
1668+
if self._sim_df.shape[0] == 0 or self._sim_df[self.DF_COLUMNS_RESULTS_AVAILABLE].sum() == 0:
16651669
raise ModelicaSystemError("No result files available - all simulations did fail?")
16661670

16671671
if var_list is None:
1668-
resultfilename = self._sim_df['resultfilename'].values[0]
1672+
resultfilename = self._sim_df[self.DF_COLUMNS_RESULTFILENAME].values[0]
16691673
resultfile = self._resultpath / resultfilename
16701674
return self._mod.getSolutions(resultfile=resultfile)
16711675

16721676
sol_dict: dict[str, pd.DataFrame | str] = {}
16731677
for row in self._sim_df.to_dict('records'):
1674-
resultfilename = row['resultfilename']
1678+
resultfilename = row[self.DF_COLUMNS_RESULTFILENAME]
16751679
resultfile = self._resultpath / resultfilename
16761680

16771681
try:

0 commit comments

Comments
 (0)