diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs index 2dfcb3c41026fde2dd1d45dafbe4e17c4182b421..ed6d927bb7989bc281705ad31a70f18eb47335dc 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/IDeclarationDataAdapter.cs @@ -106,6 +106,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter GearboxData gearboxData, CombustionEngineData engineData, IList<Tuple<PowertrainPosition, ElectricMotorData>> runDataElectricMachinesData, ArchitectureID architectureId); + + RetarderData CreateGenericRetarderData(IRetarderInputData retarderData, VectoRunData vectoRun); } public interface IGenericCompletedBusDeclarationDataAdapter : IDeclarationDataAdapter @@ -176,5 +178,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter SuperCapData runDataSuperCapData, Kilogram vehicleMass, OvcHevMode ovcMode, LoadingType loading, VehicleClass vehicleClass, MissionType missionType, TableData boostingLimitations, GearboxData gearboxData, CombustionEngineData engineData, IList<Tuple<PowertrainPosition, ElectricMotorData>> emData, ArchitectureID architectureId); - } + + RetarderData CreateGenericRetarderData(IRetarderInputData retarderData, VectoRunData vectoRun); + } } \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/PrimaryBusRunDataFactory/DeclarationModePrimaryBusRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/PrimaryBusRunDataFactory/DeclarationModePrimaryBusRunDataFactory.cs index 8f3548c6d3c0d540053e8d5106e3467ba14e8ab7..4217ca2a11547806d9ef920d318b9d2778849fa2 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/PrimaryBusRunDataFactory/DeclarationModePrimaryBusRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/PrimaryBusRunDataFactory/DeclarationModePrimaryBusRunDataFactory.cs @@ -181,16 +181,18 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.PrimaryBusRunDa Vehicle.Components.BusAuxiliaries, mission.MissionType, _segment.VehicleClass, Vehicle.Length ?? mission.BusParameter.VehicleLength, Vehicle.Components.AxleWheels.NumSteeredAxles, Vehicle.VehicleType); - simulationRunData.Retarder = DataAdapter.CreateRetarderData(Vehicle.Components.RetarderInputData, Vehicle.ArchitectureID, null); simulationRunData.DriverData = DriverData; simulationRunData.EngineData.FuelMode = modeIdx.Value; simulationRunData.VehicleData.VehicleClass = _segment.VehicleClass; + + CreateGearboxAndGearshiftData(simulationRunData); + + simulationRunData.Retarder = DataAdapter.CreateGenericRetarderData(Vehicle.Components.RetarderInputData, simulationRunData); simulationRunData.BusAuxiliaries = DataAdapter.CreateBusAuxiliariesData( mission, InputDataProvider.JobInputData.Vehicle, simulationRunData); - CreateGearboxAndGearshiftData(simulationRunData); return simulationRunData; } @@ -301,7 +303,8 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.PrimaryBusRunDa runData.AxleGearData = DataAdapter.CreateAxleGearData(Vehicle.Components.AxleGearInputData); } - runData.Retarder = DataAdapter.CreateRetarderData(Vehicle.Components.RetarderInputData, Vehicle.ArchitectureID, Vehicle.Components.IEPC); + CreateGearboxAndGearshiftData(runData); + runData.Retarder = DataAdapter.CreateGenericRetarderData(Vehicle.Components.RetarderInputData, runData); runData.Aux = DataAdapter.CreateAuxiliaryData(Vehicle.Components.AuxiliaryInputData, Vehicle.Components.BusAuxiliaries, mission.MissionType, @@ -310,7 +313,6 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.PrimaryBusRunDa runData.BusAuxiliaries = DataAdapter.CreateBusAuxiliariesData( mission, InputDataProvider.JobInputData.Vehicle, runData); - CreateGearboxAndGearshiftData(runData); runData.HybridStrategyParameters = DataAdapter.CreateHybridStrategy(runData.BatteryData, runData.SuperCapData, runData.VehicleData.TotalVehicleMass, @@ -495,16 +497,16 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.PrimaryBusRunDa Vehicle.Length ?? mission.BusParameter.VehicleLength, Vehicle.Components.AxleWheels.NumSteeredAxles, VectoSimulationJobType.ParallelHybridVehicle);//Hardcode to override IHPC - runData.Retarder = DataAdapter.CreateRetarderData(Vehicle.Components.RetarderInputData, Vehicle.VehicleType == VectoSimulationJobType.IHPC ? ArchitectureID.P_IHPC : Vehicle.ArchitectureID, null); runData.DriverData = DriverData; runData.EngineData.FuelMode = modeIdx.Value; runData.VehicleData.VehicleClass = _segment.VehicleClass; - runData.BusAuxiliaries = DataAdapter.CreateBusAuxiliariesData( - mission, InputDataProvider.JobInputData.Vehicle, runData); CreateGearboxAndGearshiftData(runData); + runData.Retarder = DataAdapter.CreateGenericRetarderData(Vehicle.Components.RetarderInputData, runData); + runData.BusAuxiliaries = DataAdapter.CreateBusAuxiliariesData( + mission, InputDataProvider.JobInputData.Vehicle, runData); runData.ElectricMachinesData = DataAdapter.CreateElectricMachines( Vehicle.Components.ElectricMachines, Vehicle.ElectricMotorTorqueLimits, @@ -668,13 +670,13 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.PrimaryBusRunDa Vehicle.Length ?? mission.BusParameter.VehicleLength, Vehicle.Components.AxleWheels.NumSteeredAxles, Vehicle.VehicleType); var emPos = result.ElectricMachinesData.First(x => x.Item1 != PowertrainPosition.GEN).Item1; - result.Retarder = DataAdapter.CreateRetarderData(Vehicle.Components.RetarderInputData, Vehicle.ArchitectureID, Vehicle.Components.IEPC); result.DriverData = DriverData; result.VehicleData.VehicleClass = _segment.VehicleClass; + CreateGearboxAndGearshiftData(result); + result.Retarder = DataAdapter.CreateGenericRetarderData(Vehicle.Components.RetarderInputData, result); result.BusAuxiliaries = DataAdapter.CreateBusAuxiliariesData( mission, InputDataProvider.JobInputData.Vehicle, result); - CreateGearboxAndGearshiftData(result); return result; } diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/SingleBus/DeclarationModeSingleBusVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/SingleBus/DeclarationModeSingleBusVectoRunDataFactory.cs index d6d7a405521298a4a0abb37ee9dbd1e770284753..9838c0162ed9e3563fc8fbf3b2a98d2c5d2496d0 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/SingleBus/DeclarationModeSingleBusVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/SingleBus/DeclarationModeSingleBusVectoRunDataFactory.cs @@ -167,13 +167,13 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.SingleBus PrimaryVehicle.Components.BusAuxiliaries, mission.MissionType, _segment.VehicleClass, PrimaryVehicle.Length ?? mission.BusParameter.VehicleLength, PrimaryVehicle.Components.AxleWheels.NumSteeredAxles, PrimaryVehicle.VehicleType); - runData.Retarder = DataAdapter.CreateRetarderData(PrimaryVehicle.Components.RetarderInputData, PrimaryVehicle.ArchitectureID, null); runData.EngineData.FuelMode = modeIdx.Value; runData.VehicleData.VehicleClass = _segment.VehicleClass; + CreateGearboxAndGearshiftData(runData); + runData.Retarder = DataAdapter.CreateGenericRetarderData(PrimaryVehicle.Components.RetarderInputData, runData); runData.BusAuxiliaries = DataAdapter.CreateBusAuxiliariesData(mission, PrimaryVehicle, CompletedVehicle, runData); - CreateGearboxAndGearshiftData(runData); return runData; } @@ -307,7 +307,8 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.SingleBus runData.AxleGearData = DataAdapter.CreateAxleGearData(PrimaryVehicle.Components.AxleGearInputData); } - runData.Retarder = DataAdapter.CreateRetarderData(PrimaryVehicle.Components.RetarderInputData, PrimaryVehicle.ArchitectureID, PrimaryVehicle.Components.IEPC); + CreateGearboxAndGearshiftData(runData); + runData.Retarder = DataAdapter.CreateGenericRetarderData(PrimaryVehicle.Components.RetarderInputData, runData); runData.Aux = DataAdapter.CreateAuxiliaryData(PrimaryVehicle.Components.AuxiliaryInputData, PrimaryVehicle.Components.BusAuxiliaries, mission.MissionType, @@ -316,8 +317,6 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.SingleBus runData.BusAuxiliaries = DataAdapter.CreateBusAuxiliariesData( mission, PrimaryVehicle, CompletedVehicle , runData); - CreateGearboxAndGearshiftData(runData); - runData.HybridStrategyParameters = DataAdapter.CreateHybridStrategy(runData.BatteryData, runData.SuperCapData, runData.VehicleData.TotalVehicleMass, ovcMode, loading.Key, runData.VehicleData.VehicleClass, mission.MissionType); @@ -504,17 +503,16 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.SingleBus PrimaryVehicle.Components.BusAuxiliaries, mission.MissionType, _segment.VehicleClass, PrimaryVehicle.Length ?? mission.BusParameter.VehicleLength, PrimaryVehicle.Components.AxleWheels.NumSteeredAxles, PrimaryVehicle.VehicleType); - runData.Retarder = DataAdapter.CreateRetarderData(PrimaryVehicle.Components.RetarderInputData, PrimaryVehicle.VehicleType == VectoSimulationJobType.IHPC ? ArchitectureID.P_IHPC : PrimaryVehicle.ArchitectureID, null); runData.DriverData = DriverData; - runData.EngineData.FuelMode = modeIdx.Value; runData.VehicleData.VehicleClass = _segment.VehicleClass; + + CreateGearboxAndGearshiftData(runData); + runData.Retarder = DataAdapter.CreateGenericRetarderData(PrimaryVehicle.Components.RetarderInputData, runData); runData.BusAuxiliaries = DataAdapter.CreateBusAuxiliariesData( mission, PrimaryVehicle, CompletedVehicle, runData); - CreateGearboxAndGearshiftData(runData); - runData.ElectricMachinesData = DataAdapter.CreateElectricMachines( PrimaryVehicle.Components.ElectricMachines, PrimaryVehicle.ElectricMotorTorqueLimits, runData.BatteryData.CalculateAverageVoltage(), runData.GearboxData.GearList); @@ -675,13 +673,13 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.SingleBus vehicle.Components.BusAuxiliaries, mission.MissionType, _segment.VehicleClass, vehicle.Length ?? mission.BusParameter.VehicleLength, vehicle.Components.AxleWheels.NumSteeredAxles, vehicle.VehicleType); - result.Retarder = DataAdapter.CreateRetarderData(vehicle.Components.RetarderInputData, PrimaryVehicle.ArchitectureID, PrimaryVehicle.Components.IEPC); result.DriverData = DriverData; result.VehicleData.VehicleClass = _segment.VehicleClass; + CreateGearboxAndGearshiftData(result); + result.Retarder = DataAdapter.CreateGenericRetarderData(vehicle.Components.RetarderInputData, result); result.BusAuxiliaries = DataAdapter.CreateBusAuxiliariesData( mission, SingleBusDataProvider.PrimaryVehicle, SingleBusDataProvider.CompletedVehicle, result); - CreateGearboxAndGearshiftData(result); return result; } diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryHeavyBusPrimary.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryHeavyBusPrimary.cs index 0d19c194e8551b01611fdf79bf2817b5a4003a47..27efa9f8f043a65ad329a7ae7ea0b5b98cab6fd5 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryHeavyBusPrimary.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryHeavyBusPrimary.cs @@ -74,11 +74,16 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl : DataAdapter.CreateAxleGearData(vehicle.Components.AxleGearInputData); AngledriveData = DataAdapter.CreateAngledriveData(vehicle.Components.AngledriveInputData); - GearboxData = DataAdapter.CreateGearboxData( - vehicle, new VectoRunData() { EngineData = EngineData, AxleGearData = AxlegearData, - VehicleData = tempVehicle, Cycle = VTPCycle }, - null); - RetarderData = DataAdapter.CreateRetarderData(vehicle.Components.RetarderInputData, vehicle.ArchitectureID, vehicle.Components.IEPC); + var vectoRun = new VectoRunData() + { + EngineData = EngineData, + AxleGearData = AxlegearData, + VehicleData = tempVehicle, + Cycle = VTPCycle + }; + + GearboxData = DataAdapter.CreateGearboxData(vehicle, vectoRun, null); + RetarderData = DataAdapter.CreateGenericRetarderData(vehicle.Components.RetarderInputData, vectoRun); //PTOTransmissionData = // DataAdapter.CreatePTOTransmissionData(vehicle.Components.PTOTransmissionInputData);