From a826be4c651e544537f76f269d3396c709519ad3 Mon Sep 17 00:00:00 2001 From: "christoph.von.oy" <christoph.von.oy@rwth-aachen.de> Date: Tue, 26 Mar 2024 14:54:26 +0100 Subject: [PATCH] Expanded Topology for sub topologies --- dynamics/Dynamic.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/dynamics/Dynamic.py b/dynamics/Dynamic.py index af6662d..19f12f8 100644 --- a/dynamics/Dynamic.py +++ b/dynamics/Dynamic.py @@ -845,13 +845,14 @@ def resample_variable(variable, dynamic, target_dynamic, target_set): if target_i_start < source_i_start or source_i_end < target_i_end: raise ValueError("The dynamic of the source variable has to cover the dynamic of the target variable!") assignment = dynamic.global_dynamic.get_assignment(dynamic, target_dynamic) - def rule(m, t): + target_variable = dict() + for t in target_set: data = assignment.data[t] if isinstance(data, list): - return pyo.quicksum(variable[variable_index] * factor for variable_index, factor in assignment.data[t]) + target_variable[t] = pyo.quicksum(variable[variable_index] * factor for variable_index, factor in assignment.data[t]) else: - return variable[data[0]] * data[1] - return pyo.Expression(target_set, rule=rule) + target_variable[t] = variable[data[0]] * data[1] + return target_variable def test_single_resampling(dynamic_1, dynamic_2, f): import numpy as np -- GitLab