From 6584a16b068d1a1529333283060424b668371a98 Mon Sep 17 00:00:00 2001 From: GillisHommen <98752265+GillisHommen@users.noreply.github.com> Date: Thu, 31 Jul 2025 17:30:40 +0200 Subject: [PATCH 01/16] replaced J_assetFlows with J_assetFlowsMap, all plots still work it seems. --- Zero_engine.alpx | 55 +++++++++ _alp/Agents/EnergyCoop/Code/Functions.java | 21 ++-- _alp/Agents/EnergyCoop/Variables.xml | 23 ++++ _alp/Agents/EnergyModel/Code/Functions.java | 20 ++-- _alp/Agents/EnergyModel/Variables.xml | 23 ++++ .../Agents/GridConnection/Code/Functions.java | 16 ++- _alp/Agents/GridConnection/Code/Functions.xml | 4 + _alp/Agents/GridConnection/Variables.xml | 24 +++- _alp/Classes/Class.J_AssetFlowsMap.java | 113 ++++++++++++++++++ _alp/Classes/Class.J_EA.java | 11 +- _alp/Classes/Class.J_EAConversion.java | 3 + .../Class.J_EAConversionElectrolyser.java | 3 +- .../Class.J_EAConversionHeatDeliverySet.java | 3 +- _alp/Classes/Class.J_EADieselTractor.java | 2 +- _alp/Classes/Class.J_EADieselVehicle.java | 4 +- _alp/Classes/Class.J_EAHydrogenVehicle.java | 2 +- _alp/Classes/Class.J_EAProduction.java | 12 +- _alp/Classes/Class.J_EAProfile.java | 37 +++--- _alp/Classes/Class.J_EAStorageElectric.java | 3 + _alp/Classes/Class.J_LiveData.java | 37 +++--- _alp/Classes/Class.J_RapidRunData.java | 87 ++++++++------ 21 files changed, 394 insertions(+), 109 deletions(-) create mode 100644 _alp/Classes/Class.J_AssetFlowsMap.java diff --git a/Zero_engine.alpx b/Zero_engine.alpx index f0c492d0..03a5d807 100644 --- a/Zero_engine.alpx +++ b/Zero_engine.alpx @@ -1280,6 +1280,54 @@ + + 1753968826411 + + + + + + + + + + + + + @@ -1734,6 +1782,8 @@ 1753106536266 + true + 1752679379816 1753199813037 @@ -1775,6 +1825,11 @@ 1753342021373 + + 1753968339982 + + 1752679379816 + com.anylogic.libraries.modules.markup_descriptors diff --git a/_alp/Agents/EnergyCoop/Code/Functions.java b/_alp/Agents/EnergyCoop/Code/Functions.java index 60448c50..7ed6664b 100644 --- a/_alp/Agents/EnergyCoop/Code/Functions.java +++ b/_alp/Agents/EnergyCoop/Code/Functions.java @@ -176,26 +176,26 @@ fm_currentProductionFlows_kW.clear(); fm_currentConsumptionFlows_kW.clear(); fm_currentBalanceFlows_kW.clear(); +fm_currentAssetFlows_kW.clear(); v_currentPrimaryEnergyProduction_kW = 0; v_currentFinalEnergyConsumption_kW = 0; v_currentEnergyCurtailed_kW = 0; v_currentPrimaryEnergyProductionHeatpumps_kW = 0; -v_assetFlows.reset(); for(GridConnection gc : c_memberGridConnections) { // Can't do this in parallel due to different threads writing to the same values! fm_currentBalanceFlows_kW.addFlows(gc.fm_currentBalanceFlows_kW); fm_currentProductionFlows_kW.addFlows(gc.fm_currentProductionFlows_kW); fm_currentConsumptionFlows_kW.addFlows(gc.fm_currentConsumptionFlows_kW); - + fm_currentAssetFlows_kW.addFlows(gc.fm_currentAssetFlows_kW); v_currentFinalEnergyConsumption_kW += gc.v_currentFinalEnergyConsumption_kW; v_currentPrimaryEnergyProduction_kW += gc.v_currentPrimaryEnergyProduction_kW; v_currentEnergyCurtailed_kW += gc.v_currentEnergyCurtailed_kW; v_currentPrimaryEnergyProductionHeatpumps_kW += gc.v_currentPrimaryEnergyProductionHeatpumps_kW; v_currentOwnElectricityProduction_kW += gc.fm_currentProductionFlows_kW.get(OL_EnergyCarriers.ELECTRICITY); - v_assetFlows.addFlows(gc.v_assetFlows); + } // gather electricity flows @@ -206,7 +206,7 @@ fm_currentBalanceFlows_kW.addFlows(EC.fm_currentBalanceFlows_kW); fm_currentProductionFlows_kW.addFlows(EC.fm_currentProductionFlows_kW); fm_currentConsumptionFlows_kW.addFlows(EC.fm_currentConsumptionFlows_kW); - + fm_currentAssetFlows_kW.addFlows(EC.fm_currentAssetFlows_kW); v_currentPrimaryEnergyProduction_kW += EC.v_currentPrimaryEnergyProduction_kW; v_currentFinalEnergyConsumption_kW += EC.v_currentFinalEnergyConsumption_kW; v_currentEnergyCurtailed_kW += EC.v_currentEnergyCurtailed_kW; @@ -214,7 +214,7 @@ v_currentOwnElectricityProduction_kW += EC.fm_currentProductionFlows_kW.get(OL_EnergyCarriers.ELECTRICITY); // Asset flows - v_assetFlows.addFlows(EC.v_assetFlows); + //v_assetFlows.addFlows(EC.v_assetFlows); } } @@ -224,6 +224,7 @@ fm_currentProductionFlows_kW.addFlow( energyCarrier, max(0, -nettConsumption_kW)); fm_currentConsumptionFlows_kW.addFlow( energyCarrier, max(0, nettConsumption_kW)); fm_currentBalanceFlows_kW.addFlow( energyCarrier, nettConsumption_kW); + if (energyCarrier == OL_EnergyCarriers.ELECTRICITY) { v_currentCustomerFeedIn_kW += max(0,-nettConsumption_kW); v_currentCustomerDelivery_kW += max(0,nettConsumption_kW); @@ -238,7 +239,7 @@ fm_currentBalanceFlows_kW.addFlows(EC.fm_currentBalanceFlows_kW); fm_currentProductionFlows_kW.addFlows(EC.fm_currentProductionFlows_kW); fm_currentConsumptionFlows_kW.addFlows(EC.fm_currentConsumptionFlows_kW); - + fm_currentAssetFlows_kW.addFlows(EC.fm_currentAssetFlows_kW); v_currentCustomerFeedIn_kW += EC.v_currentCustomerFeedIn_kW; v_currentCustomerDelivery_kW += EC.v_currentCustomerDelivery_kW; } @@ -768,11 +769,12 @@ fm_currentBalanceFlows_kW, fm_currentConsumptionFlows_kW, fm_currentProductionFlows_kW, + fm_currentAssetFlows_kW, v_currentPrimaryEnergyProduction_kW, v_currentFinalEnergyConsumption_kW, v_currentPrimaryEnergyProductionHeatpumps_kW, - v_currentEnergyCurtailed_kW, - v_assetFlows + v_currentEnergyCurtailed_kW//, + //v_assetFlows ); /* //Current timestep @@ -1483,11 +1485,12 @@ HashSet f_getAllChildCustomerGridConnections_recursion(HashSet 1753111072241 + true 60 1160