diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Auxiliaries/ElectricAuxiliaries.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Auxiliaries/ElectricAuxiliaries.cs index 9a21855aba8bec7afd7525b4e8ebf67317faf1c7..0e54571b3938e6b475007b843aa58e925a6c00a3 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Auxiliaries/ElectricAuxiliaries.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Auxiliaries/ElectricAuxiliaries.cs @@ -79,11 +79,28 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl { var auxiliarieIgnoredDuringVehicleStop = new[] { - Constants.Auxiliaries.IDs.Fan, + Constants.Auxiliaries.IDs.SteeringPump, + }; + var auxiliariesIgnoredWhenICEIsOff = new[] { + Constants.Auxiliaries.IDs.Fan }; var sum = 0.SI<Watt>(); - - foreach (var aux in _auxData) { + + var consideredAuxiliaries = _auxData.AsEnumerable(); + if (DataBus.VehicleInfo.VehicleStopped) { + consideredAuxiliaries = consideredAuxiliaries?.Where(aux => !auxiliarieIgnoredDuringVehicleStop.Contains(aux.Key)); + } + + if (DataBus.PowertrainInfo.HasCombustionEngine && !DataBus.EngineInfo.EngineOn) { + consideredAuxiliaries = consideredAuxiliaries?.Where(aux => !auxiliarieIgnoredDuringVehicleStop.Contains(aux.Key)); + } + + if (consideredAuxiliaries == null) { + return sum; + } + + foreach (var aux in consideredAuxiliaries) { + var powerDemand = 0.SI<Watt>(); if (DataBus.VehicleInfo.VehicleStopped) {