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