From 9581c69bdf919f8f3b1127620103463a7a551aef Mon Sep 17 00:00:00 2001 From: "christoph.von.oy" <christoph.von.oy@rwth-aachen.de> Date: Fri, 3 May 2024 11:43:15 +0200 Subject: [PATCH] EntityResult returns Profiles --- component/adapter.py | 8 +++----- optimization_model.py | 11 ++++++++++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/component/adapter.py b/component/adapter.py index b629746..9567dcc 100644 --- a/component/adapter.py +++ b/component/adapter.py @@ -28,7 +28,7 @@ from Model_Library.component.core import ( ComponentCommodity, ComponentKind, ) -from Model_Library.dynamics import Profile, resample, resample_variable +from Model_Library.dynamics import resample, resample_variable from Model_Library.optimization_model import VariableKind import pyomo.environ as pyo @@ -142,13 +142,11 @@ class MemberAdapter(AbstractComponent): member_result = self.member._results[self.member._last_result_key] into_member = resample( - Profile(member_result[self.grid.name + ".output_1"], member_result.dynamic), - o_block.dynamic, + member_result[self.grid.name + ".output_1"], o_block.dynamic ).values from_member = resample( - Profile(member_result[self.grid.name + ".input_1"], member_result.dynamic), - o_block.dynamic, + member_result[self.grid.name + ".input_1"], o_block.dynamic ).values def rule(m, t): diff --git a/optimization_model.py b/optimization_model.py index c999fa8..2df8cd6 100644 --- a/optimization_model.py +++ b/optimization_model.py @@ -22,6 +22,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ +from Model_Library.dynamics import Profile + from enum import Enum import numpy as np import pandas as pd @@ -177,7 +179,14 @@ class EntityResult: def __getitem__(self, var_name): if var_name in self.var_kinds: res_name, index = self.var_kinds[var_name] - return getattr(self, res_name)[index] + if res_name == 'i_result': + return Profile(self.i_result[index], self.dynamic) + elif res_name == 'u_result': + return self.u_result[index] + elif res_name == 'i_prime_result': + return Profile(self.i_prime_result[index][1:], self.dynamic) + else: + return None else: return None -- GitLab