diff --git a/_alp/Agents/EnergyCoop/Code/Functions.java b/_alp/Agents/EnergyCoop/Code/Functions.java index 69d3e13f..3fa18611 100644 --- a/_alp/Agents/EnergyCoop/Code/Functions.java +++ b/_alp/Agents/EnergyCoop/Code/Functions.java @@ -21,11 +21,11 @@ if (ConnectingChildActor.p_actorGroup.contains("production") || ConnectingChildActor.p_actorGroup.contains("Production") || ConnectingChildActor.p_actorGroup.contains("member")) { // Count owned production-sites as 'behind the meter' c_coopMembers.add( ConnectingChildActor); c_memberGridConnections.addAll(((ConnectionOwner)ConnectingChildActor).c_ownedGridConnections); + (((ConnectionOwner)ConnectingChildActor).c_ownedGridConnections).forEach( gc -> gc.c_parentCoops.add(this)); //traceln("Adding: %s", ((ConnectionOwner)ConnectingChildActor).c_ownedGridConnections); } else { c_coopCustomers.add( ConnectingChildActor ); c_customerGridConnections.addAll(((ConnectionOwner)ConnectingChildActor).c_ownedGridConnections); - } } else { c_coopCustomers.add( ConnectingChildActor ); @@ -1164,8 +1164,7 @@ double f_initializeCustomCoop(ArrayList gcList) {/*ALCODESTART::1739974426481*/ -c_memberGridConnections = gcList; - +c_memberGridConnections.addAll(gcList); //Basic initialization f_initialize(); @@ -1297,6 +1296,7 @@ HashSet f_getAllChildMemberGridConnections_recursion(HashSet childCoops = findAll(c_coopMembers, coopMember -> coopMember instanceof EnergyCoop); + if(childCoops.size() == 0){ return allMemberGridConnections; } diff --git a/_alp/Agents/EnergyCoop/Code/Functions.xml b/_alp/Agents/EnergyCoop/Code/Functions.xml index 52bb42da..3006028d 100644 --- a/_alp/Agents/EnergyCoop/Code/Functions.xml +++ b/_alp/Agents/EnergyCoop/Code/Functions.xml @@ -486,7 +486,6 @@ ArrayList<GridConnection> 1740493169961 - 60 420