diff --git a/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb b/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb index 05de179604b4cb0e122f3ff5c4b555e4e400e5e5..ed079df9a565dc1a50cbf9fe6156e95d242ef7f0 100644 --- a/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb +++ b/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb @@ -113,7 +113,7 @@ Namespace IntegrationTests For i As Integer = 0 To 9 aux.ResetCalculations() Assert.AreEqual(6087.0317, aux.AuxiliaryPowerAtCrankWatts().Value(), 0.001) - aux.CycleStep(1.SI(Of Second), 1.0) + aux.CycleStep(1.SI(Of Second)) 'Console.WriteLine("{0}", aux.AA_TotalCycleFC_Grams) Next @@ -128,7 +128,7 @@ Namespace IntegrationTests For i As Integer = 0 To 9 aux.ResetCalculations() Assert.AreEqual(8954.1435, aux.AuxiliaryPowerAtCrankWatts().Value(), 0.001) - aux.CycleStep(1.SI(Of Second), 1.0) + aux.CycleStep(1.SI(Of Second)) 'Console.WriteLine("{0}", aux.AA_TotalCycleFC_Grams) Next @@ -143,7 +143,7 @@ Namespace IntegrationTests For i As Integer = 0 To 9 aux.ResetCalculations() Assert.AreEqual(6087.0317, aux.AuxiliaryPowerAtCrankWatts().Value(), 0.001) - aux.CycleStep(1.SI(Of Second), 1.0) + aux.CycleStep(1.SI(Of Second)) 'Console.WriteLine("{0}", aux.AA_TotalCycleFC_Grams) Next diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs index 9a10e768bfe0a741da1b1d0f64122a31e8dbab73..5464820523b5acb4e5e6828fc13e66d02596fc8d 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/BusAuxiliaries.cs @@ -349,7 +349,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries - public virtual void CycleStep(Second seconds, double essFactor) + public virtual void CycleStep(Second seconds) { try { //M9.CycleStep(seconds); diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IBusAuxiliaries.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IBusAuxiliaries.cs index 380797ff95bafe72f5216ac04bbe8abfb804f68a..92ba48b352ed929c869296745660de18b897c4ee 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IBusAuxiliaries.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IBusAuxiliaries.cs @@ -134,10 +134,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces /// Cycle Step - Used to calculate fuelling /// </summary> /// <param name="seconds"></param> - /// <param name="essFactor"></param> /// <returns></returns> /// <remarks></remarks> - void CycleStep(Second seconds, double essFactor); + void CycleStep(Second seconds); ///// <summary> ///// Initialises AAUX Environment ( Begin Processs ) diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs index ed2d5bed7e495e86f31333f383fe463701fcb58f..9f96c6524e684c9a3b4ec5ab29f291ffe24f92ce 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs @@ -52,7 +52,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl protected IBusAuxiliaries Auxiliaries; - private double EngineStopStartUtilityFactor; private bool SmartElectricSystem; private IAuxiliaryConfig AuxCfg; @@ -62,7 +61,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl IVehicleContainer container, IAuxiliaryConfig auxiliaryConfig, IAuxPort additionalAux = null) : base(container) { container.AddComponent(this); - EngineStopStartUtilityFactor = 1; // container.RunData?.DriverData?.EngineStopStart?.UtilityFactorStandstill ?? double.NaN; CurrentState = new BusAuxState(); PreviousState = new BusAuxState { AngularSpeed = container.EngineInfo.EngineIdleSpeed }; @@ -216,8 +214,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl absTime, dt, 0.SI<NewtonMeter>(), DataBus.EngineInfo.EngineIdleSpeed, true) - Auxiliaries.ElectricPowerDemandMech; //AdditionalAux = conventionalAux; - CurrentState.PowerDemand = ((AdditionalAux?.PowerDemandESSEngineOn(absTime, dt, DataBus.EngineInfo.EngineIdleSpeed) ?? 0.SI<Watt>()) + - busAuxPowerDemand) * (1 - EngineStopStartUtilityFactor); + CurrentState.PowerDemand = 0.SI<Watt>(); //CurrentState.ESPowerGeneratedICE_On = Auxiliaries.ElectricPowerGenerated; //CurrentState.ESPowerMech = Auxiliaries.ElectricPowerDemandMech; // @@ -227,7 +224,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl // absTime, dt, 0.SI<NewtonMeter>(), DataBus.EngineInfo.EngineIdleSpeed); //AdditionalAux = conventionalAux; - return EngineStopStartUtilityFactor * (busAuxPowerDemand - Auxiliaries.PSPowerDemandAirGenerated + (AdditionalAux?.PowerDemandESSEngineOff(absTime, dt) ?? 0.SI<Watt>())); + return (busAuxPowerDemand - Auxiliaries.PSPowerDemandAirGenerated + (AdditionalAux?.PowerDemandESSEngineOff(absTime, dt) ?? 0.SI<Watt>())); } @@ -238,7 +235,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl var essUtilityFactor = 1.0; if (!DataBus.EngineCtl.CombustionEngineOn) { - essUtilityFactor = 1 - EngineStopStartUtilityFactor; + essUtilityFactor = 0.0; } var signals = Auxiliaries.Signals; @@ -248,7 +245,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, DataBus.EngineCtl.CombustionEngineOn ? 1.0 : EngineStopStartUtilityFactor); + Auxiliaries.CycleStep(CurrentState.dt); //var newSOC = Auxiliaries.BatterySOC; //CurrentState.TotalFuelConsumption = Auxiliaries.TotalFuel; @@ -356,7 +353,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl var maxChg = ElectricStorage.MaxChargeEnergy(); var maxDischg = ElectricStorage.MaxDischargeEnergy(); - var essFactor = DataBus.EngineCtl.CombustionEngineOn ? 0.0 : EngineStopStartUtilityFactor; + var essFactor = DataBus.EngineCtl.CombustionEngineOn ? 0.0 : 1.0; var elPwrGen = Auxiliaries.ElectricPowerGenerated; var elPwrConsumed = Auxiliaries.ElectricPowerConsumerSum; diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs index 662712a887f29562e50f6022bfa51100ae871a5a..566229bf382b678d3536a78c4dfd8d52c20f27ac 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs @@ -13,7 +13,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl { public class StopStartCombustionEngine : CombustionEngine { - protected double EngineStopStartUtilityFactor; private WattSecond EngineStartEnergy; public StopStartCombustionEngine( @@ -21,13 +20,12 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl container, modelData, pt1Disabled) { CombustionEngineOn = true; - EngineStopStartUtilityFactor = 1; // container.RunData.DriverData.EngineStopStart.UtilityFactorStandstill; var engineRampUpEnergy = Formulas.InertiaPower(modelData.IdleSpeed, 0.RPMtoRad(), modelData.Inertia, modelData.EngineStartTime) * modelData.EngineStartTime; var engineDragEnergy = VectoMath.Abs(modelData.FullLoadCurves[0].DragLoadStationaryTorque(modelData.IdleSpeed)) * modelData.IdleSpeed / 2.0 * modelData.EngineStartTime; - EngineStartEnergy = (engineRampUpEnergy + engineDragEnergy) * EngineStopStartUtilityFactor / DeclarationData.AlternaterEfficiency / DeclarationData.AlternaterEfficiency; + EngineStartEnergy = (engineRampUpEnergy + engineDragEnergy) / DeclarationData.AlternaterEfficiency / DeclarationData.AlternaterEfficiency; } public override bool CombustionEngineOn { get; set; } @@ -151,7 +149,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl avgRampUpSpeed * 0.5.SI<Second>(); container[ModalResultField.P_ice_start] = - (EngineStartEnergy + (engineRampUpEnergy + engineDragEnergy) * EngineStopStartUtilityFactor) / + (EngineStartEnergy + (engineRampUpEnergy + engineDragEnergy)) / CurrentState.dt; } else { container[ModalResultField.P_ice_start] = 0.SI<Watt>(); @@ -207,10 +205,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl //fcAAUX = advancedAux.AAuxFuelConsumption; } - - var result = fuel.ConsumptionMap.GetFuelConsumption(auxDemandTq, ModelData.IdleSpeed); - - var fcESS = result.Value * (1 - EngineStopStartUtilityFactor) * fuel.FuelData.HeatingValueCorrection * WHTCCorrectionFactor(fuel.FuelData); + var fcESS = fcWHTC; var fcFinal = fcESS; container[ModalResultField.FCMap, fuel.FuelData] = fc; @@ -224,18 +219,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl protected virtual void WriteWHRPowerEngineOff(IModalDataContainer container, PerSecond engineSpeed, NewtonMeter engineTorque) { - var pWHRelMap = 0.SI<Watt>(); - var pWHRelCorr = 0.SI<Watt>(); - var pWHRmechMap = 0.SI<Watt>(); - var pWHRmechCorr = 0.SI<Watt>(); - GetWHRPower(ModelData.ElectricalWHR, engineSpeed, engineTorque, ref pWHRelMap, ref pWHRelCorr); - GetWHRPower(ModelData.MechanicalWHR, engineSpeed, engineTorque, ref pWHRmechMap, ref pWHRmechCorr); - - container[ModalResultField.P_WHR_el_map] = (1 - EngineStopStartUtilityFactor) * pWHRelMap; - container[ModalResultField.P_WHR_el_corr] = (1 - EngineStopStartUtilityFactor) * pWHRelCorr; - - container[ModalResultField.P_WHR_mech_map] = (1 - EngineStopStartUtilityFactor) * pWHRmechMap; - container[ModalResultField.P_WHR_mech_corr] = (1 - EngineStopStartUtilityFactor) * pWHRmechCorr; + container[ModalResultField.P_WHR_el_map] = 0.SI<Watt>(); + container[ModalResultField.P_WHR_el_corr] = 0.SI<Watt>(); + + container[ModalResultField.P_WHR_mech_map] = 0.SI<Watt>(); + container[ModalResultField.P_WHR_mech_corr] = 0.SI<Watt>(); } }