Skip to content

Commit

Permalink
Fix starting value discovery for loading networks after export
Browse files Browse the repository at this point in the history
  • Loading branch information
fwitte committed Sep 25, 2023
1 parent f9320e1 commit 22733ce
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 4 deletions.
6 changes: 2 additions & 4 deletions src/tespy/networks/network.py
Original file line number Diff line number Diff line change
Expand Up @@ -1012,17 +1012,15 @@ def presolve_fluid_topology(self):
main_conn._fluid_tmp.is_set = main_conn.fluid.is_set.copy()
main_conn._fluid_tmp.is_var = main_conn.fluid.is_var.copy()
main_conn._fluid_tmp.wrapper = main_conn.fluid.wrapper.copy()
main_conn._fluid_tmp.engine = main_conn.fluid.engine.copy()
main_conn._fluid_tmp.back_end = main_conn.fluid.back_end.copy()

for c in all_connections[1:]:
c._fluid_tmp = c.fluid
c.fluid = main_conn.fluid

if len(main_conn._potential_fluids) > 1:
main_conn.fluid.is_var = {f for f in main_conn.fluid.val}
with_starting_value = sum(main_conn.fluid.val0.values())
for f in main_conn.fluid.val:
if f not in main_conn.fluid.val0:
main_conn.fluid.val[f] = (1 - with_starting_value) / len(main_conn.fluid.is_var)
else:
main_conn.fluid.val[list(main_conn._potential_fluids)[0]] = 1

Expand Down
3 changes: 3 additions & 0 deletions src/tespy/networks/network_reader.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
from tespy.tools.data_containers import ComponentCharacteristicMaps as dc_cm
from tespy.tools.data_containers import ComponentCharacteristics as dc_cc
from tespy.tools.data_containers import DataContainer as dc
from tespy.tools.data_containers import FluidProperties as dc_prop
from tespy.tools.fluid_properties.wrappers import CoolPropWrapper
from tespy.tools.fluid_properties.wrappers import IAPWSWrapper
from tespy.tools.fluid_properties.wrappers import PyromatWrapper
Expand Down Expand Up @@ -338,6 +339,8 @@ def construct_components(component, data):
param_data["char_func"] = CharLine(**param_data["char_func"])
elif isinstance(container, dc_cm):
param_data["char_func"] = CharMap(**param_data["char_func"])
if isinstance(container, dc_prop):
param_data["val0"] = param_data["val"]
container.set_attr(**param_data)
else:
instances[cp].set_attr(**{param: param_data})
Expand Down

0 comments on commit 22733ce

Please sign in to comment.