From 373a018737ef60859c14c3267fe99b9a2bf99c2b Mon Sep 17 00:00:00 2001 From: Ate Hempenius Date: Tue, 26 Aug 2025 15:42:14 +0200 Subject: [PATCH 1/4] Initial port and cleanup --- Zero_engine.alpx | 39 ++++++ _alp/Agents/EnergyCoop/Code/Functions.java | 11 ++ _alp/Agents/EnergyCoop/Code/Functions.xml | 32 +++++ _alp/Agents/EnergyCoop/Variables.xml | 25 ++++ _alp/Agents/EnergyModel/Code/Functions.java | 13 ++ _alp/Agents/EnergyModel/Code/Functions.xml | 24 +++- _alp/Agents/EnergyModel/EmbeddedObjects.xml | 3 + .../Agents/EnergyModel/Levels/Level.level.xml | 8 +- _alp/Agents/EnergyModel/Variables.xml | 28 ++--- _alp/Agents/GridConnection/Code/Functions.xml | 50 ++++---- .../GridConnection/Levels/Level.level.xml | 75 ++--------- _alp/Agents/GridConnection/Variables.xml | 114 +++++++---------- .../Class.I_AggregatorBatteryManagement.java | 26 ++++ _alp/Classes/Class.I_BatteryManagement.java | 1 + ...I_InterfaceAggragotrBatteryManagement.java | 8 ++ ...CollectiveSelfConsumption_batterySize.java | 62 ++++++++++ ...tCollectiveSelfConsumption_exportRate.java | 116 ++++++++++++++++++ ...ollectiveSelfConsumption_exportRateGH.java | 91 ++++++++++++++ ...lass.J_AggregatorBatteryManagementOff.java | 47 +++++++ ...s.J_BatteryManagementExternalSetpoint.java | 62 ++++++++++ 20 files changed, 655 insertions(+), 180 deletions(-) create mode 100644 _alp/Classes/Class.I_AggregatorBatteryManagement.java create mode 100644 _alp/Classes/Class.I_InterfaceAggragotrBatteryManagement.java create mode 100644 _alp/Classes/Class.J_AggregatorBatteryManagementCollectiveSelfConsumption_batterySize.java create mode 100644 _alp/Classes/Class.J_AggregatorBatteryManagementCollectiveSelfConsumption_exportRate.java create mode 100644 _alp/Classes/Class.J_AggregatorBatteryManagementCollectiveSelfConsumption_exportRateGH.java create mode 100644 _alp/Classes/Class.J_AggregatorBatteryManagementOff.java create mode 100644 _alp/Classes/Class.J_BatteryManagementExternalSetpoint.java diff --git a/Zero_engine.alpx b/Zero_engine.alpx index 058d4c06..c3111ee5 100644 --- a/Zero_engine.alpx +++ b/Zero_engine.alpx @@ -1107,6 +1107,11 @@ 1755154772688 + + 1756210851750 + + 1752677826356 + EULER @@ -1665,6 +1670,40 @@ 1755154772688 + + 1756208281968 + + 1752677826356 + + + 1756210474555 + + + + 1756210846035 + + 1756210851750 + + + 1756211095187 + + 1756210851750 + + + 1756212442478 + + 1756210851750 + + + 1756213000574 + + 1756210851750 + + + 1756213864971 + + 1756210851750 + com.anylogic.libraries.modules.markup_descriptors diff --git a/_alp/Agents/EnergyCoop/Code/Functions.java b/_alp/Agents/EnergyCoop/Code/Functions.java index b59ed006..c2fed749 100644 --- a/_alp/Agents/EnergyCoop/Code/Functions.java +++ b/_alp/Agents/EnergyCoop/Code/Functions.java @@ -1581,3 +1581,14 @@ List f_getMemberGridConnectionsCollectionPointer() return this.c_memberGridConnections; // This should NOT be a copy, it should be a pointer!! /*ALCODEEND*/} +double f_aggregatorBatteryManagementEnergyCoop() +{/*ALCODESTART::1756207893357*/ +p_aggregatorBatteryManagement.manageExternalSetpoints(); +/*ALCODEEND*/} + +double f_aggregatorManagement_EnergyCoop() +{/*ALCODESTART::1756207893363*/ +//Run battery setpoint management +f_aggregatorBatteryManagementEnergyCoop(); +/*ALCODEEND*/} + diff --git a/_alp/Agents/EnergyCoop/Code/Functions.xml b/_alp/Agents/EnergyCoop/Code/Functions.xml index 71e7911b..4fb96fb1 100644 --- a/_alp/Agents/EnergyCoop/Code/Functions.xml +++ b/_alp/Agents/EnergyCoop/Code/Functions.xml @@ -705,4 +705,36 @@ true + + VOID + double + 1756207893357 + + 660 + 690 + + false + true + true + + + + VOID + double + 1756207893363 + + 650 + 670 + + false + true + true + + diff --git a/_alp/Agents/EnergyCoop/Variables.xml b/_alp/Agents/EnergyCoop/Variables.xml index 73f51e1a..3eb04235 100644 --- a/_alp/Agents/EnergyCoop/Variables.xml +++ b/_alp/Agents/EnergyCoop/Variables.xml @@ -1984,6 +1984,31 @@ + + 1756207893367 + + 670 + 710 + + false + true + true + + + NONE + false + + 1756207893365 + TEXT_BOX + 0 + 100 + NO_DELIMETER + + + 1679563561816 diff --git a/_alp/Agents/EnergyModel/Code/Functions.java b/_alp/Agents/EnergyModel/Code/Functions.java index 65ba6772..93a9ba00 100644 --- a/_alp/Agents/EnergyModel/Code/Functions.java +++ b/_alp/Agents/EnergyModel/Code/Functions.java @@ -176,6 +176,9 @@ } } +//Call aggregator functions +f_runAggregators(); + for(GridConnection gc : c_gridConnections) { // Can't do this in parallel due to different threads writing to the same values! fm_currentBalanceFlows_kW.addFlows(gc.fm_currentBalanceFlows_kW); @@ -1139,3 +1142,13 @@ List f_getPausedGridConnectionsCollectionPointer() return this.c_pausedGridConnections; /*ALCODEEND*/} +double f_runAggregators() +{/*ALCODESTART::1756207695591*/ +//Function used to perform central management functions (like setpoint battery steering, within a timestep) + +//Run energy coop aggrator +for (EnergyCoop EC : pop_energyCoops) { + EC.f_aggregatorManagement_EnergyCoop(); +} +/*ALCODEEND*/} + diff --git a/_alp/Agents/EnergyModel/Code/Functions.xml b/_alp/Agents/EnergyModel/Code/Functions.xml index b8d77990..fa4c56a3 100644 --- a/_alp/Agents/EnergyModel/Code/Functions.xml +++ b/_alp/Agents/EnergyModel/Code/Functions.xml @@ -6,7 +6,7 @@ 1664894248130 1090 - 290 + 310 - - 1667746610980 - - - true - -190 - 400 - - false - false - true - - - - - - - 1674329641809 @@ -171,7 +147,7 @@ 1720442507543 270 - 260 + 240