Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 0119329d authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

busaux: write battery soc only for vehicles with smart electrics

parent 946661df
No related branches found
No related tags found
No related merge requests found
......@@ -54,6 +54,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
protected IBusAuxiliaries Auxiliaries;
private double EngineStopStartUtilityFactor;
private bool SmartElectricSystem;
//private readonly FuelConsumptionAdapter _fcMapAdapter;
......@@ -76,6 +77,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
tmpAux.Signals.EngineIdleSpeed = container.EngineIdleSpeed;
tmpAux.Initialise(auxiliaryConfig);
SmartElectricSystem = auxiliaryConfig.ElectricalUserInputsConfig.SmartElectrical;
Auxiliaries = tmpAux;
}
......@@ -152,7 +155,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
container[ModalResultField.P_busAux_ES_sum_mech] = essUtilityFactor * Auxiliaries.ElectricPowerDemandMech;
container[ModalResultField.P_busAux_ES_generated] = essUtilityFactor * Auxiliaries.ElectricPowerGenerated;
container[ModalResultField.BatterySOC] = Auxiliaries.BatterySOC * 100.0;
if (SmartElectricSystem) {
container[ModalResultField.BatterySOC] = Auxiliaries.BatterySOC * 100.0;
}
container[ModalResultField.Nl_busAux_PS_consumer] = Auxiliaries.PSDemandConsumer;
container[ModalResultField.Nl_busAux_PS_generated] = essUtilityFactor * Auxiliaries.PSAirGenerated;
......
......@@ -375,8 +375,9 @@ namespace TUGraz.VectoCore.OutputData
workBusAuxPSCorr = (kAir * deltaAir).Cast<WattSecond>();
var workBusAuxES = modData.EnergyBusAuxESConsumed() - modData.EnergyBusAuxESGenerated();
var workBatterySOC = modData.DeltaSOCBusAuxBattery() *
runData.BusAuxiliaries.ElectricalUserInputsConfig.ElectricStorageCapacity;
var workBatterySOC = runData.BusAuxiliaries.ElectricalUserInputsConfig.SmartElectrical
? modData.DeltaSOCBusAuxBattery() * runData.BusAuxiliaries.ElectricalUserInputsConfig.ElectricStorageCapacity
: 0.SI<WattSecond>();
workBusAuxESMech = (workBusAuxES + workBatterySOC) /
runData.BusAuxiliaries.ElectricalUserInputsConfig.AlternatorMap.GetEfficiency(0.RPMtoRad(), 0.SI<Ampere>()) /
......@@ -667,8 +668,9 @@ namespace TUGraz.VectoCore.OutputData
row[Fields.E_BusAux_ES_generated] = modData.EnergyBusAuxESGenerated().ConvertToKiloWattHour();
row[Fields.E_BusAux_ES_consumed] = modData.EnergyBusAuxESConsumed().ConvertToKiloWattHour();
row[Fields.Delta_E_BusAux_Battery] =
(modData.DeltaSOCBusAuxBattery() * runData.BusAuxiliaries.ElectricalUserInputsConfig.ElectricStorageCapacity)
row[Fields.Delta_E_BusAux_Battery] = (runData.BusAuxiliaries.ElectricalUserInputsConfig.SmartElectrical
? modData.DeltaSOCBusAuxBattery() * runData.BusAuxiliaries.ElectricalUserInputsConfig.ElectricStorageCapacity
: 0.SI<WattSecond>())
.ConvertToKiloWattHour();
}
......@@ -1013,7 +1015,7 @@ namespace TUGraz.VectoCore.OutputData
public const string FC_BusAux_ES_CORR_H = "FC-BusAux_ES_Corr{0} [g/h]";
public const string FC_BusAux_ES_CORR_KM = "FC-BusAux_ES_Corr{0} [g/km]";
public const string FC_AUXHTR_H = "FC-BusAux_AuxHeater{0} [g/h]";
public const string FC_AUXHTR_KM = "FC-BusAux_AuxHeater{0} [k/km]";
public const string FC_AUXHTR_KM = "FC-BusAux_AuxHeater{0} [g/km]";
public const string FC_AUXHTR_H_CORR = "FC-BusAux_AuxHeater_Corr{0} [g/h]";
public const string FC_AUXHTR_KM_CORR = "FC-BusAux_AuxHeater_Corr{0} [g/km]";
......
......@@ -237,8 +237,9 @@ namespace TUGraz.VectoCore.OutputData.XML
var workBusAuxPSCorr = (kAir * deltaAir).Cast<WattSecond>();
var workBusAuxES = data.EnergyBusAuxESConsumed() - data.EnergyBusAuxESGenerated();
var workBatterySOC = data.DeltaSOCBusAuxBattery() *
runData.BusAuxiliaries.ElectricalUserInputsConfig.ElectricStorageCapacity;
var workBatterySOC = runData.BusAuxiliaries?.ElectricalUserInputsConfig.SmartElectrical ?? false
? data.DeltaSOCBusAuxBattery() * runData.BusAuxiliaries.ElectricalUserInputsConfig.ElectricStorageCapacity
: 0.SI<WattSecond>();
var workBusAuxESMech = (workBusAuxES + workBatterySOC) /
runData.BusAuxiliaries.ElectricalUserInputsConfig.AlternatorMap.GetEfficiency(0.RPMtoRad(), 0.SI<Ampere>()) /
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment