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
8 changes: 6 additions & 2 deletions _alp/Agents/UI_company/Code/Functions.java
Original file line number Diff line number Diff line change
Expand Up @@ -460,6 +460,10 @@ else if (batteryAsset == null) {
((J_EAStorageElectric)batteryAsset).setCapacityElectric_kW(setBatteryCapacity_kWh*existing_batterypower_capacity_ratio); //Set Power
((J_EAStorageElectric)batteryAsset).setStorageCapacity_kWh(setBatteryCapacity_kWh); //Set storage capacity

//Add battery algorithm if it is not present
if(GC.p_batteryAlgorithm == null){
GC.p_batteryAlgorithm = new J_BatteryManagementSelfConsumption(GC);
}

/*ALCODEEND*/}

Expand Down Expand Up @@ -672,7 +676,7 @@ else if (batteryAsset == null) {
if (vehicleType == OL_EnergyAssetType.ELECTRIC_VEHICLE || vehicleType == OL_EnergyAssetType.ELECTRIC_VAN || vehicleType == OL_EnergyAssetType.ELECTRIC_TRUCK ){ // Create EVS
double storageCapacity_kWh = 0;
double capacityElectricity_kW = 0;
double stateOfCharge_r = 1; // Initial state of charge
double stateOfCharge_fr = 1; // Initial state of charge

switch(vehicleType){
case ELECTRIC_VEHICLE:
Expand All @@ -694,7 +698,7 @@ else if (batteryAsset == null) {
}

//Create EV and connect to GC and selected trip tracker
J_EAEV electricVehicle = new J_EAEV(parentGC, capacityElectricity_kW, storageCapacity_kWh, stateOfCharge_r, timestep_h, energyConsumption_kWhpkm, vehicleScaling, vehicleType, tripTracker);
J_EAEV electricVehicle = new J_EAEV(parentGC, capacityElectricity_kW, storageCapacity_kWh, stateOfCharge_fr, timestep_h, energyConsumption_kWhpkm, vehicleScaling, vehicleType, tripTracker);
electricVehicle.available = available;


Expand Down
36 changes: 28 additions & 8 deletions _alp/Agents/Zero_Loader/Code/Functions.java
Original file line number Diff line number Diff line change
Expand Up @@ -393,9 +393,31 @@ else if(RegionCoords.startsWith("LineString")){
gridbattery.v_liveConnectionMetaData.contractedFeedinCapacityKnown = false;
}

gridbattery.set_p_parentNodeElectricID( dataBattery.gridnode_id() );
gridbattery.set_p_parentNodeElectricID( dataBattery.gridnode_id() );
gridbattery.set_p_heatingType( OL_GridConnectionHeatingType.NONE );
gridbattery.set_p_batteryOperationMode( OL_BatteryOperationMode.valueOf(dataBattery.default_operation_mode()) );

switch (dataBattery.operation_mode()) {
case PRICE:
gridbattery.p_batteryAlgorithm = new J_BatteryManagementPrice(gridbattery);
break;
case PEAK_SHAVING_PARENT_NODE:
J_BatteryManagementPeakShaving batteryAlgorithm = new J_BatteryManagementPeakShaving(gridbattery);
GridNode gn = findFirst(energyModel.pop_gridNodes, x -> x.p_gridNodeID.equals(gridbattery.p_parentNodeElectricID));
if (gn == null) {
throw new RuntimeException("Could not find GridNode with ID: " + gridbattery.p_parentNodeElectricID + " for GCGridBattery");
}
batteryAlgorithm.setTarget(gn);
gridbattery.p_batteryAlgorithm = batteryAlgorithm;
break;
case PEAK_SHAVING_COOP:
// target agent is still null, should be set at the moment of coop creation
batteryAlgorithm = new J_BatteryManagementPeakShaving(gridbattery);
batteryAlgorithm.setTargetType( OL_ResultScope.ENERGYCOOP );
gridbattery.p_batteryAlgorithm = batteryAlgorithm;
break;
default:
throw new RuntimeException("Battery Operation Mode: " + dataBattery.operation_mode() + " is not supported for GCGridBattery.");
}

//Get initial state
gridbattery.v_isActive = dataBattery.initially_active();
Expand Down Expand Up @@ -1369,7 +1391,7 @@ else if(companyGC.c_heatingTypes.contains(OL_GridConnectionHeatingType.GASBURNER
double storageCapacity_kWh = 0;
double energyConsumption_kWhpkm = 0;
double capacityElectricity_kW = 0;
double stateOfCharge_r = 1; // Initial state of charge
double stateOfCharge_fr = 1; // Initial state of charge
double timestep_h = energyModel.p_timeStep_h;
double vehicleScaling = 1.0;

Expand Down Expand Up @@ -1409,7 +1431,7 @@ else if(companyGC.c_heatingTypes.contains(OL_GridConnectionHeatingType.GASBURNER


//Create the EV vehicle energy asset with the set parameters + links
J_EAEV electricVehicle = new J_EAEV(parentGC, capacityElectricity_kW, storageCapacity_kWh, stateOfCharge_r, timestep_h, energyConsumption_kWhpkm, vehicleScaling, vehicle_type, null);
J_EAEV electricVehicle = new J_EAEV(parentGC, capacityElectricity_kW, storageCapacity_kWh, stateOfCharge_fr, timestep_h, energyConsumption_kWhpkm, vehicleScaling, vehicle_type, null);

if (!isDefaultVehicle && annualTravelDistance_km > 1000){
electricVehicle.tripTracker.setAnnualDistance_km(annualTravelDistance_km);
Expand Down Expand Up @@ -2495,9 +2517,7 @@ else if(pvPower_kW != null && pvPower_kW > 0){
}
// Elke survey company krijgt hoe dan ook een batterij EA (ook als op dit moment nog geen batterij aanwezig is, maar dan is capaciteit gewoon 0)
f_addStorage(companyGC, battery_power_kW, battery_capacity_kWh, OL_EnergyAssetType.STORAGE_ELECTRIC);
companyGC.p_batteryOperationMode = OL_BatteryOperationMode.BALANCE;

//Aansturing toevoegen ?
companyGC.p_batteryAlgorithm = new J_BatteryManagementSelfConsumption(companyGC);

//add to scenario: current
current_scenario_list.setCurrentBatteryCapacity_kWh(battery_capacity_kWh);
Expand Down Expand Up @@ -3122,7 +3142,7 @@ GridNode f_createHeatGridNode()
contracted_feed_in_capacity_kw(0.0).

storage_capacity_kwh(0.0).
default_operation_mode("BALANCE").
operation_mode(OL_BatteryOperationMode.PEAK_SHAVING_PARENT_NODE).
latitude(0).
longitude(0).
polygon(null).
Expand Down
4 changes: 2 additions & 2 deletions _alp/Agents/tabElectricity/Code/Functions.java
Original file line number Diff line number Diff line change
Expand Up @@ -392,7 +392,7 @@ else if ( gc instanceof GCUtility ) {
while ( nbHouseBatteries > nbHousesWithBatteryGoal ) {
GCHouse house = findFirst(zero_Interface.energyModel.Houses, p -> p.p_batteryAsset != null );
house.p_batteryAsset.removeEnergyAsset();
house.p_batteryOperationMode = OL_BatteryOperationMode.BALANCE; // reset to default
house.p_batteryAlgorithm = null;
nbHouseBatteries--;
}
while ( nbHouseBatteries < nbHousesWithBatteryGoal) {
Expand All @@ -403,7 +403,7 @@ else if ( gc instanceof GCUtility ) {
double batteryStateOfCharge = 0.5;

new J_EAStorageElectric(house, batteryCapacity_kW, batteryStorageCapacity_kWh, batteryStateOfCharge, zero_Interface.energyModel.p_timeStep_h );
house.p_batteryOperationMode = OL_BatteryOperationMode.HOUSEHOLD_LOAD;
house.p_batteryAlgorithm = new J_BatteryManagementSelfConsumption( house );
nbHouseBatteries++;
}
}
Expand Down
16 changes: 8 additions & 8 deletions _alp/Agents/tabMobility/Code/Functions.java
Original file line number Diff line number Diff line change
Expand Up @@ -354,10 +354,10 @@ boolean f_dieselToElectricTruck(List<GridConnection> gcList)
// Re-add Electric vehicle
double capacityElectric_kW = zero_Interface.energyModel.avgc_data.p_avgEVMaxChargePowerTruck_kW;
double storageCapacity_kWh = zero_Interface.energyModel.avgc_data.p_avgEVStorageTruck_kWh;
double initialStateOfCharge_r = 1.0;
double initialStateOfCharge_fr = 1.0;
double energyConsumption_kWhpkm = zero_Interface.energyModel.avgc_data.p_avgEVEnergyConsumptionTruck_kWhpkm;
double vehicleScalingElectric = 1.0;
J_EAEV electricTruck = new J_EAEV(gc, capacityElectric_kW, storageCapacity_kWh, initialStateOfCharge_r, zero_Interface.energyModel.p_timeStep_h, energyConsumption_kWhpkm, vehicleScalingElectric, OL_EnergyAssetType.ELECTRIC_TRUCK, tripTracker);
J_EAEV electricTruck = new J_EAEV(gc, capacityElectric_kW, storageCapacity_kWh, initialStateOfCharge_fr, zero_Interface.energyModel.p_timeStep_h, energyConsumption_kWhpkm, vehicleScalingElectric, OL_EnergyAssetType.ELECTRIC_TRUCK, tripTracker);
electricTruck.available = available;

zero_Interface.c_orderedVehicles.add(0, electricTruck);
Expand Down Expand Up @@ -429,10 +429,10 @@ boolean f_hydrogenToElectricTruck(List<GridConnection> gcList)
// Re-add Electric vehicle
double capacityElectric_kW = zero_Interface.energyModel.avgc_data.p_avgEVMaxChargePowerTruck_kW;
double storageCapacity_kWh = zero_Interface.energyModel.avgc_data.p_avgEVStorageTruck_kWh;
double initialStateOfCharge_r = 1.0;
double initialStateOfCharge_fr = 1.0;
double energyConsumption_kWhpkm = zero_Interface.energyModel.avgc_data.p_avgEVEnergyConsumptionTruck_kWhpkm;
double vehicleScalingElectric = 1.0;
J_EAEV electricTruck = new J_EAEV(gc, capacityElectric_kW, storageCapacity_kWh, initialStateOfCharge_r, zero_Interface.energyModel.p_timeStep_h, energyConsumption_kWhpkm, vehicleScalingElectric, OL_EnergyAssetType.ELECTRIC_TRUCK, tripTracker);
J_EAEV electricTruck = new J_EAEV(gc, capacityElectric_kW, storageCapacity_kWh, initialStateOfCharge_fr, zero_Interface.energyModel.p_timeStep_h, energyConsumption_kWhpkm, vehicleScalingElectric, OL_EnergyAssetType.ELECTRIC_TRUCK, tripTracker);
electricTruck.available = available;

zero_Interface.c_orderedVehicles.add(0, electricTruck);
Expand Down Expand Up @@ -846,10 +846,10 @@ boolean f_dieselToElectricVan(List<GridConnection> gcList)
// Re-add Electric vehicle
double capacityElectric_kW = zero_Interface.energyModel.avgc_data.p_avgEVMaxChargePowerVan_kW;
double storageCapacity_kWh = zero_Interface.energyModel.avgc_data.p_avgEVStorageVan_kWh;
double initialStateOfCharge_r = 1.0;
double initialStateOfCharge_fr = 1.0;
double energyConsumption_kWhpkm = zero_Interface.energyModel.avgc_data.p_avgEVEnergyConsumptionVan_kWhpkm;
double vehicleScalingElectric = 1.0;
J_EAEV electricVan = new J_EAEV(gc, capacityElectric_kW, storageCapacity_kWh, initialStateOfCharge_r, zero_Interface.energyModel.p_timeStep_h, energyConsumption_kWhpkm, vehicleScalingElectric, OL_EnergyAssetType.ELECTRIC_VAN, tripTracker);
J_EAEV electricVan = new J_EAEV(gc, capacityElectric_kW, storageCapacity_kWh, initialStateOfCharge_fr, zero_Interface.energyModel.p_timeStep_h, energyConsumption_kWhpkm, vehicleScalingElectric, OL_EnergyAssetType.ELECTRIC_VAN, tripTracker);
electricVan.available = available;

zero_Interface.c_orderedVehicles.add(0, electricVan);
Expand Down Expand Up @@ -995,10 +995,10 @@ boolean f_dieselToElectricCar(List<GridConnection> gcList)
// Re-add Electric vehicle
double capacityElectric_kW = zero_Interface.energyModel.avgc_data.p_avgEVMaxChargePowerCar_kW;
double storageCapacity_kWh = zero_Interface.energyModel.avgc_data.p_avgEVStorageCar_kWh;
double initialStateOfCharge_r = 1.0;
double initialStateOfCharge_fr = 1.0;
double energyConsumption_kWhpkm = zero_Interface.energyModel.avgc_data.p_avgEVEnergyConsumptionCar_kWhpkm;
double vehicleScalingElectric = 1.0;
J_EAEV electricCar = new J_EAEV(gc, capacityElectric_kW, storageCapacity_kWh, initialStateOfCharge_r, zero_Interface.energyModel.p_timeStep_h, energyConsumption_kWhpkm, vehicleScalingElectric, OL_EnergyAssetType.ELECTRIC_VEHICLE, tripTracker);
J_EAEV electricCar = new J_EAEV(gc, capacityElectric_kW, storageCapacity_kWh, initialStateOfCharge_fr, zero_Interface.energyModel.p_timeStep_h, energyConsumption_kWhpkm, vehicleScalingElectric, OL_EnergyAssetType.ELECTRIC_VEHICLE, tripTracker);
electricCar.available = available;

zero_Interface.c_orderedVehicles.add(0, electricCar);
Expand Down
2 changes: 1 addition & 1 deletion _alp/Classes/Class.Battery_data.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public class Battery_data {
double connection_capacity_kw;
Double contracted_delivery_capacity_kw;
Double contracted_feed_in_capacity_kw;
String default_operation_mode;
OL_BatteryOperationMode operation_mode;
double latitude;
double longitude;
String polygon;
Expand Down