diff --git a/VectoCore/InputData/IInputDataProvider.cs b/VectoCore/InputData/IInputDataProvider.cs index 689eed04d0d52b0722d15958e615d972b88885d0..788082e59d95c173da848ad50c53e51e3ad0596a 100644 --- a/VectoCore/InputData/IInputDataProvider.cs +++ b/VectoCore/InputData/IInputDataProvider.cs @@ -21,22 +21,44 @@ using System.Deployment.Internal; namespace TUGraz.VectoCore.InputData { - public interface IInputDataProvider + public interface IInputDataProvider {} + + public interface IDeclarationInputDataProvider : IInputDataProvider { - IJobInputData JobInputData(); + IDeclarationJobInputData JobInputData(); - IVehicleInputData VehicleInputData { get; } + IVehicleDeclarationInputData VehicleInputData { get; } - IGearboxInputData GearboxInputData { get; } + IGearboxDeclarationInputData GearboxInputData { get; } IAxleGearInputData AxleGearInputData { get; } - IEngineInputData EngineInputData { get; } + IEngineDeclarationInputData EngineInputData { get; } - IAuxiliariesInputData AuxiliaryInputData(); + IAuxiliariesDeclarationInputData AuxiliaryInputData(); IRetarderInputData RetarderInputData { get; } IDriverInputData DriverInputData { get; } } + + + public interface IEngineeringInputDataProvider : IDeclarationInputDataProvider + { + new IEngineeringJobInputData JobInputData(); + + new IVehicleEngineeringInputData VehicleInputData { get; } + + new IGearboxEngineeringInputData GearboxInputData { get; } + + //IAxleGearInputData AxleGearInputData { get; } + + new IEngineEngineeringInputData EngineInputData { get; } + + new IAuxiliariesEngineeringInputData AuxiliaryInputData(); + + //IRetarderInputData RetarderInputData { get; } + + //IDriverInputData DriverInputData { get; } + } } \ No newline at end of file diff --git a/VectoCore/InputData/InputData.cs b/VectoCore/InputData/InputData.cs index 497806670126fb43e01793dc279d4a59034a0372..dca192a5770eec29067cbb714fdaff26c07c115e 100644 --- a/VectoCore/InputData/InputData.cs +++ b/VectoCore/InputData/InputData.cs @@ -24,11 +24,18 @@ using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData { - public interface IJobInputData + public interface IDeclarationJobInputData { bool SavedInDeclarationMode { get; } - IVehicleInputData Vehicle { get; } + IVehicleDeclarationInputData Vehicle { get; } + + string JobName { get; } + } + + public interface IEngineeringJobInputData : IDeclarationJobInputData + { + new IVehicleEngineeringInputData Vehicle { get; } /// <summary> /// P008 Cycles @@ -41,8 +48,6 @@ namespace TUGraz.VectoCore.InputData /// cf. VECTO Input Parameters.xlsx /// </summary> bool EngineOnlyMode { get; } - - string JobName { get; } } public interface IComponentInputData @@ -64,7 +69,7 @@ namespace TUGraz.VectoCore.InputData IntegrityStatus IntegrityStatus { get; } } - public interface IVehicleInputData : IComponentInputData + public interface IVehicleDeclarationInputData : IComponentInputData { /// <summary> /// P036 @@ -73,16 +78,16 @@ namespace TUGraz.VectoCore.InputData VehicleCategory VehicleCategory { get; } /// <summary> - /// P038 Curb Weight Vehicle + /// P037 /// cf. VECTO Input Parameters.xlsx /// </summary> - Kilogram CurbWeight { get; } + AxleConfiguration AxleConfiguration { get; } /// <summary> - /// P039 Curb Weight Extra Trailer/Body + /// P038 Curb Weight Vehicle /// cf. VECTO Input Parameters.xlsx /// </summary> - Kilogram CurbWeightExtra { get; } + Kilogram CurbWeightChassis { get; } /// <summary> /// P041 Max. vehicle weight @@ -91,48 +96,65 @@ namespace TUGraz.VectoCore.InputData Kilogram GrossVehicleMassRating { get; } /// <summary> - /// P040 Loading + /// P146 DragCoefficient * Cross Section Area - Truck & Trailer /// cf. VECTO Input Parameters.xlsx /// </summary> - Kilogram Loading { get; } + SquareMeter AirDragArea { get; } /// <summary> - /// P049 + /// P147 DragCoefficient * Cross Section Area - Rigid /// cf. VECTO Input Parameters.xlsx /// </summary> - Meter DynamicTyreRadius { get; } + SquareMeter AirDragAreaRigidTruck { get; } // without trailer + /// <summary> - /// P146 DragCoefficient * Cross Section Area - Truck & Trailer + /// P117 Powered axle tyres/rims /// cf. VECTO Input Parameters.xlsx /// </summary> - SquareMeter AirDragArea { get; } + string Rim { get; } + /// <summary> - /// P147 DragCoefficient * Cross Section Area - Rigid + /// parameters for every axle + /// P044, P045, P046, P047, P048, P108 /// cf. VECTO Input Parameters.xlsx /// </summary> - SquareMeter AirDragAreaRigidTruck { get; } // without trailer + IList<IAxleDeclarationInputData> Axles { get; } + /// <summary> + /// P053 + /// cf. VECTO Input Parameters.xlsx + /// </summary> + double RetarderRatio { get; } + } + public interface IVehicleEngineeringInputData : IVehicleDeclarationInputData + { /// <summary> - /// P117 Powered axle tyres/rims + /// P039 Curb Weight Extra Trailer/Body /// cf. VECTO Input Parameters.xlsx /// </summary> - string Rim { get; } + Kilogram CurbWeightExtra { get; } /// <summary> - /// P037 + /// P040 Loading /// cf. VECTO Input Parameters.xlsx /// </summary> - AxleConfiguration AxleConfiguration { get; } + Kilogram Loading { get; } /// <summary> /// parameters for every axle /// P044, P045, P046, P047, P048, P108 /// cf. VECTO Input Parameters.xlsx /// </summary> - IList<IAxleInputData> Axles { get; } + new IList<IAxleEngineeringInputData> Axles { get; } + + /// <summary> + /// P049 + /// cf. VECTO Input Parameters.xlsx + /// </summary> + Meter DynamicTyreRadius { get; } /// <summary> /// P050 @@ -146,12 +168,6 @@ namespace TUGraz.VectoCore.InputData /// cf. VECTO Input Parameters.xlsx /// </summary> DataTable CrosswindCorrectionMap { get; } - - /// <summary> - /// P053 - /// cf. VECTO Input Parameters.xlsx - /// </summary> - double RetarderRatio { get; } } public interface IRetarderInputData : IComponentInputData @@ -170,7 +186,7 @@ namespace TUGraz.VectoCore.InputData DataTable LossMap { get; } } - public interface IAxleInputData : IComponentInputData + public interface IAxleDeclarationInputData : IComponentInputData { /// <summary> /// P108 @@ -197,7 +213,10 @@ namespace TUGraz.VectoCore.InputData /// cf. VECTO Input Parameters.xlsx /// </summary> Newton TyreTestLoad { get; } + } + public interface IAxleEngineeringInputData : IAxleDeclarationInputData + { /// <summary> /// P044 (0 - 1) /// cf. VECTO Input Parameters.xlsx @@ -212,7 +231,7 @@ namespace TUGraz.VectoCore.InputData } - public interface IGearboxInputData : IComponentInputData + public interface IGearboxDeclarationInputData : IComponentInputData { /// <summary> /// P076 @@ -221,28 +240,25 @@ namespace TUGraz.VectoCore.InputData GearboxType Type { get; } /// <summary> - /// P080 - /// cf. VECTO Input Parameters.xlsx - /// </summary> - KilogramSquareMeter Inertia { get; } - - /// <summary> - /// P081 + /// P078, P079, P077, P082, P145 (for every gear) /// cf. VECTO Input Parameters.xlsx /// </summary> - Second TractionInterruption { get; } + IList<ITransmissionInputData> Gears { get; } + } + public interface IGearboxEngineeringInputData : IGearboxDeclarationInputData + { /// <summary> - /// P078, P079, P077, P082, P145 (for every gear) + /// P080 /// cf. VECTO Input Parameters.xlsx /// </summary> - IList<ITransmissionInputData> Gears { get; } + KilogramSquareMeter Inertia { get; } /// <summary> - /// P084 + /// P081 /// cf. VECTO Input Parameters.xlsx /// </summary> - bool SkipGears { get; } + Second TractionInterruption { get; } /// <summary> /// P086 @@ -281,6 +297,13 @@ namespace TUGraz.VectoCore.InputData /// </summary> double StartTorqueReserve { get; } + /// <summary> + /// P084 + /// cf. VECTO Input Parameters.xlsx + /// </summary> + bool SkipGears { get; } + + /// <summary> /// P090, P091, P092, P127 /// cf. VECTO Input Parameters.xlsx @@ -369,7 +392,7 @@ namespace TUGraz.VectoCore.InputData DataTable TCData { get; } } - public interface IEngineInputData : IComponentInputData + public interface IEngineDeclarationInputData : IComponentInputData { /// <summary> /// P061 @@ -384,50 +407,58 @@ namespace TUGraz.VectoCore.InputData PerSecond IdleSpeed { get; } /// <summary> - /// P067 - /// P072, P073, P074 + /// P111 /// cf. VECTO Input Parameters.xlsx - /// engine speed in rpm, torque in NM, fuel consumption in g/h /// </summary> - DataTable FuelConsumptionMap { get; } + KilogramPerWattSecond WHTCMotorway { get; } /// <summary> - /// P144 - /// P068, P069, P70, P71 + /// P110 /// cf. VECTO Input Parameters.xlsx /// </summary> - DataTable FullLoadCurve { get; } + KilogramPerWattSecond WHTCRural { get; } /// <summary> - /// P062 + /// P109 /// cf. VECTO Input Parameters.xlsx /// </summary> - KilogramSquareMeter Inertia { get; } + KilogramPerWattSecond WHTCUrban { get; } /// <summary> - /// P111 + /// P067 + /// P072, P073, P074 /// cf. VECTO Input Parameters.xlsx + /// engine speed in rpm, torque in NM, fuel consumption in g/h /// </summary> - KilogramPerWattSecond WHTCMotorway { get; } + DataTable FuelConsumptionMap { get; } /// <summary> - /// P110 + /// P144 + /// P068, P069, P70, P71 /// cf. VECTO Input Parameters.xlsx /// </summary> - KilogramPerWattSecond WHTCRural { get; } + DataTable FullLoadCurve { get; } + } + public interface IEngineEngineeringInputData : IEngineDeclarationInputData + { /// <summary> - /// P109 + /// P062 /// cf. VECTO Input Parameters.xlsx /// </summary> - KilogramPerWattSecond WHTCUrban { get; } + KilogramSquareMeter Inertia { get; } } - public interface IAuxiliariesInputData + public interface IAuxiliariesDeclarationInputData { bool SavedInDeclarationMode { get; } - IList<IAuxiliaryInputData> Auxiliaries { get; } + IList<IAuxiliaryDeclarationInputData> Auxiliaries { get; } + } + + public interface IAuxiliariesEngineeringInputData : IAuxiliariesDeclarationInputData + { + new IList<IAuxiliaryEngineeringInputData> Auxiliaries { get; } } public interface ICycleData @@ -531,7 +562,7 @@ namespace TUGraz.VectoCore.InputData Second Delay { get; } } - public interface IAuxiliaryInputData + public interface IAuxiliaryDeclarationInputData { bool SavedInDeclarationMode { get; } @@ -558,7 +589,10 @@ namespace TUGraz.VectoCore.InputData /// cf. VECTO Input Parameters.xlsx /// </summary> IList<string> TechList { get; } + } + public interface IAuxiliaryEngineeringInputData : IAuxiliaryDeclarationInputData + { /// <summary> /// P022 Aux-InputFile: transmission ratio /// cf. VECTO Input Parameters.xlsx