Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 25 additions & 30 deletions _alp/Agents/EnergyCoop/Code/Functions.java
Original file line number Diff line number Diff line change
Expand Up @@ -1434,78 +1434,73 @@ HashSet<GridConnection> f_getAllChildCustomerGridConnections_recursion(HashSet<G
acc_totalCustomerDelivery_kW = new ZeroAccumulator(true, timeParameters.getTimeStep_h(), 8760);
acc_totalCustomerFeedIn_kW = new ZeroAccumulator(true, timeParameters.getTimeStep_h(), 8760);

v_liveData.resetLiveDatasets(timeParameters);
/*
v_liveData = new J_LiveData(this);
fm_currentProductionFlows_kW = new J_FlowsMap();
fm_currentConsumptionFlows_kW = new J_FlowsMap();
fm_currentBalanceFlows_kW = new J_FlowsMap();
fm_currentAssetFlows_kW = new J_ValueMap(OL_AssetFlowCategories.class);
fm_heatFromEnergyCarrier_kW = new J_FlowsMap();
fm_consumptionForHeating_kW = new J_FlowsMap();

v_liveData = new J_LiveData();
v_liveData.activeEnergyCarriers = EnumSet.of(OL_EnergyCarriers.ELECTRICITY);
v_liveData.activeProductionEnergyCarriers = EnumSet.of(OL_EnergyCarriers.ELECTRICITY);
v_liveData.activeConsumptionEnergyCarriers= EnumSet.of(OL_EnergyCarriers.ELECTRICITY);
v_liveData.activeConsumptionEnergyCarriers = EnumSet.of(OL_EnergyCarriers.ELECTRICITY);

v_liveData.connectionMetaData = v_liveConnectionMetaData;
v_liveData.assetsMetaData = v_liveAssetsMetaData;



for (GridConnection gc : c_memberGridConnections) {
for (OL_EnergyCarriers EC : gc.v_liveData.activeProductionEnergyCarriers) {
f_addProductionEnergyCarrier(EC);
}
for (OL_EnergyCarriers EC : gc.v_liveData.activeConsumptionEnergyCarriers) {
f_addConsumptionEnergyCarrier(EC);
}
}

fm_currentProductionFlows_kW = new J_FlowsMap();
fm_currentConsumptionFlows_kW = new J_FlowsMap();
fm_currentBalanceFlows_kW = new J_FlowsMap();
fm_currentAssetFlows_kW = new J_ValueMap(OL_AssetFlowCategories.class);
*/

v_liveData.dsm_liveDemand_kW.createEmptyDataSets(v_liveData.activeConsumptionEnergyCarriers, roundToInt(168/timeParameters.getTimeStep_h()));
v_liveData.dsm_liveSupply_kW.createEmptyDataSets(v_liveData.activeProductionEnergyCarriers, roundToInt(168/timeParameters.getTimeStep_h()));
v_liveData.dsm_liveAssetFlows_kW.createEmptyDataSets(v_liveData.assetsMetaData.activeAssetFlows, roundToInt(168/timeParameters.getTimeStep_h()));

/*ALCODEEND*/}

EnergyCoop f_addConsumptionEnergyCarrier(OL_EnergyCarriers EC,J_TimeParameters timeParameters)
EnergyCoop f_addConsumptionEnergyCarrier(OL_EnergyCarriers EC,J_TimeParameters timeParameters,J_TimeVariables timeVariables)
{/*ALCODESTART::1754380102233*/
if (!v_liveData.activeConsumptionEnergyCarriers.contains(EC)) {
v_liveData.activeEnergyCarriers.add(EC);
v_liveData.activeConsumptionEnergyCarriers.add(EC);

DataSet dsDemand = new DataSet( (int)(168 / timeParameters.getTimeStep_h()) );

double startTime = v_liveData.dsm_liveDemand_kW.get(OL_EnergyCarriers.ELECTRICITY).getXMin();
double endTime = v_liveData.dsm_liveDemand_kW.get(OL_EnergyCarriers.ELECTRICITY).getXMax();
double endTime = timeVariables.getAnyLogicTime_h();
double startTime = max(0, timeVariables.getAnyLogicTime_h() - 168);

for (double t = startTime; t <= endTime; t += timeParameters.getTimeStep_h()) {
dsDemand.add( t, 0);
}
v_liveData.dsm_liveDemand_kW.put( EC, dsDemand);
}
/*ALCODEEND*/}

EnergyCoop f_addProductionEnergyCarrier(OL_EnergyCarriers EC,J_TimeParameters timeParameters)
EnergyCoop f_addProductionEnergyCarrier(OL_EnergyCarriers EC,J_TimeParameters timeParameters,J_TimeVariables timeVariables)
{/*ALCODESTART::1754380102235*/
if (!v_liveData.activeProductionEnergyCarriers.contains(EC)) {
v_liveData.activeEnergyCarriers.add(EC);
v_liveData.activeProductionEnergyCarriers.add(EC);

DataSet dsSupply = new DataSet( (int)(168 / timeParameters.getTimeStep_h()) );
double startTime = v_liveData.dsm_liveDemand_kW.get(OL_EnergyCarriers.ELECTRICITY).getXMin();
double endTime = v_liveData.dsm_liveDemand_kW.get(OL_EnergyCarriers.ELECTRICITY).getXMax();

double endTime = timeVariables.getAnyLogicTime_h();
double startTime = max(0, timeVariables.getAnyLogicTime_h() - 168);

for (double t = startTime; t <= endTime; t += timeParameters.getTimeStep_h()) {
dsSupply.add( t, 0);
}
v_liveData.dsm_liveSupply_kW.put( EC, dsSupply);
}
/*ALCODEEND*/}

EnergyCoop f_addAssetFlow(OL_AssetFlowCategories AC,J_TimeParameters timeParameters)
EnergyCoop f_addAssetFlow(OL_AssetFlowCategories AC,J_TimeParameters timeParameters,J_TimeVariables timeVariables)
{/*ALCODESTART::1754380102237*/
if (!v_liveAssetsMetaData.activeAssetFlows.contains(AC)) {
v_liveAssetsMetaData.activeAssetFlows.add(AC);

DataSet dsAsset = new DataSet( (int)(168 / timeParameters.getTimeStep_h()) );

double startTime = v_liveData.dsm_liveDemand_kW.get(OL_EnergyCarriers.ELECTRICITY).getXMin();
double endTime = v_liveData.dsm_liveDemand_kW.get(OL_EnergyCarriers.ELECTRICITY).getXMax();
double endTime = timeVariables.getAnyLogicTime_h();
double startTime = max(0, timeVariables.getAnyLogicTime_h() - 168);

for (double t = startTime; t <= endTime; t += timeParameters.getTimeStep_h()) {
dsAsset.add( t, 0);
}
Expand Down
12 changes: 12 additions & 0 deletions _alp/Agents/EnergyCoop/Code/Functions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -663,6 +663,10 @@
<Name><![CDATA[timeParameters]]></Name>
<Type><![CDATA[J_TimeParameters]]></Type>
</Parameter>
<Parameter>
<Name><![CDATA[timeVariables]]></Name>
<Type><![CDATA[J_TimeVariables]]></Type>
</Parameter>
<Body xmlns:al="http://anylogic.com"/>
</Function>
<Function AccessType="public" StaticFunction="false">
Expand All @@ -687,6 +691,10 @@
<Name><![CDATA[timeParameters]]></Name>
<Type><![CDATA[J_TimeParameters]]></Type>
</Parameter>
<Parameter>
<Name><![CDATA[timeVariables]]></Name>
<Type><![CDATA[J_TimeVariables]]></Type>
</Parameter>
<Body xmlns:al="http://anylogic.com"/>
</Function>
<Function AccessType="public" StaticFunction="false">
Expand All @@ -711,6 +719,10 @@
<Name><![CDATA[timeParameters]]></Name>
<Type><![CDATA[J_TimeParameters]]></Type>
</Parameter>
<Parameter>
<Name><![CDATA[timeVariables]]></Name>
<Type><![CDATA[J_TimeVariables]]></Type>
</Parameter>
<Body xmlns:al="http://anylogic.com"/>
</Function>
<Function AccessType="default" StaticFunction="false">
Expand Down
59 changes: 13 additions & 46 deletions _alp/Agents/EnergyModel/Code/Functions.java
Original file line number Diff line number Diff line change
Expand Up @@ -823,8 +823,9 @@ EnergyCoop f_addConsumptionEnergyCarrier(OL_EnergyCarriers EC)

DataSet dsDemand = new DataSet( (int)(168 / p_timeParameters.getTimeStep_h()) );

double startTime = v_liveData.dsm_liveDemand_kW.get(OL_EnergyCarriers.ELECTRICITY).getXMin();
double endTime = v_liveData.dsm_liveDemand_kW.get(OL_EnergyCarriers.ELECTRICITY).getXMax();
double endTime = p_timeVariables.getAnyLogicTime_h();
double startTime = max(0, p_timeVariables.getAnyLogicTime_h() - 168);

for (double t = startTime; t <= endTime; t += p_timeParameters.getTimeStep_h()) {
dsDemand.add( t, 0);
}
Expand Down Expand Up @@ -857,8 +858,10 @@ EnergyCoop f_addProductionEnergyCarrier(OL_EnergyCarriers EC)
v_liveData.activeProductionEnergyCarriers.add(EC);

DataSet dsSupply = new DataSet( (int)(168 / p_timeParameters.getTimeStep_h()) );
double startTime = v_liveData.dsm_liveDemand_kW.get(OL_EnergyCarriers.ELECTRICITY).getXMin();
double endTime = v_liveData.dsm_liveDemand_kW.get(OL_EnergyCarriers.ELECTRICITY).getXMax();

double endTime = p_timeVariables.getAnyLogicTime_h();
double startTime = max(0, p_timeVariables.getAnyLogicTime_h() - 168);

for (double t = startTime; t <= endTime; t += p_timeParameters.getTimeStep_h()) {
dsSupply.add( t, 0);
}
Expand Down Expand Up @@ -1062,50 +1065,13 @@ EnergyCoop f_addProductionEnergyCarrier(OL_EnergyCarriers EC)
fm_consumptionForHeating_kW = new J_FlowsMap();

// Reconstruct the LiveData class in the EnergyCoops
for (EnergyCoop ec : pop_energyCoops) {
/*ec.v_liveData = new J_LiveData(ec);
ec.v_liveData.activeEnergyCarriers = EnumSet.of(OL_EnergyCarriers.ELECTRICITY);
ec.v_liveData.activeProductionEnergyCarriers = EnumSet.of(OL_EnergyCarriers.ELECTRICITY);
ec.v_liveData.activeConsumptionEnergyCarriers = EnumSet.of(OL_EnergyCarriers.ELECTRICITY);

ec.v_liveData.connectionMetaData = ec.v_liveConnectionMetaData;
ec.v_liveData.assetsMetaData = ec.v_liveAssetsMetaData;
*/
ec.v_liveData.resetLiveDatasets(p_timeParameters);

ec.fm_currentProductionFlows_kW = new J_FlowsMap();
ec.fm_currentConsumptionFlows_kW = new J_FlowsMap();
ec.fm_currentBalanceFlows_kW = new J_FlowsMap();
ec.fm_currentAssetFlows_kW = new J_ValueMap(OL_AssetFlowCategories.class);
ec.fm_heatFromEnergyCarrier_kW = new J_FlowsMap();
ec.fm_consumptionForHeating_kW = new J_FlowsMap();
ec.f_startAfterDeserialisation(p_timeParameters);
}
pop_energyCoops.forEach(ec -> ec.f_startAfterDeserialisation(p_timeParameters));

// Reconstruct the LiveData class in the GridConnections and add EnergyCarriers
List<GridConnection> allGridConnections = new ArrayList<>(c_gridConnections);
allGridConnections.addAll(c_pausedGridConnections);
for (GridConnection gc : allGridConnections) {
/*gc.v_liveData = new J_LiveData(gc);
gc.v_liveData.activeEnergyCarriers = EnumSet.of(OL_EnergyCarriers.ELECTRICITY);
gc.v_liveData.activeProductionEnergyCarriers = EnumSet.of(OL_EnergyCarriers.ELECTRICITY);
gc.v_liveData.activeConsumptionEnergyCarriers = EnumSet.of(OL_EnergyCarriers.ELECTRICITY);

gc.v_liveData.connectionMetaData = gc.v_liveConnectionMetaData;
gc.v_liveData.assetsMetaData = gc.v_liveAssetsMetaData;
*/
gc.v_liveData.resetLiveDatasets(p_timeParameters);

gc.fm_currentProductionFlows_kW = new J_FlowsMap();
gc.fm_currentConsumptionFlows_kW = new J_FlowsMap();
gc.fm_currentBalanceFlows_kW = new J_FlowsMap();
gc.fm_currentAssetFlows_kW = new J_ValueMap(OL_AssetFlowCategories.class);
gc.fm_heatFromEnergyCarrier_kW = new J_FlowsMap();
gc.fm_consumptionForHeating_kW = new J_FlowsMap();
/*for (J_EA j_ea : gc.c_energyAssets) {
gc.f_addEnergyCarriersAndAssetCategoriesFromEA(j_ea);
}*/
}

allGridConnections.forEach(gc -> gc.f_startAfterDeserialisation(p_timeParameters, p_timeVariables));

// Initialize time and date
//v_hourOfYearStart=hourOfYearPerMonth[getMonth()] + (getDayOfMonth()-1)*24;
Expand Down Expand Up @@ -1197,8 +1163,9 @@ EnergyCoop f_addAssetFlow(OL_AssetFlowCategories AC)

DataSet dsAsset = new DataSet( (int)(168 / p_timeParameters.getTimeStep_h()) );

double startTime = v_liveData.dsm_liveDemand_kW.get(OL_EnergyCarriers.ELECTRICITY).getXMin();
double endTime = v_liveData.dsm_liveDemand_kW.get(OL_EnergyCarriers.ELECTRICITY).getXMax();
double endTime = p_timeVariables.getAnyLogicTime_h();
double startTime = max(0, p_timeVariables.getAnyLogicTime_h() - 168);

for (double t = startTime; t <= endTime; t += p_timeParameters.getTimeStep_h()) {
dsAsset.add( t, 0);
}
Expand Down
Loading