diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusGeneric.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusGeneric.cs index 360c3e475149a03c7a6a26ca663f3ccd039f576e..5d25d746ac765e7397d8bd203f53f972ce9fbf5e 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusGeneric.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusGeneric.cs @@ -39,9 +39,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter // only powertrain components are different - public CombustionEngineData CreateEngineData(IVehicleDeclarationInputData primaryVehicle, int modeIdx) + public CombustionEngineData CreateEngineData(IVehicleDeclarationInputData primaryVehicle, int modeIdx, Mission mission) { - return GenericBusEngineData.Instance.CreateGenericBusEngineData(primaryVehicle, modeIdx); + return GenericBusEngineData.Instance.CreateGenericBusEngineData(primaryVehicle, modeIdx, mission); } #region Overrides of DeclarationDataAdapterHeavyLorry diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs index 5beac423de03653ce8df0e0c6cb9fa0527343357..e17f69498d8f92a1caca4caca68153c19bedc6c1 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs @@ -113,7 +113,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl _segmentCompletedBus.Missions.First().Loadings.First()); tmpVehicleData.VehicleCategory = VehicleCategory.GenericBusVehicle; - var combustionEngineData = DataAdapterGeneric.CreateEngineData(PrimaryVehicle, 0); + var combustionEngineData = DataAdapterGeneric.CreateEngineData(PrimaryVehicle, 0, _segmentCompletedBus.Missions.First()); _axlegearData = DataAdapterGeneric.CreateAxleGearData(PrimaryVehicle.Components.AxleGearInputData); @@ -253,7 +253,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl VehicleData = DataAdapterSpecific.CreateVehicleData(PrimaryVehicle, CompletedVehicle, _segmentCompletedBus, mission, loading), AirdragData = DataAdapterSpecific.CreateAirdragData(CompletedVehicle, mission), - EngineData = DataAdapterSpecific.CreateEngineData(PrimaryVehicle, modeIdx), + EngineData = DataAdapterSpecific.CreateEngineData(PrimaryVehicle, modeIdx, mission), GearboxData = _gearboxData, AxleGearData = _axlegearData, AngledriveData = _angledriveData, @@ -298,7 +298,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl Loading = loading.Key, VehicleData = DataAdapterGeneric.CreateVehicleData(PrimaryVehicle, primarySegment, mission, loading), AirdragData = DataAdapterGeneric.CreateAirdragData(null, mission, new Segment()), - EngineData = DataAdapterGeneric.CreateEngineData(PrimaryVehicle, modeIdx), + EngineData = DataAdapterGeneric.CreateEngineData(PrimaryVehicle, modeIdx, mission), GearboxData = _gearboxData, AxleGearData = _axlegearData, AngledriveData = _angledriveData, diff --git a/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs b/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs index fe5ee4709897c4c3faefb63a1957e7367844015e..903d2f097b2da186ce1c7aa0290e11ac98f8ef13 100644 --- a/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs +++ b/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs @@ -43,7 +43,7 @@ namespace TUGraz.VectoCore.Models.Declaration } - public CombustionEngineData CreateGenericBusEngineData(IVehicleDeclarationInputData primaryVehicle, int modeIdx) + public CombustionEngineData CreateGenericBusEngineData(IVehicleDeclarationInputData primaryVehicle, int modeIdx, Mission mission) { if (modeIdx >= primaryVehicle.Components.EngineInputData.EngineModes.Count) { throw new VectoException( @@ -80,7 +80,7 @@ namespace TUGraz.VectoCore.Models.Declaration engine.FullLoadCurves = fullLoadCurves; - var fuel = GetCombustionEngineFuelData(primaryVehicle.Components.EngineInputData.EngineModes[modeIdx], fullLoadCurves[0]); + var fuel = GetCombustionEngineFuelData(primaryVehicle.Components.EngineInputData.EngineModes[modeIdx], fullLoadCurves[0], mission); @@ -126,8 +126,7 @@ namespace TUGraz.VectoCore.Models.Declaration return UseDieselFuel(engineMode) ? DieselCIFactors : PIFactors; } - private CombustionEngineFuelData GetCombustionEngineFuelData(IEngineModeDeclarationInputData engineMode, - EngineFullLoadCurve fullLoadCurve) + private CombustionEngineFuelData GetCombustionEngineFuelData(IEngineModeDeclarationInputData engineMode, EngineFullLoadCurve fullLoadCurve, Mission mission) { var ressourceId = GetEngineRessourceId(engineMode); @@ -171,7 +170,9 @@ namespace TUGraz.VectoCore.Models.Declaration ConsumptionMap = fcMap, FuelData = GetFuelData(engineMode) }; - + fuel.FuelConsumptionCorrectionFactor = DeclarationData.WHTCCorrection.Lookup( + mission.MissionType.GetNonEMSMissionType(), fuel.WHTCRural, fuel.WHTCUrban, + fuel.WHTCMotorway) * fuel.ColdHotCorrectionFactor * fuel.CorrectionFactorRegPer; return fuel; }