From a70a7b908d5fc844bfa78c92d306191cad8d2d8d Mon Sep 17 00:00:00 2001 From: Joy Zhang Date: Tue, 25 Jun 2024 10:21:55 -0700 Subject: [PATCH 1/4] minor bug fix in `Scope` --- biosteam/utils/scope.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/biosteam/utils/scope.py b/biosteam/utils/scope.py index 967e0e41..c78d3a03 100644 --- a/biosteam/utils/scope.py +++ b/biosteam/utils/scope.py @@ -40,10 +40,7 @@ def __init__(self, subject, variables, header=None, **kwargs): self._ts = [] self._header = header rcd = {} - for var in variables: - if hasattr(subject, var): rcd[var] = [] - else: warn(f'Variable {var} ignored in {self.__repr__()} because ' - f'{self.subject} has no attribute {var}.') + for var in variables: rcd[var] = [] self._record = rcd for k, v in kwargs: setattr(self, k, v) From d145607a75854be86af0cdfa813b3fd8d646cf2f Mon Sep 17 00:00:00 2001 From: Joy Zhang Date: Fri, 15 Nov 2024 11:14:14 -0800 Subject: [PATCH 2/4] initialize the state for recycling streams by default --- biosteam/_system.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/biosteam/_system.py b/biosteam/_system.py index fbdcc962..934bef5b 100644 --- a/biosteam/_system.py +++ b/biosteam/_system.py @@ -2607,7 +2607,7 @@ def _load_state(self): nr = self._n_rotate units = self.units[nr:] + self.units[:nr] if self._state is None: - for ws in self.feeds: + for ws in [*self.feeds, *self.recycle]: if not ws.state.all(): ws._init_state() for inf in units[0].ins: if not inf.state.all(): inf._init_state() From 608b7752d8e8e59e3afb70a20947a36e5d73ab05 Mon Sep 17 00:00:00 2001 From: Joy Zhang Date: Mon, 18 Nov 2024 11:11:52 -0800 Subject: [PATCH 3/4] minor bug fix --- biosteam/_system.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/biosteam/_system.py b/biosteam/_system.py index 934bef5b..b19cbe5c 100644 --- a/biosteam/_system.py +++ b/biosteam/_system.py @@ -2607,8 +2607,11 @@ def _load_state(self): nr = self._n_rotate units = self.units[nr:] + self.units[:nr] if self._state is None: - for ws in [*self.feeds, *self.recycle]: + for ws in self.feeds: if not ws.state.all(): ws._init_state() + if self.recycle: + for ws in self.recycle: + if not ws.state.all(): ws._init_state() for inf in units[0].ins: if not inf.state.all(): inf._init_state() y = np.array([]) From 4de13e73017b917d4817af866f99bc1772161d55 Mon Sep 17 00:00:00 2001 From: Joy Zhang Date: Sun, 9 Feb 2025 11:04:57 -0800 Subject: [PATCH 4/4] minor bug fix --- biosteam/_system.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/biosteam/_system.py b/biosteam/_system.py index b3e5f4dd..4b1b7bba 100644 --- a/biosteam/_system.py +++ b/biosteam/_system.py @@ -2871,9 +2871,9 @@ def dynamic_run(self, **dynsim_kwargs): # Load initial states self.converge() y0, idx, nr = self._load_state() - dk['y0'] = y0 - # Integrate + self.dynsim_kwargs['y0'] = y0.copy() self.dynsim_kwargs['print_t'] = print_t # self.dynsim_kwargs might be reset by `state_reset_hook` + # Integrate self.scope.sol = sol = solve_ivp(fun=self.DAE, y0=y0, **dk_cp) if print_msg: if sol.status == 0: