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..8fdae1f6 100644 --- a/_alp/Agents/EnergyCoop/Code/Functions.java +++ b/_alp/Agents/EnergyCoop/Code/Functions.java @@ -1576,8 +1576,21 @@ EnergyCoop f_addAssetFlow(OL_AssetFlowCategories AC) /*ALCODEEND*/} -List f_getMemberGridConnectionsCollectionPointer() +ArrayList f_getMemberGridConnectionsCollectionPointer() {/*ALCODESTART::1754908113703*/ return this.c_memberGridConnections; // This should NOT be a copy, it should be a pointer!! /*ALCODEEND*/} +double f_aggregatorBatteryManagement_EnergyCoop() +{/*ALCODESTART::1756207893357*/ +if(p_aggregatorBatteryManagement != null){ + p_aggregatorBatteryManagement.manageExternalSetpoints(); +} +/*ALCODEEND*/} + +double f_aggregatorManagement_EnergyCoop() +{/*ALCODESTART::1756207893363*/ +//Run battery setpoint management +f_aggregatorBatteryManagement_EnergyCoop(); +/*ALCODEEND*/} + diff --git a/_alp/Agents/EnergyCoop/Code/Functions.xml b/_alp/Agents/EnergyCoop/Code/Functions.xml index 71e7911b..7c3d4a08 100644 --- a/_alp/Agents/EnergyCoop/Code/Functions.xml +++ b/_alp/Agents/EnergyCoop/Code/Functions.xml @@ -691,7 +691,7 @@ RETURNS_VALUE - List<GridConnection> + ArrayList<GridConnection> 1754908113703 1440 @@ -705,4 +705,36 @@ true + + VOID + double + 1756207893357 + + 670 + 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..46803b54 100644 --- a/_alp/Agents/EnergyCoop/Variables.xml +++ b/_alp/Agents/EnergyCoop/Variables.xml @@ -1984,6 +1984,31 @@ + + 1756207893367 + + 690 + 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..f7d44df2 100644 --- a/_alp/Agents/EnergyModel/Code/Functions.java +++ b/_alp/Agents/EnergyModel/Code/Functions.java @@ -176,6 +176,8 @@ } } +//OLD LOCATION OF AGGREGATOR CALL, NECESSARY IF MANAGEMENT IS WITHOUT TIME STEP DELAY + 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); @@ -202,6 +204,9 @@ v_currentEnergyExport_kW += max( 0, -netFlow_kW ); } +//Call aggregator functions (ONLY WORK WITH TIME STEP DELAY FOR NOW) (LOCATION OF THIS CALL IS NOT DETERMINED YET, FOR NOW HERE) +f_runAggregators(); + /*ALCODEEND*/} double f_initializeForecasts() @@ -1139,3 +1144,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) + +//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