diff --git a/_alp/Agents/UI_EnergyHub/Code/Functions.java b/_alp/Agents/UI_EnergyHub/Code/Functions.java index bdfffabc..43139d1e 100644 --- a/_alp/Agents/UI_EnergyHub/Code/Functions.java +++ b/_alp/Agents/UI_EnergyHub/Code/Functions.java @@ -63,12 +63,12 @@ if (zero_Interface.p_selectedProjectType == OL_ProjectType.RESIDENTIAL) { ((tabElectricity)uI_Tabs.pop_tabElectricity.get(0)).getGroupElectricityDemandSliders_ResidentialArea().setVisible(true); ((tabHeating)uI_Tabs.pop_tabHeating.get(0)).getGroupHeatDemandSlidersResidentialArea().setVisible(true); - ((tabMobility)uI_Tabs.pop_tabMobility.get(0)).getGroupMobilityDemandSliders().setVisible(true); + ((tabMobility)uI_Tabs.pop_tabMobility.get(0)).getGr_mobilitySliders_residential().setVisible(true); } else { ((tabElectricity)uI_Tabs.pop_tabElectricity.get(0)).getGroupElectricityDemandSliders_Businesspark().setVisible(true); ((tabHeating)uI_Tabs.pop_tabHeating.get(0)).getGroupHeatDemandSlidersCompanies().setVisible(true); - ((tabMobility)uI_Tabs.pop_tabMobility.get(0)).getGroupMobilityDemandSliders().setVisible(true); + ((tabMobility)uI_Tabs.pop_tabMobility.get(0)).getGr_mobilitySliders_default().setVisible(true); } //Initialize slider gcs and set sliders diff --git a/_alp/Agents/UI_Tabs/Code/Functions.java b/_alp/Agents/UI_Tabs/Code/Functions.java index 2d04db04..a1807e89 100644 --- a/_alp/Agents/UI_Tabs/Code/Functions.java +++ b/_alp/Agents/UI_Tabs/Code/Functions.java @@ -235,3 +235,23 @@ List f_getPausedSliderGridConnections_chargers() } /*ALCODEEND*/} +List f_getAllSliderGridConnections_chargers() +{/*ALCODESTART::1758278620331*/ +List chargerGridConnections = new ArrayList<>(); + +for(GridConnection GC : v_sliderGridConnections){ + if(GC instanceof GCPublicCharger){ + chargerGridConnections.add((GCPublicCharger)GC); + } +} +if(v_pausedSliderGridConnections != null){ + for(GridConnection GC : v_pausedSliderGridConnections){ + if(GC instanceof GCPublicCharger){ + chargerGridConnections.add((GCPublicCharger)GC); + } + } +} + +return chargerGridConnections; +/*ALCODEEND*/} + diff --git a/_alp/Agents/UI_Tabs/Code/Functions.xml b/_alp/Agents/UI_Tabs/Code/Functions.xml index e1ec0d97..0ee9aa84 100644 --- a/_alp/Agents/UI_Tabs/Code/Functions.xml +++ b/_alp/Agents/UI_Tabs/Code/Functions.xml @@ -265,4 +265,20 @@ true + + RETURNS_VALUE + List<GCPublicCharger> + 1758278620331 + + 540 + 330 + + false + true + true + + diff --git a/_alp/Agents/Zero_Interface/Code/Functions.java b/_alp/Agents/Zero_Interface/Code/Functions.java index f84f4b54..5808c426 100644 --- a/_alp/Agents/Zero_Interface/Code/Functions.java +++ b/_alp/Agents/Zero_Interface/Code/Functions.java @@ -2343,13 +2343,13 @@ Pair f_getPresentationPositionIteration( for (GridConnection gc : energyModel.f_getActiveGridConnections()) { for (J_EAChargePoint charger : gc.c_chargers) { - if (charger.V1GCapable) { + if (charger.getV1GCapable()) { c_orderedV1GChargers.add(0, charger); } else { c_orderedV1GChargers.add(charger); } - if (charger.V2GCapable) { + if (charger.getV2GCapable()) { c_orderedV2GChargers.add(0, charger); } else { @@ -2360,13 +2360,13 @@ Pair f_getPresentationPositionIteration( for (GridConnection gc : energyModel.f_getPausedGridConnections()) { for (J_EAChargePoint charger : gc.c_chargers) { - if (charger.V1GCapable) { + if (charger.getV1GCapable()) { c_inactiveV1GChargers.add(0, charger); } else { c_inactiveV1GChargers.add(charger); } - if (charger.V2GCapable) { + if (charger.getV2GCapable()) { c_inactiveV2GChargers.add(0, charger); } else { @@ -3152,19 +3152,20 @@ ArrayList f_updateJ_EAlistAfterDeserialisation(ArrayList E uI_Tabs.add_pop_tabElectricity(); uI_Tabs.add_pop_tabHeating(); +uI_Tabs.add_pop_tabMobility(); // Group visibilities // When using an extension of a generic tab don't forget to typecast it! if (p_selectedProjectType == OL_ProjectType.RESIDENTIAL) { ((tabElectricity)uI_Tabs.pop_tabElectricity.get(0)).getGroupElectricityDemandSliders_ResidentialArea().setVisible(true); ((tabHeating)uI_Tabs.pop_tabHeating.get(0)).getGroupHeatDemandSlidersResidentialArea().setVisible(true); + ((tabMobility)uI_Tabs.pop_tabMobility.get(0)).getGr_mobilitySliders_residential().setVisible(true); } else { - uI_Tabs.add_pop_tabMobility(); uI_Tabs.add_pop_tabEHub(); ((tabElectricity)uI_Tabs.pop_tabElectricity.get(0)).getGroupElectricityDemandSliders_Businesspark().setVisible(true); ((tabHeating)uI_Tabs.pop_tabHeating.get(0)).getGroupHeatDemandSlidersCompanies().setVisible(true); - ((tabMobility)uI_Tabs.pop_tabMobility.get(0)).getGroupMobilityDemandSliders().setVisible(true); + ((tabMobility)uI_Tabs.pop_tabMobility.get(0)).getGr_mobilitySliders_default().setVisible(true); ((tabEHub)uI_Tabs.pop_tabEHub.get(0)).getGroupHubSliders().setVisible(true); } /*ALCODEEND*/} diff --git a/_alp/Agents/Zero_Loader/Code/Functions.java b/_alp/Agents/Zero_Loader/Code/Functions.java index f7a4207d..8debffc0 100644 --- a/_alp/Agents/Zero_Loader/Code/Functions.java +++ b/_alp/Agents/Zero_Loader/Code/Functions.java @@ -3107,6 +3107,16 @@ J_ChargingSession f_createChargingSession(String chargingSessionData) double chargingPower_kW = Double.parseDouble(chargingSessionInfo[5]); int socket = Integer.parseInt(chargingSessionInfo[6]); +/* +if(chargingDemand_kWh > (chargingPower_kW * (endIndex - startIndex)*0.25)){ + chargingDemand_kWh = (chargingPower_kW * (endIndex - startIndex)*0.25); //Cap this to prevent errors with data +}*/ +chargingDemand_kWh = min(chargingPower_kW * (endIndex - startIndex) * 0.25, chargingDemand_kWh); +double avgPower_kW = chargingDemand_kWh / ((endIndex - startIndex)*0.25); +if (avgPower_kW > 20.0) { + traceln("Session charging power (data): %s kW, session average charging power: %s kW, duration %s h", chargingPower_kW, avgPower_kW, (endIndex - startIndex)*0.25); +} + return new J_ChargingSession(startIndex, endIndex, chargingDemand_kWh, batteryCap_kWh, chargingPower_kW, socket, 0.25); /*ALCODEEND*/} diff --git a/_alp/Agents/tabElectricity/Code/Functions.java b/_alp/Agents/tabElectricity/Code/Functions.java index 07bcdd06..767fd644 100644 --- a/_alp/Agents/tabElectricity/Code/Functions.java +++ b/_alp/Agents/tabElectricity/Code/Functions.java @@ -447,173 +447,11 @@ else if ( gc instanceof GCUtility ) { zero_Interface.f_resetSettings(); /*ALCODEEND*/} -double f_setPublicChargingStations(double publicChargers_pct) -{/*ALCODESTART::1750063382330*/ -int totalNbChargers = zero_Interface.c_orderedPublicChargers.size(); -int currentNbChargers = count(zero_Interface.c_orderedPublicChargers, x -> x.v_isActive); -int nbChargersGoal = roundToInt(publicChargers_pct / 100 * totalNbChargers) ; - -while ( currentNbChargers > nbChargersGoal ) { - GCPublicCharger gc = findFirst(zero_Interface.c_orderedPublicChargers, x -> x.v_isActive); - if (gc != null) { - gc.f_setActive(false); - zero_Interface.c_orderedPublicChargers.remove(gc); - zero_Interface.c_orderedPublicChargers.add(0, gc); - currentNbChargers--; - - for (J_EADieselVehicle car : zero_Interface.c_mappingOfVehiclesPerCharger.get(gc)) { - car.reRegisterEnergyAsset(); - } - } - else { - throw new RuntimeException("Charger slider error: there are not sufficient chargers to remove"); - } -} -while ( currentNbChargers < nbChargersGoal){ - GCPublicCharger gc = findFirst(zero_Interface.c_orderedPublicChargers, x -> !x.v_isActive); - if (gc != null) { - gc.f_setActive(true); - zero_Interface.c_orderedPublicChargers.remove(gc); - zero_Interface.c_orderedPublicChargers.add(0, gc); - currentNbChargers++; - - for (J_EADieselVehicle car : zero_Interface.c_mappingOfVehiclesPerCharger.get(gc)) { - J_ActivityTrackerTrips tripTracker = car.getTripTracker(); //Needed, as triptracker is removed when removeEnergyAsset is called. - car.removeEnergyAsset(); - car.setTripTracker(tripTracker);//Re-set the triptracker again, for storing. - } - } - else { - throw new RuntimeException("Charger slider error: there are no more chargers to add"); - } -} - -//Update variable to change to custom scenario -if(!zero_Interface.b_runningMainInterfaceScenarios){ - zero_Interface.b_changeToCustomScenario = true; -} - -zero_Interface.f_resetSettings(); - -/*ALCODEEND*/} - -double f_setV1GChargerCapabilities(double goal_pct) -{/*ALCODESTART::1750259219309*/ -int totalNbChargers = zero_Interface.c_orderedV1GChargers.size(); -int currentNbChargers = count(zero_Interface.c_orderedV1GChargers, x -> x.V1GCapable); -int nbChargersGoal = roundToInt(goal_pct / 100.0 * totalNbChargers); - -while (currentNbChargers < nbChargersGoal) { - J_EAChargePoint j_ea = findFirst(zero_Interface.c_orderedV1GChargers, x -> !x.V1GCapable); - j_ea.V1GCapable = true; - currentNbChargers++; - zero_Interface.c_orderedV1GChargers.remove(j_ea); - zero_Interface.c_orderedV1GChargers.add(0, j_ea); - -} -while (currentNbChargers > nbChargersGoal) { - J_EAChargePoint j_ea = findFirst(zero_Interface.c_orderedV1GChargers, x -> x.V1GCapable); - j_ea.V1GCapable = false; - currentNbChargers--; - zero_Interface.c_orderedV1GChargers.remove(j_ea); - zero_Interface.c_orderedV1GChargers.add(0, j_ea); -} - -// Update variable to change to custom scenario -if(!zero_Interface.b_runningMainInterfaceScenarios){ - zero_Interface.b_changeToCustomScenario = true; -} - -zero_Interface.f_resetSettings(); -/*ALCODEEND*/} - -double f_setV2GChargerCapabilities(double goal_pct) -{/*ALCODESTART::1750259468109*/ -int totalNbChargers = zero_Interface.c_orderedV2GChargers.size(); -int currentNbChargers = count(zero_Interface.c_orderedV2GChargers, x -> x.V2GCapable); -int nbChargersGoal = roundToInt(goal_pct / 100.0 * totalNbChargers); - -while (currentNbChargers < nbChargersGoal) { - J_EAChargePoint j_ea = findFirst(zero_Interface.c_orderedV2GChargers, x -> !x.V2GCapable); - j_ea.V2GCapable = true; - currentNbChargers++; - zero_Interface.c_orderedV2GChargers.remove(j_ea); - zero_Interface.c_orderedV2GChargers.add(0, j_ea); - -} -while (currentNbChargers > nbChargersGoal) { - J_EAChargePoint j_ea = findFirst(zero_Interface.c_orderedV2GChargers, x -> x.V2GCapable); - j_ea.V2GCapable = false; - currentNbChargers--; - zero_Interface.c_orderedV2GChargers.remove(j_ea); - zero_Interface.c_orderedV2GChargers.add(0, j_ea); -} - -// Update variable to change to custom scenario -if(!zero_Interface.b_runningMainInterfaceScenarios){ - zero_Interface.b_changeToCustomScenario = true; -} - -zero_Interface.f_resetSettings(); -/*ALCODEEND*/} - double f_setDemandIncrease(List gcList,double demandReduction_pct) {/*ALCODESTART::1750326729005*/ f_setDemandReduction(gcList, -demandReduction_pct); /*ALCODEEND*/} -double f_setVehiclesPrivateParking(List gcListHouses,double privateParkingEV_pct) -{/*ALCODESTART::1750328750011*/ -List gcListOrderedVehiclesPrivateParking = findAll( zero_Interface.c_orderedVehiclesPrivateParking, h -> gcListHouses.contains(h.getParentAgent())); - -int nbOfPrivateParkedEV = (int)sum(findAll(gcListHouses, gc -> gc.p_eigenOprit), x -> x.c_electricVehicles.size()); -int desiredNbOfPrivateParkedEV = roundToInt(privateParkingEV_pct / 100 * gcListOrderedVehiclesPrivateParking.size()); - - -// we scale the consumption instead of getting the diesel/EV parameter from avgc data to represent the 'size' of the car -double ratioEVToDieselConsumption = zero_Interface.energyModel.avgc_data.p_avgEVEnergyConsumptionCar_kWhpkm / zero_Interface.energyModel.avgc_data.p_avgDieselConsumptionCar_kWhpkm; - -while ( nbOfPrivateParkedEV > desiredNbOfPrivateParkedEV){ - J_EAVehicle j_ea = findFirst( gcListOrderedVehiclesPrivateParking, h -> h instanceof J_EAEV); - if (j_ea.vehicleScaling != 1) { - throw new RuntimeException("f_setVehiclesPrivateParking does not work with vehicles that have a vehicleScaling other than 1"); - } - J_ActivityTrackerTrips triptracker = j_ea.tripTracker; - double energyConsumption_kWhpkm = j_ea.getEnergyConsumption_kWhpkm() / ratioEVToDieselConsumption; - j_ea.removeEnergyAsset(); - gcListOrderedVehiclesPrivateParking.remove(j_ea); - zero_Interface.c_orderedVehiclesPrivateParking.remove(j_ea); - J_EADieselVehicle dieselCar = new J_EADieselVehicle(j_ea.getParentAgent(), energyConsumption_kWhpkm, zero_Interface.energyModel.p_timeStep_h, 1, OL_EnergyAssetType.DIESEL_VEHICLE, triptracker); - gcListOrderedVehiclesPrivateParking.add(dieselCar); - zero_Interface.c_orderedVehiclesPrivateParking.add(dieselCar); - nbOfPrivateParkedEV --; -} -while ( nbOfPrivateParkedEV < desiredNbOfPrivateParkedEV){ - J_EAVehicle j_ea = findFirst( gcListOrderedVehiclesPrivateParking, h -> h instanceof J_EADieselVehicle); - if (j_ea.vehicleScaling != 1) { - throw new RuntimeException("f_setVehiclesPrivateParking does not work with vehicles that have a vehicleScaling other than 1"); - } - J_ActivityTrackerTrips triptracker = j_ea.tripTracker; - double energyConsumption_kWhpkm = j_ea.getEnergyConsumption_kWhpkm() * ratioEVToDieselConsumption; - j_ea.removeEnergyAsset(); - gcListOrderedVehiclesPrivateParking.remove(j_ea); - zero_Interface.c_orderedVehiclesPrivateParking.remove(j_ea); - double capacityElectricity_kW = randomTrue(0.6) ? randomTrue(0.4) ? 3.2 : 5.6 : 11.0; - double storageCapacity_kWh = uniform_discr(65,90); - J_EAEV ev = new J_EAEV(j_ea.getParentAgent(), capacityElectricity_kW, storageCapacity_kWh, 1, zero_Interface.energyModel.p_timeStep_h, energyConsumption_kWhpkm, 1, OL_EnergyAssetType.ELECTRIC_VEHICLE, triptracker); - gcListOrderedVehiclesPrivateParking.add(ev); - zero_Interface.c_orderedVehiclesPrivateParking.add(ev); - nbOfPrivateParkedEV++; -} - -//Update variable to change to custom scenario -if(!zero_Interface.b_runningMainInterfaceScenarios){ - zero_Interface.b_changeToCustomScenario = true; -} - -zero_Interface.f_resetSettings(); -/*ALCODEEND*/} - double f_updateSliders_Electricity() {/*ALCODESTART::1754926103683*/ if(gr_electricitySliders_default.isVisible()){ @@ -726,22 +564,16 @@ else if(productionGC.v_liveAssetsMetaData.activeAssetFlows.contains(OL_AssetFlow double f_updateElectricitySliders_residential() {/*ALCODESTART::1754926103687*/ List houseGridConnections = new ArrayList<>(); -List chargerGridConnections = new ArrayList<>(); List gridBatteryGridConnections = new ArrayList<>(); for (GridConnection GC : findAll(uI_Tabs.f_getSliderGridConnections_all(), gc -> gc.v_isActive)) { if(GC instanceof GCHouse){ houseGridConnections.add((GCHouse)GC); } - else if(GC instanceof GCPublicCharger){ - chargerGridConnections.add((GCPublicCharger)GC); - } else if(GC instanceof GCGridBattery){ gridBatteryGridConnections.add((GCGridBattery)GC); } } -chargerGridConnections.addAll(uI_Tabs.f_getPausedSliderGridConnections_chargers()); - int nbHouses = houseGridConnections.size(); int nbHousesWithPV = count(houseGridConnections, x -> x.v_liveAssetsMetaData.activeAssetFlows.contains(OL_AssetFlowCategories.pvProductionElectric_kW)); @@ -782,37 +614,6 @@ else if(GC instanceof GCGridBattery){ sl_electricityDemandIncreaseResidentialArea_pct.setValue(roundToInt(electricityDemandIncrease_pct), false); -//Private EV -if (zero_Interface.c_orderedVehiclesPrivateParking.size() > 0) { - int nbPrivateEVs = count(zero_Interface.c_orderedVehiclesPrivateParking, x -> x instanceof J_EAEV); - double privateEVs_pct = 100.0 * nbPrivateEVs / zero_Interface.c_orderedVehiclesPrivateParking.size(); - sl_privateEVsResidentialArea_pct.setValue(roundToInt(privateEVs_pct), false); -} -else{ - sl_privateEVsResidentialArea_pct.setEnabled(false); -} - - -//Chargers -int nbPublicChargers = chargerGridConnections.size(); -if(nbPublicChargers > 0 ){ - int nbActivePublicChargers = count(chargerGridConnections, x -> x.v_isActive); - double activePublicChargers_pct = 100.0 * nbActivePublicChargers / nbPublicChargers; - sl_publicChargersResidentialArea_pct.setValue(activePublicChargers_pct, false); - - int nbV1GChargers = count(zero_Interface.c_orderedV1GChargers, x -> chargerGridConnections.contains(x) && x.V1GCapable); - int nbV2GChargers =count(zero_Interface.c_orderedV2GChargers, x -> chargerGridConnections.contains(x) && x.V2GCapable); - double V1G_pct = 100.0 * nbV1GChargers / nbPublicChargers; - double V2G_pct = 100.0 * nbV2GChargers / nbPublicChargers; - sl_chargersThatSupportV1G_pct.setValue(V1G_pct, false); - sl_chargersThatSupportV2G_pct.setValue(V2G_pct, false); -} -else{ - sl_publicChargersResidentialArea_pct.setEnabled(false); - sl_chargersThatSupportV1G_pct.setEnabled(false); - sl_chargersThatSupportV2G_pct.setEnabled(false); -} - //Gridbatteries double averageNeighbourhoodBatterySize_kWh = 0; for (GCGridBattery gc : gridBatteryGridConnections) { diff --git a/_alp/Agents/tabElectricity/Code/Functions.xml b/_alp/Agents/tabElectricity/Code/Functions.xml index 70a6a229..3755768c 100644 --- a/_alp/Agents/tabElectricity/Code/Functions.xml +++ b/_alp/Agents/tabElectricity/Code/Functions.xml @@ -284,66 +284,6 @@ - - VOID - double - 1750063382330 - - 80 - 1130 - - false - true - true - - - - - - - - VOID - double - 1750259219309 - - 80 - 1090 - - false - true - true - - - - - - - - VOID - double - 1750259468109 - - 80 - 1110 - - false - true - true - - - - - - VOID double @@ -368,30 +308,6 @@ - - VOID - double - 1750328750011 - - 80 - 1170 - - false - true - true - - - ]]> - - - - - - - VOID double diff --git a/_alp/Agents/tabElectricity/Levels/Level.level.xml b/_alp/Agents/tabElectricity/Levels/Level.level.xml index b91ce58b..ecf0b145 100644 --- a/_alp/Agents/tabElectricity/Levels/Level.level.xml +++ b/_alp/Agents/tabElectricity/Levels/Level.level.xml @@ -1744,7 +1744,7 @@ zero_Interface.f_resetSettings(); 1750063382221 235 - 145 + 165 + + VOID + double + 1758183013077 + + -330 + 80 + + false + true + true + + + + VOID + double + 1758183975214 + + 480 + 605 + + false + true + true + + + + + + + + VOID + double + 1758183975221 + + 480 + 545 + + false + true + true + + + + + + + + VOID + double + 1758183975227 + + 480 + 565 + + false + true + true + + + + + + + + VOID + double + 1758183975234 + + 480 + 650 + + false + true + true + + + ]]> + + + + + + + + + VOID + double + 1758275653317 + + 480 + 585 + + false + true + true + + + ]]> + + + + + + + + + VOID + double + 1758276936913 + + 65 + 675 + + false + true + true + + + ]]> + + + + + + + diff --git a/_alp/Agents/tabMobility/Levels/Level.level.xml b/_alp/Agents/tabMobility/Levels/Level.level.xml index 35b636a3..f1c8024f 100644 --- a/_alp/Agents/tabMobility/Levels/Level.level.xml +++ b/_alp/Agents/tabMobility/Levels/Level.level.xml @@ -70,7 +70,7 @@ 1722247567092 - + 0 0 diff --git a/_alp/Classes/Class.J_InfoText.java b/_alp/Classes/Class.J_InfoText.java index 3eae2cee..1f655cbd 100644 --- a/_alp/Classes/Class.J_InfoText.java +++ b/_alp/Classes/Class.J_InfoText.java @@ -22,14 +22,8 @@ public class J_InfoText implements Serializable { public String landPV = "Met deze slider kun je instellen hoeveel zonneparken er in het model zitten. 1 hectare zonnepark heeft een piek opwek van 1 MW. De minimum waarde van de slider is gezet op de hoveelheid die al in het huidige scenario aanwezig is."; public String landWind = "Met deze slider kun je instellen hoeveel windmolens er in het model zitten. De minimum waarde van de slider is gezet op de hoveelheid die al in het huidige scenario aanwezig is."; public String householdBatteries = "Met deze slider kun je instellen welk aandeel van de huizen die zonnepanelen op hun dak hebben liggen een batterij hebben. De minimum waarde van de slider is gezet op de hoveelheid die al in het huidige scenario aanwezig is."; - public String householdPrivateParking = "Met deze slider kun je instellen welk aandeel huizen met een eigen oprit een EV heeft."; - public String householdPublicParking = "Met deze slider kun je instellen hoe veel publieke laadpalen er in het model zitten. Door meer publieke laadpalen toe te voegen verdwijnen er auto's die op fossiele brandstoffen rijden."; - public String householdGridAwareCharging = "?"; public String householdElectricCooking = "Met deze slider kun je instellen welk aandeel van de huizen elektrisch koken."; public String householdElectricityConsumptionGrowth = "Met deze slider kun je het basisverbruik van stroom voor huizen aanpassen. Een positief percentage betekent dat ze meer verbruiken dan in het basis scenario. Een negatief percentage betekent dat het verbruik is afgenomen. Dit past niet de hoeveelheid stroombehoefte aan voor specifieke apparaten die apart in het model zitten zoals warmtepompen en elektrische auto's. Zie hiervoor de besparingsslider in de tabjes warmte of transport."; - public String householdPublicChargersBehaviour = "Met deze knoppen kun je instellen wat het laadgedrag is van de publieke laadpalen. Met V1G wordt uitgesteld laden of 'slim' laden bedoeld. Met V2G kunnen de voertuigen ook terugleveren aan het net."; - public String householdPublicParkingV1G = "Met deze slider kun je instellen welk aandeel van de publieke laadpalen, die V1G ondersteunen, dit ook doen."; - public String householdPublicParkingV2G = "Met deze slider kun je instellen welk aandeel van de publieke laadpalen, die V2G ondersteunen, dit ook doen."; public String curtailment = "Met deze knop kun je curtailment van stroom productie door huizen en bedrijven aan of uit zetten. Zet je hem aan, dan wordt alle energie productie die niet in de gecontracteerde teruglevercapaciteit past gecurtailt (oftewel: 'weggegooit')"; public String gridBattery_default = "Met deze slider kun je instellen hoe groot de buurtbatterij is. Deze batterij probeert het profiel van het gehele model vlak te trekken."; public String gridBattery_residential = "Met deze slider kun je instellen hoe groot de buurtbatterijen zijn. Stel je hem bijvoorbeeld in op 1 MWh, dan heeft elke trafo in het model een buurtbatterij van 1 MWh. Deze batterijen proberen vervolgens het profiel van hun eigen trafo vlak te trekken."; @@ -65,6 +59,7 @@ public class J_InfoText implements Serializable { public String companyCustomHeating = "Deze slider is puur visueel. In deze slider is weergegeven welk aandeel van de bedrijven verwarmen met een Custom warmte systeem. Een Custom systeem betekent hier een systeem dat bestaat uit meerdere verschillende warmte producerende apparaten of andere complexe situaties. Omdat deze systemen zo complex zijn, zijn ze niet simpelweg te vervangen door een enkel ander systeem. Daarom kan je deze slider ook niet aanpassen."; //// Mobility Tab + //DEFAULT public String mobilityDemandReduction = "Met deze slider kun je de hoeveelheid transportbewegingen van wagens aanpassen. Een positief percentage betekent dat ze minder kilometers per jaar rijden dan in het basis scenario. Een negatief percentage betekent dat ze meer kilometers gaan rijden. Deze slider verandert niet het aantal voertuigen."; public String chargingBehaviour = "Hier kun je verschillende laadstrategieën selecteren. Standaard wordt er dom geladen, dat wil zeggen dat de wagen op moment van aankomst inprikt en op vol vermogen laad tot de batterij vol is. Bij Max Spread kijkt de wagen op moment van aankomst wanneer hij weer moet vertrekken en verdeelt hij zijn laadbehoefte gelijk over deze tijd. Bij Max Power probeert hij te laden op het maximale vermogen wat nog binnen de aansluiting past, echter als de accu daardoor niet vol zou zijn voordat de wagen vertrekt wordt aan het einde alsnog op vol vermogen geladen. Hierdoor kan de aansluitingscapaciteit alsnog worden overschreden."; public String mobilitySmartCharging = "Standaard laden autos gewoon met een standaard vermogen. Vink je deze knop aan, dan gaan de autos slim laden: Voertuigen laden op met een zo vlak mogelijk profiel, waardoor ze vervolgens wel hun geplande rit kunnen maken, zonder voor grote pieken te zorgen."; @@ -79,7 +74,20 @@ public class J_InfoText implements Serializable { // cars public String electricCars = "Met deze slider kun je instellen welk aandeel van alle auto's elektrisch is. Als je deze slider verhoogt dan worden auto's die rijden op fossiele brandstof vervangen door elektrische auto's. Als je deze slider verlaagt dan worden elektrische auto's omgezet naar auto's die rijden op fossiele brandstof. De minimum waarde van de slider is gezet op de hoveelheid die al in het huidige scenario aanwezig is."; public String fossilCars = "Met deze slider kun je instellen welk aandeel van alle auto's op fossiele brandstof rijdt. Als je deze slider verhoogt dan worden elektrische auto's vervangen door auto's die rijden op fossiele brandstof. Als je deze slider verlaagt dan worden auto's die rijden op fossiele brandstof omgezet naar elektrische auto's. De minimum waarde van de slider is gezet op de hoveelheid die al in het huidige scenario aanwezig is."; + + //RESIDENTIAL + public String householdPublicChargersBehaviour = "Met deze knoppen kun je instellen wat het laadgedrag is van de publieke laadpalen. Met V1G wordt uitgesteld laden of 'slim' laden bedoeld. Met V2G kunnen de voertuigen ook terugleveren aan het net."; + public String householdPublicParkingV1G = "Met deze slider kun je instellen welk aandeel van de publieke laadpalen V1G ondersteunen."; + public String householdPublicParkingV2G = "Met deze slider kun je instellen welk aandeel van de publieke laadpalen V2G ondersteunen."; + public String householdPrivateParking = "Met deze slider kun je instellen welk aandeel huizen met een eigen oprit een EV heeft."; + public String householdPublicParking = "Met deze slider kun je instellen hoe veel publieke laadpalen er in het model zitten. Door meer publieke laadpalen toe te voegen verdwijnen er auto's die op fossiele brandstoffen rijden."; + public String EVsThatSupportV2G = "Met deze slider kun je instellen welk aandeel van EVs de mogelijkheid hebben om te ontladen (V2G)"; + public String activateV2GPrivatePublicChargers = "Met deze knop kun je V2G activeren voor publieke laadpalen. Hierbij zullen alle laadpalen die het ondersteunen V2G toepassen wanneer het volgens de geselecteerde laadstrategie gewenst is."; + public String activateV2GPrivateParkedCars = "Met deze knop kun je V2G activeren voor privé geparkeerde EVs . Hierbij zullen alle EVs die het ondersteunen V2G toepassen wanneer het volgens de geselecteerde laadstrategie gewenst is."; + public String chargingStrategyPublicChargers = "Met dit drop down menu kun je uitkiezen welke laad strategie je wilt toepassen op alle actieve publieke laadpalen."; + public String chargingAttitudePrivateParkedCars = "Met dit drop down menu kun je uitkiezen welke laad strategie je wilt toepassen op alle prive geladen EVs"; + //// E-Hub Tab //TODO