From e6e4a97ccb9d6d20d7f61fa3081404f294472aa1 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Wed, 27 May 2020 17:04:34 +0200 Subject: [PATCH] busaux: fix writing generated electrical power in case of smart electrics --- .../Impl/BusAuxiliariesAdapter.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs index 6ccde68520..5e7da76f54 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs @@ -184,7 +184,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl // cycleStep has to be called here and not in DoCommit, write is called before Commit! var oldSOC = Auxiliaries.BatterySOC; - Auxiliaries.CycleStep(CurrentState.dt, EngineStopStartUtilityFactor); + Auxiliaries.CycleStep(CurrentState.dt, DataBus.IgnitionOn ? 1.0 : EngineStopStartUtilityFactor); var newSOC = Auxiliaries.BatterySOC; //CurrentState.TotalFuelConsumption = Auxiliaries.TotalFuel; @@ -197,15 +197,15 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl container[ModalResultField.P_busAux_ES_generated] = essUtilityFactor * Auxiliaries.ElectricPowerGenerated; if (SmartElectricSystem) { - container[ModalResultField.BatterySOC] = Auxiliaries.BatterySOC * 100.0; - + var batteryPwr = (oldSOC - newSOC) * AuxCfg.ElectricalUserInputsConfig.ElectricStorageCapacity / dt; - container[ModalResultField.P_busAux_ES_generated] = essUtilityFactor * (DataBus.VehicleStopped ? Auxiliaries.ElectricPowerConsumerSum : Auxiliaries.ElectricPowerGenerated); - container[ModalResultField.P_busAux_ES_sum_mech] = essUtilityFactor * Auxiliaries.ElectricPowerConsumerSum / + container[ModalResultField.BatterySOC] = Auxiliaries.BatterySOC * 100.0; + + container[ModalResultField.P_busAux_ES_generated] = essUtilityFactor * (DataBus.VehicleStopped && !DataBus.IgnitionOn ? Auxiliaries.ElectricPowerConsumerSum : Auxiliaries.ElectricPowerGenerated); + container[ModalResultField.P_busAux_ES_sum_mech] = essUtilityFactor * (Auxiliaries.ElectricPowerConsumerSum - batteryPwr) / AuxCfg.ElectricalUserInputsConfig.AlternatorGearEfficiency / AuxCfg.ElectricalUserInputsConfig.AlternatorMap.GetEfficiency(0.RPMtoRad(), 0.SI<Ampere>()); - var batteryPwr = (oldSOC - newSOC) * AuxCfg.ElectricalUserInputsConfig.ElectricStorageCapacity / dt; if (batteryPwr.IsSmaller(Auxiliaries.ElectricPowerConsumerSum * EngineStopStartUtilityFactor)) { // add to P_aux_ES } -- GitLab