diff --git a/component/adapter.py b/component/adapter.py index b6297464da06afb16e3f27ddce6785314a35bf3f..9567dcc46ace898beb9080a1c4057c06554a4f0e 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 c999fa8b886cdfb2e04d907d9afa88b55497e797..2df8cd6c7fba81c3051863cc6773efe3eb91f1dd 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