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
10 changes: 3 additions & 7 deletions _alp/Agents/UI_company/Code/Functions.java
Original file line number Diff line number Diff line change
Expand Up @@ -687,9 +687,7 @@
}

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

J_EAEV electricVehicle = new J_EAEV(parentGC, capacityElectricity_kW, storageCapacity_kWh, stateOfCharge_fr, timestep_h, energyConsumption_kWhpkm, vehicleScaling, vehicleType, tripTracker, available);


if (isAdditionalVehicle){
Expand Down Expand Up @@ -717,8 +715,7 @@ else if (vehicleType == OL_EnergyAssetType.DIESEL_VEHICLE || vehicleType == OL_E
}

//Create Diesel vehicle and connect to GC and selected trip tracker
J_EADieselVehicle dieselVehicle = new J_EADieselVehicle(parentGC, energyConsumption_kWhpkm, timestep_h, vehicleScaling, vehicleType, tripTracker);
dieselVehicle.available = available;
J_EADieselVehicle dieselVehicle = new J_EADieselVehicle(parentGC, energyConsumption_kWhpkm, timestep_h, vehicleScaling, vehicleType, tripTracker, available);



Expand All @@ -745,8 +742,7 @@ else if (vehicleType == OL_EnergyAssetType.DIESEL_VEHICLE || vehicleType == OL_E
}

//Create Hydrogen vehicle and connect to GC and selected trip tracker
J_EAHydrogenVehicle hydrogenVehicle = new J_EAHydrogenVehicle(parentGC, energyConsumption_kWhpkm, timestep_h, vehicleScaling, vehicleType, tripTracker);
hydrogenVehicle.available = available;
J_EAHydrogenVehicle hydrogenVehicle = new J_EAHydrogenVehicle(parentGC, energyConsumption_kWhpkm, timestep_h, vehicleScaling, vehicleType, tripTracker, available);



Expand Down
74 changes: 34 additions & 40 deletions _alp/Agents/Zero_Interface/Code/Functions.java
Original file line number Diff line number Diff line change
Expand Up @@ -2011,55 +2011,49 @@ Pair<ShapeEmbeddedObjectPresentation, Point> f_getPresentationPositionIteration(

double f_initialChargerOrder()
{/*ALCODESTART::1750247111856*/
c_orderedV1GChargers = new ArrayList<J_EAChargePoint>();
c_orderedV2GChargers = new ArrayList<J_EAChargePoint>();
c_orderedPublicChargers = new ArrayList<GCPublicCharger>();
c_orderedV1GChargers = new ArrayList<>();
c_orderedV2GChargers = new ArrayList<>();
c_orderedPublicChargers = new ArrayList<>();

List<J_EAChargePoint> c_inactiveV1GChargers = new ArrayList<J_EAChargePoint>();
List<J_EAChargePoint> c_inactiveV2GChargers = new ArrayList<J_EAChargePoint>();
List<GCPublicCharger> c_inactiveV1GChargers = new ArrayList<>();
List<GCPublicCharger> c_inactiveV2GChargers = new ArrayList<>();

for (GridConnection gc : energyModel.f_getActiveGridConnections()) {
for (J_EAChargePoint charger : gc.c_chargers) {
if (charger.getV1GCapable()) {
c_orderedV1GChargers.add(0, charger);
}
else {
c_orderedV1GChargers.add(charger);
}
if (charger.getV2GCapable()) {
c_orderedV2GChargers.add(0, charger);
}
else {
c_orderedV2GChargers.add(charger);
}
for (GCPublicCharger gc : energyModel.PublicChargers) {
if(gc.f_getChargingManagement() == null){
throw new RuntimeException("Public charger found without chargingmanagement!");
}
}

for (GridConnection gc : energyModel.f_getPausedGridConnections()) {
for (J_EAChargePoint charger : gc.c_chargers) {
if (charger.getV1GCapable()) {
c_inactiveV1GChargers.add(0, charger);
}
else {
c_inactiveV1GChargers.add(charger);
}
if (charger.getV2GCapable()) {
c_inactiveV2GChargers.add(0, charger);
}
else {
c_inactiveV2GChargers.add(charger);
}
J_ChargePoint chargePoint = gc.f_getChargePoint();

//Get the correct list the public charger should be added to
List<GCPublicCharger> collectionPointerV1GChargers = c_orderedV1GChargers;
List<GCPublicCharger> collectionPointerV2GChargers = c_orderedV2GChargers;
if(!gc.v_isActive){
collectionPointerV1GChargers = c_inactiveV1GChargers;
collectionPointerV2GChargers = c_inactiveV2GChargers;
}

//Assign the gc to a certain location in the ordered list based on the capabilities
if (chargePoint.getV1GCapable()) {
collectionPointerV1GChargers.add(0, gc);
}
else {
collectionPointerV1GChargers.add(gc);
}
if (chargePoint.getV2GCapable()) {
collectionPointerV2GChargers.add(0, gc);
}
else {
collectionPointerV2GChargers.add(gc);
}

if ( !gc.p_isChargingCentre ) { //Should maybe be a check for charger capabilities as well?
c_orderedPublicChargers.add(gc);
}
}

c_orderedV1GChargers.addAll( c_inactiveV1GChargers );
c_orderedV2GChargers.addAll( c_inactiveV2GChargers );

for (GCPublicCharger gc : energyModel.PublicChargers) {
if ( !gc.p_isChargingCentre ) {
c_orderedPublicChargers.add(gc);
}
}

//Collections.shuffle(c_orderedPublicChargers);
/*ALCODEEND*/}
Expand Down
4 changes: 2 additions & 2 deletions _alp/Agents/Zero_Interface/Variables.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3355,7 +3355,7 @@ OL_FilterOptionsGC.MANUAL_SELECTION, "Handmatige selectie"
<ShowLabel>true</ShowLabel>
<Properties SaveInSnapshot="true" AccessType="public" StaticVariable="false">
<CollectionClass>ArrayList</CollectionClass>
<ElementClass>J_EAChargePoint</ElementClass>
<ElementClass>GCPublicCharger</ElementClass>
<ValueElementClass>String</ValueElementClass>
</Properties>
</Variable>
Expand Down Expand Up @@ -3391,7 +3391,7 @@ OL_FilterOptionsGC.MANUAL_SELECTION, "Handmatige selectie"
<ShowLabel>true</ShowLabel>
<Properties SaveInSnapshot="true" AccessType="public" StaticVariable="false">
<CollectionClass>ArrayList</CollectionClass>
<ElementClass>J_EAChargePoint</ElementClass>
<ElementClass>GCPublicCharger</ElementClass>
<ValueElementClass>String</ValueElementClass>
</Properties>
</Variable>
Expand Down
32 changes: 18 additions & 14 deletions _alp/Agents/Zero_Loader/Code/Functions.java
Original file line number Diff line number Diff line change
Expand Up @@ -1661,15 +1661,11 @@ GISRegion f_createGISRegionChargingStation(double lat,double lon)
chargingStation.v_liveConnectionMetaData.contractedDeliveryCapacityKnown = true;
}

//chargingStation.set_p_heatingType( OL_GridConnectionHeatingType.NONE );

//Set parent node
chargingStation.p_parentNodeElectricID = dataChargingStation.gridnode_id();

//Is active at start?
chargingStation.v_isActive = dataChargingStation.initially_active();

//chargingStation.set_p_chargingAttitudeVehicles(OL_ChargingAttitude.SIMPLE);

//Create and connect owner
ConnectionOwner owner = energyModel.add_pop_connectionOwners();
Expand Down Expand Up @@ -1705,10 +1701,13 @@ GISRegion f_createGISRegionChargingStation(double lat,double lon)

//Create vehicles that charge at the charging centre
if(chargingStation.p_chargingVehicleType == OL_EnergyAssetType.CHARGER){
List<J_ChargingSession> chargerProfile = f_getChargerProfile();
List<J_ChargingSessionData> chargerProfile = f_getChargerProfile();
boolean V1GCapable = randomTrue(avgc_data.p_v1gProbability);
boolean V2GCapable = randomTrue(avgc_data.p_v2gProbability);
new J_EAChargePoint(chargingStation, chargingStation.p_maxChargingPower_kW, energyModel.p_timeStep_h, chargerProfile, V1GCapable, V2GCapable, 2);
chargingStation.f_setChargePoint( new J_ChargePoint(V1GCapable, V2GCapable));
chargingStation.f_setChargingManagement(new J_ChargingManagementSimple(chargingStation));
new J_EAChargingSession(chargingStation, chargerProfile, 0);
new J_EAChargingSession(chargingStation, chargerProfile, 1);
}
else{
for(int k = 0; k < chargingStation.p_nbOfChargers*avgc_data.p_avgVehiclesPerChargePoint; k++ ){
Expand Down Expand Up @@ -1753,10 +1752,13 @@ GISRegion f_createGISRegionChargingStation(double lat,double lon)

//Create vehicles that charge at the charging station
if(chargingStation.p_chargingVehicleType == OL_EnergyAssetType.CHARGER){
List<J_ChargingSession> chargerProfile = f_getChargerProfile();
List<J_ChargingSessionData> chargerProfile = f_getChargerProfile();
boolean V1GCapable = true; //randomTrue(avgc_data.p_v1gProbability);
boolean V2GCapable = true; //randomTrue(avgc_data.p_v2gProbability);
new J_EAChargePoint(chargingStation, chargingStation.p_maxChargingPower_kW, energyModel.p_timeStep_h, chargerProfile, V1GCapable, V2GCapable, 2);
chargingStation.f_setChargePoint(new J_ChargePoint(V1GCapable, V2GCapable));
chargingStation.f_setChargingManagement(new J_ChargingManagementSimple(chargingStation));
new J_EAChargingSession(chargingStation, chargerProfile, 0);
new J_EAChargingSession(chargingStation, chargerProfile, 1);
}
else{
for(int k = 0; k < avgc_data.p_avgVehiclesPerChargePoint; k++ ){
Expand Down Expand Up @@ -3208,7 +3210,7 @@ else if(project_data.gridnode_profile_timestep_hr() < energyModel.p_timeStep_h){
c_gridNodeIDsWithProfiles.add(gridnode.p_gridNodeID);
/*ALCODEEND*/}

J_ChargingSession f_createChargingSession(String chargingSessionData)
J_ChargingSessionData f_createChargingSession(String chargingSessionData)
{/*ALCODESTART::1749648772203*/
String[] chargingSessionInfo = chargingSessionData.split("/");

Expand All @@ -3218,18 +3220,20 @@ J_ChargingSession f_createChargingSession(String chargingSessionData)
double batteryCap_kWh = Double.parseDouble(chargingSessionInfo[3]);
double chargingPower_kW = Double.parseDouble(chargingSessionInfo[5]);
int socket = Integer.parseInt(chargingSessionInfo[6]);
boolean isV2GCapable = randomTrue(avgc_data.p_v2gProbability);
double timeStep_h = 0.25;

//Cap charging demand to what is actual possible according to chargetime interval * charge power
chargingDemand_kWh = min(chargingPower_kW * (endIndex - startIndex) * 0.25, chargingDemand_kWh);

return new J_ChargingSession(startIndex, endIndex, chargingDemand_kWh, batteryCap_kWh, chargingPower_kW, socket, 0.25);
return new J_ChargingSessionData(startIndex, endIndex, chargingDemand_kWh, batteryCap_kWh, chargingPower_kW, socket, isV2GCapable, timeStep_h);
/*ALCODEEND*/}

List<J_ChargingSession> f_createNewChargerProfile(ChargerProfile_data chargerProfileData)
List<J_ChargingSessionData> f_createNewChargerProfile(ChargerProfile_data chargerProfileData)
{/*ALCODESTART::1749649169603*/
// example: 2/54/50.3/72.1/21.8/10.8/2
List<String> chargerProfileDataValues = chargerProfileData.valuesList();
List<J_ChargingSession> chargerProfile = new ArrayList<J_ChargingSession>();
List<J_ChargingSessionData> chargerProfile = new ArrayList<J_ChargingSessionData>();

for(int i = 0; i < chargerProfileDataValues.size(); i++){
chargerProfile.add(f_createChargingSession(chargerProfileDataValues.get(i)));
Expand All @@ -3238,9 +3242,9 @@ List<J_ChargingSession> f_createNewChargerProfile(ChargerProfile_data chargerPr
return chargerProfile;
/*ALCODEEND*/}

List<J_ChargingSession> f_getChargerProfile()
List<J_ChargingSessionData> f_getChargerProfile()
{/*ALCODESTART::1749649390125*/
List<J_ChargingSession> chargerProfile;
List<J_ChargingSessionData> chargerProfile;
int randomIndex;

if(c_chargerProfiles_data.size()>0){
Expand Down
6 changes: 3 additions & 3 deletions _alp/Agents/Zero_Loader/Code/Functions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1312,7 +1312,7 @@ verbruik = levering + productie - teruglevering]]></Description>
</Function>
<Function AccessType="protected" StaticFunction="false">
<ReturnModificator>RETURNS_VALUE</ReturnModificator>
<ReturnType>J_ChargingSession</ReturnType>
<ReturnType>J_ChargingSessionData</ReturnType>
<Id>1749648772203</Id>
<Name><![CDATA[f_createChargingSession]]></Name>
<X>490</X>
Expand All @@ -1332,7 +1332,7 @@ verbruik = levering + productie - teruglevering]]></Description>
</Function>
<Function AccessType="protected" StaticFunction="false">
<ReturnModificator>RETURNS_VALUE</ReturnModificator>
<ReturnType>List&lt;J_ChargingSession&gt; </ReturnType>
<ReturnType>List&lt;J_ChargingSessionData&gt; </ReturnType>
<Id>1749649169603</Id>
<Name><![CDATA[f_createNewChargerProfile]]></Name>
<X>470</X>
Expand All @@ -1352,7 +1352,7 @@ verbruik = levering + productie - teruglevering]]></Description>
</Function>
<Function AccessType="protected" StaticFunction="false">
<ReturnModificator>RETURNS_VALUE</ReturnModificator>
<ReturnType>List&lt;J_ChargingSession&gt; </ReturnType>
<ReturnType>List&lt;J_ChargingSessionData&gt; </ReturnType>
<Id>1749649390125</Id>
<Name><![CDATA[f_getChargerProfile]]></Name>
<X>450</X>
Expand Down
6 changes: 6 additions & 0 deletions _alp/Agents/Zero_Loader/EmbeddedObjects.xml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,12 @@
<Parameter>
<Name><![CDATA[b_isDeserialised]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[p_timeVariables]]></Name>
</Parameter>
<Parameter>
<Name><![CDATA[p_timeParameters]]></Name>
</Parameter>
</Parameters>
<ReplicationFlag>false</ReplicationFlag>
<Replication Class="CodeValue">
Expand Down
Loading