diff --git a/VECTO/Configuration.vb b/VECTO/Configuration.vb index f4a18ed4ef2b193f1770165b08bb5ca9330648c1..315694210f274230eddce3bce6230cd0acb550f0 100644 --- a/VECTO/Configuration.vb +++ b/VECTO/Configuration.vb @@ -12,8 +12,10 @@ Imports System.Collections.Generic Imports System.IO Imports Newtonsoft.Json Imports Newtonsoft.Json.Linq +Imports TUGraz.VectoCommon.Models Imports TUGraz.VectoCore.InputData.FileIO.JSON Imports TUGraz.VectoCore.Models.Declaration +Imports TUGraz.VectoCore.Utils Public Class Configuration Public FilePath As String @@ -28,6 +30,8 @@ Public Class Configuration Public FirstRun As Boolean Public DeclMode As Boolean + Public Const DefaultFuelType As FuelType = FuelType.DieselCI + Private Const FormatVersion As Short = 2 Public Sub New() @@ -35,9 +39,9 @@ Public Class Configuration End Sub Public Sub DeclInit() - AirDensity = DeclarationData.Physics.AirDensity.Value() ' cDeclaration.AirDensity - FuelDens = DeclarationData.Physics.FuelDensity.Value() ' cDeclaration.FuelDens - CO2perFC = DeclarationData.Physics.CO2PerFuelWeight ' cDeclaration.CO2perFC + AirDensity = Physics.AirDensity.Value() ' cDeclaration.AirDensity + FuelDens = DeclarationData.FuelData.Lookup(DefaultFuelType).FuelDensity.Value() ' cDeclaration.FuelDens + Co2PerFc = DeclarationData.FuelData.Lookup(DefaultFuelType).CO2PerFuelWeight ' cDeclaration.CO2perFC End Sub Public Sub SetDefault() @@ -47,8 +51,8 @@ Public Class Configuration AirDensity = 1.2 OpenCmd = "notepad" OpenCmdName = "Notepad" - FuelDens = DeclarationData.Physics.FuelDensity.Value() - CO2perFC = DeclarationData.Physics.CO2PerFuelWeight + FuelDens = DeclarationData.FuelData.Lookup(DefaultFuelType).FuelDensity.Value() + Co2PerFc = DeclarationData.FuelData.Lookup(DefaultFuelType).CO2PerFuelWeight FirstRun = True DeclMode = True End Sub diff --git a/VECTO/GUI/EngineForm.vb b/VECTO/GUI/EngineForm.vb index 8d9e87efaa1bbcf7242953d89cf58974694dc0f6..84c1ff1abc7a18b8eba041078327f717e80e259c 100644 --- a/VECTO/GUI/EngineForm.vb +++ b/VECTO/GUI/EngineForm.vb @@ -55,7 +55,7 @@ Public Class EngineForm cbFuelType.ValueMember = "Value" cbFuelType.DisplayMember = "Label" cbFuelType.DataSource = - [Enum].GetValues(GetType(FuelType)).Cast(Of FuelType).Select( + [Enum].GetValues(GetType(TUGraz.VectoCommon.Models.FuelType)).Cast(Of TUGraz.VectoCommon.Models.FuelType).Select( Function(type) New With {Key .Value = type, .Label = type.GetLabel()}).ToList() _changed = False @@ -257,7 +257,7 @@ Public Class EngineForm engine.ratedSpeedInput = tbRatedSpeed.Text.ToDouble(0).RPMtoRad() engine.maxTorqueInput = tbMaxTorque.Text.ToDouble(0).SI(Of NewtonMeter)() - engine.FuelTypeInput = CType(cbFuelType.SelectedValue, FuelType) + engine.FuelTypeInput = CType(cbFuelType.SelectedValue, TUGraz.VectoCommon.Models.FuelType) If Not engine.SaveFile Then MsgBox("Cannot safe to " & file, MsgBoxStyle.Critical) diff --git a/VECTO/GUI/MainForm.vb b/VECTO/GUI/MainForm.vb index 962da7988165033ceb590d36653b2b0894dbdb5f..3a3e4c08a0d9dd5c43064a414bb14e018463bd07 100644 --- a/VECTO/GUI/MainForm.vb +++ b/VECTO/GUI/MainForm.vb @@ -983,11 +983,6 @@ lbFound: mode = ExecutionMode.Declaration Else mode = ExecutionMode.Engineering - Physics.FuelDensity = Cfg.FuelDens.SI(Of KilogramPerCubicMeter)() _ - 'New SI(Cfg.FuelDens).Kilo.Gramm.Per.Cubic.Dezi.Meter.Cast(Of KilogramPerCubicMeter)() - Physics.AirDensity = Cfg.AirDensity.SI(Of KilogramPerCubicMeter)() _ - 'New SI(Cfg.AirDensity).Kilo.Gramm.Per.Cubic.Meter.Cast(Of KilogramPerCubicMeter)() - Physics.CO2PerFuelWeight = Cfg.Co2PerFc End If 'dictionary of run-identifiers to fileWriters (used for output directory of modfile) diff --git a/VECTO/GUI/Settings.Designer.vb b/VECTO/GUI/Settings.Designer.vb index 685f298f867138fc4eef5455c43f4e5b18ff0aff..4f608afb081f05291e02ca786b63e355d778567d 100644 --- a/VECTO/GUI/Settings.Designer.vb +++ b/VECTO/GUI/Settings.Designer.vb @@ -192,6 +192,7 @@ Partial Class Settings Me.GrCalc.TabIndex = 1 Me.GrCalc.TabStop = False Me.GrCalc.Text = "Calculation" + Me.GrCalc.Visible = False ' 'Label11 ' diff --git a/VectoCommon/VectoCommon/Models/FuelType.cs b/VectoCommon/VectoCommon/Models/FuelType.cs index 0c68df4ff65adc2c7001a82ff217da205a2e3d56..36cd69a93f76dee2d6d3746a25ba4b6f2d9747a7 100644 --- a/VectoCommon/VectoCommon/Models/FuelType.cs +++ b/VectoCommon/VectoCommon/Models/FuelType.cs @@ -1,5 +1,4 @@ using System; -using System.Diagnostics.CodeAnalysis; namespace TUGraz.VectoCommon.Models { @@ -11,7 +10,7 @@ namespace TUGraz.VectoCommon.Models PetrolPI, EthanolPI, LPG, - NG + NG, // ReSharper restore InconsistentNaming } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs index 80e49d0a0ac37fb7df02a821790d9d4ff38b435b..19e10be48d8d939f20ab10c37723e0037f3fc06c 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs @@ -37,6 +37,7 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.Reader.ComponentData; +using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.SimulationComponent.Data; using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; @@ -121,6 +122,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter RatedPowerDeclared = data.RatedPowerDeclared, RatedSpeedDeclared = data.RatedSpeedDeclared, MaxTorqueDeclared = data.MaxTorqueDeclared, + FuelType = data.FuelType }; return retVal; } diff --git a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs index 3c1bd0a69e27d71ae1c0a6e630f1693cf2dd9203..c9cd23536a493c489e5512ab4562302639c0a21e 100644 --- a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs +++ b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs @@ -29,7 +29,6 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -using System; using System.Collections.Generic; using System.Data; using System.Linq; @@ -54,6 +53,7 @@ namespace TUGraz.VectoCore.Models.Declaration public static readonly Segments Segments = new Segments(); public static readonly Wheels Wheels = new Wheels(); public static readonly PT1 PT1 = new PT1(); + public static readonly FuelData FuelData = FuelData.Instance(); public static readonly ElectricSystem ElectricSystem = new ElectricSystem(); public static readonly Fan Fan = new Fan(); @@ -96,29 +96,6 @@ namespace TUGraz.VectoCore.Models.Declaration return 1; } - public static class Physics - { - /// <summary> - /// The standard acceleration for gravity on earth. - /// http://physics.nist.gov/Pubs/SP330/sp330.pdf (page 52) - /// </summary> - public static readonly MeterPerSquareSecond GravityAccelleration = 9.80665.SI<MeterPerSquareSecond>(); - - /// <summary> - /// Density of air. - /// </summary> - public static readonly KilogramPerCubicMeter AirDensity = 1.188.SI<KilogramPerCubicMeter>(); - - /// <summary> - /// Density of fuel. - /// </summary> - public static readonly KilogramPerCubicMeter FuelDensity = 832.SI<KilogramPerCubicMeter>(); - - /// <summary> - /// fuel[kg] => co2[kg]. Factor to convert from fuel weight to co2 weight. - /// </summary> - public static readonly double CO2PerFuelWeight = 3.16; - } public static class Driver { diff --git a/VectoCore/VectoCore/Models/Simulation/DataBus/IDataBus.cs b/VectoCore/VectoCore/Models/Simulation/DataBus/IDataBus.cs index 3dab5addb3e133ce22f5fbba724b99d41c8040c2..6c0870d42d307b9afa02c1c15a82f0a7ec59a461 100644 --- a/VectoCore/VectoCore/Models/Simulation/DataBus/IDataBus.cs +++ b/VectoCore/VectoCore/Models/Simulation/DataBus/IDataBus.cs @@ -31,6 +31,7 @@ using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.SimulationComponent; namespace TUGraz.VectoCore.Models.Simulation.DataBus @@ -43,6 +44,8 @@ namespace TUGraz.VectoCore.Models.Simulation.DataBus { ExecutionMode ExecutionMode { get; } + FuelType FuelType { get; } + Second AbsTime { get; set; } } } \ No newline at end of file diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs index 048c4413ce7c7a186d788d48bffc7fe8fb045cf4..593a4fad173211d0541a58c33583da66f4ed598f 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs @@ -181,7 +181,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl throw new ArgumentOutOfRangeException("CycleType unknown:" + data.Cycle.CycleType); } - var validationErrors = run.Validate(_mode, data.GearboxData == null ? (GearboxType?)null : data.GearboxData.Type, data.Mission != null && data.Mission.MissionType.IsEMS()); + var validationErrors = run.Validate(_mode, data.GearboxData == null ? (GearboxType?)null : data.GearboxData.Type, + data.Mission != null && data.Mission.MissionType.IsEMS()); if (validationErrors.Any()) { throw new VectoException("Validation of Run-Data Failed: " + string.Join("\n", validationErrors.Select(r => r.ErrorMessage + string.Join("; ", r.MemberNames)))); diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs b/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs index 9be939e92d0f2316fee043ba3cc7dd62b1b7c0d8..1d1973519930249980441a770ed8aa81a890fd2d 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs @@ -37,6 +37,7 @@ using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.Connector.Ports; +using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.DataBus; using TUGraz.VectoCore.Models.SimulationComponent; @@ -263,6 +264,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl return Cycle; } + public FuelType FuelType { get { return ModData.FuelData.FuelType; } } + public Second AbsTime { get; set; } public void AddComponent(VectoSimulationComponent component) diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/CombustionEngineData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/CombustionEngineData.cs index e7770538f299b2bad01c4c6c5c404110a747f0f7..f9a305a769d63e9b290f5e0280f80499c970381a 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/CombustionEngineData.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/CombustionEngineData.cs @@ -35,6 +35,7 @@ using System.ComponentModel.DataAnnotations; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; +using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; namespace TUGraz.VectoCore.Models.SimulationComponent.Data @@ -75,7 +76,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data [Required, Range(double.MinValue, double.MaxValue)] public double CorrectionFactorNCV { get; internal set; } - public double FuelConsumptionCorrectionFactor {get; internal set; } + public double FuelConsumptionCorrectionFactor { get; internal set; } public PerSecond RatedSpeedDeclared { get; internal set; } @@ -112,6 +113,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data RatedPowerDeclared = RatedPowerDeclared, RatedSpeedDeclared = RatedSpeedDeclared, MaxTorqueDeclared = MaxTorqueDeclared, + FuelType = FuelType }; } diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs index bbe1a721caf5440fff41610113a89dfdc05074aa..9901d0c982528a9007ab69f06b5052abe5afcdbd 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs @@ -33,6 +33,7 @@ using System; using System.IO; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.DataBus; using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; @@ -79,7 +80,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl _fcMapAdapter = new FuelConsumptionAdapter() { FcMap = fcMap }; tmpAux.VectoInputs.FuelMap = _fcMapAdapter; - tmpAux.VectoInputs.FuelDensity = Physics.FuelDensity; + tmpAux.VectoInputs.FuelDensity = FuelData.Instance().Lookup(container.FuelType).FuelDensity; //'Set Signals tmpAux.Signals.EngineIdleSpeed = engineIdleSpeed; diff --git a/VectoCore/VectoCore/OutputData/DeclarationReport.cs b/VectoCore/VectoCore/OutputData/DeclarationReport.cs index d49000c659aba5afbc86cf91021e0f3989f7eed6..afdd105cf6390fd6ac3d71bd8401d775461f051f 100644 --- a/VectoCore/VectoCore/OutputData/DeclarationReport.cs +++ b/VectoCore/VectoCore/OutputData/DeclarationReport.cs @@ -106,7 +106,7 @@ namespace TUGraz.VectoCore.OutputData /// <summary> /// The full load curve. /// </summary> - internal Dictionary<uint, EngineFullLoadCurve> Flc { get; set; } + internal Dictionary<uint, EngineFullLoadCurve> Flc { get; set; } /// <summary> /// The declaration segment from the segment table diff --git a/VectoCore/VectoCore/OutputData/IModalDataContainer.cs b/VectoCore/VectoCore/OutputData/IModalDataContainer.cs index a145fe66d5b97424e8731305c27ba514ca0af67d..9e9eea705d8a3aef9a58f3d0ad2e53dee0a62711 100644 --- a/VectoCore/VectoCore/OutputData/IModalDataContainer.cs +++ b/VectoCore/VectoCore/OutputData/IModalDataContainer.cs @@ -35,6 +35,7 @@ using System.Data; using System.Linq; using System.Runtime.Remoting.Metadata.W3cXsd2001; using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.DataBus; using TUGraz.VectoCore.Models.Simulation.Impl; @@ -71,6 +72,8 @@ namespace TUGraz.VectoCore.OutputData /// </summary> void CommitSimulationStep(); + FuelData.Entry FuelData { get; } + VectoRun.Status RunStatus { get; } /// <summary> @@ -379,7 +382,7 @@ namespace TUGraz.VectoCore.OutputData return null; } - var fcVolumePerMeter = fuelConsumptionFinal / Physics.FuelDensity; + var fcVolumePerMeter = fuelConsumptionFinal / data.FuelData.FuelDensity; return fcVolumePerMeter.ConvertTo().Cubic.Dezi.Meter * 100.SI().Kilo.Meter; } @@ -389,7 +392,7 @@ namespace TUGraz.VectoCore.OutputData if (distance == null || distance.IsEqual(0)) { return null; } - return data.TimeIntegral<Kilogram>(ModalResultField.FCFinal) * Physics.CO2PerFuelWeight / distance; + return data.TimeIntegral<Kilogram>(ModalResultField.FCFinal) * data.FuelData.CO2PerFuelWeight / distance; } public static KilogramPerSecond FCMapPerSecond(this IModalDataContainer data) diff --git a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs index e4bad04e093b0b6fcb906a06bd12a1ba0298e491..b0fe385de20a410e935fa35a46b3c5265f1f3daf 100644 --- a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs +++ b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs @@ -35,7 +35,9 @@ using System.Data; using System.Globalization; using System.Linq; using System.Runtime.CompilerServices; +using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.Impl; @@ -61,14 +63,14 @@ namespace TUGraz.VectoCore.OutputData public bool WriteAdvancedAux { get; set; } - public ModalDataContainer(string runName, IModalDataWriter writer, bool writeEngineOnly = false) - : this(runName, "", "", writer, _ => { }, writeEngineOnly) {} + public ModalDataContainer(string runName, FuelType fuel, IModalDataWriter writer, bool writeEngineOnly = false) + : this(runName, "",fuel, "", writer, _ => { }, writeEngineOnly) {} public ModalDataContainer(VectoRunData runData, IModalDataWriter writer, Action<ModalDataContainer> addReportResult, bool writeEngineOnly, params IModalDataFilter[] filter) - : this(runData.JobName, runData.Cycle.Name, runData.ModFileSuffix, writer, addReportResult, writeEngineOnly, filter) {} + : this(runData.JobName, runData.Cycle.Name, runData.EngineData.FuelType, runData.ModFileSuffix, writer, addReportResult, writeEngineOnly, filter) {} - protected ModalDataContainer(string runName, string cycleName, string runSuffix, IModalDataWriter writer, + protected ModalDataContainer(string runName, string cycleName, FuelType fuelType, string runSuffix, IModalDataWriter writer, Action<ModalDataContainer> addReportResult, bool writeEngineOnly, params IModalDataFilter[] filters) { HasTorqueConverter = false; @@ -77,6 +79,8 @@ namespace TUGraz.VectoCore.OutputData RunSuffix = runSuffix; _writer = writer; + FuelData = Models.Declaration.FuelData.Instance().Lookup(fuelType); + _writeEngineOnly = writeEngineOnly; _filters = filters ?? new IModalDataFilter[0]; _addReportResult = addReportResult ?? (x => { }); @@ -95,6 +99,8 @@ namespace TUGraz.VectoCore.OutputData CurrentRow = Data.NewRow(); } + public FuelData.Entry FuelData { get; private set; } + public void Finish(VectoRun.Status runStatus) { var dataColumns = new List<ModalResultField> { ModalResultField.time }; diff --git a/VectoCore/VectoCore/Utils/Physics.cs b/VectoCore/VectoCore/Utils/Physics.cs index 4b6edc6caafba27eaa00a93f75593338d3018b7e..ac63dd4bb2a355c97e0d8eb15277624e040a226a 100644 --- a/VectoCore/VectoCore/Utils/Physics.cs +++ b/VectoCore/VectoCore/Utils/Physics.cs @@ -46,10 +46,6 @@ namespace TUGraz.VectoCore.Utils /// </summary> public static KilogramPerCubicMeter AirDensity = 1.188.SI<KilogramPerCubicMeter>(); - /// <summary> - /// Density of fuel. - /// </summary> - public static KilogramPerCubicMeter FuelDensity = 832.SI<KilogramPerCubicMeter>(); public const double RollResistanceExponent = 0.9; @@ -67,10 +63,5 @@ namespace TUGraz.VectoCore.Utils /// Hellmann Exponent for modelling of wind speed in specific heights. /// </summary> public const double HellmannExponent = 0.2; - - /// <summary> - /// fuel[kg] => co2[kg]. Factor to convert from fuel weight to co2 weight. - /// </summary> - public static double CO2PerFuelWeight = 3.16; } } \ No newline at end of file diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj index 459239ec801bb9c1bcbbb62c185bd93e10ba1305..4356f0f03c746fcad1202f384b880322c9aec6ef 100644 --- a/VectoCore/VectoCore/VectoCore.csproj +++ b/VectoCore/VectoCore/VectoCore.csproj @@ -166,6 +166,7 @@ <Compile Include="Models\Connector\Ports\IFvPort.cs" /> <Compile Include="Models\Connector\Ports\ITnPort.cs" /> <Compile Include="InputData\Reader\ComponentData\AccelerationCurveReader.cs" /> + <Compile Include="Models\Declaration\FuelData.cs" /> <Compile Include="Models\Declaration\PTOTransmission.cs" /> <Compile Include="Models\Declaration\IDeclarationAuxiliaryTable.cs" /> <Compile Include="Models\SimulationComponent\Data\AngledriveData.cs" /> @@ -431,6 +432,7 @@ </EmbeddedResource> <EmbeddedResource Include="Resources\Declaration\MissionCycles\MunicipalUtility_PTO_generic.vptoc" /> <EmbeddedResource Include="Resources\Declaration\MissionCycles\MunicipalUtility_PTO_generic.vptol" /> + <EmbeddedResource Include="Resources\Declaration\FuelTypes.csv" /> </ItemGroup> <ItemGroup> <EmbeddedResource Include="Resources\Declaration\Report\4x2r.png" /> diff --git a/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs index f390dd5768051c08e26a637637394588d8739ce6..3797a8a9bd9524a252db97c0adcfee5203243e72 100644 --- a/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs +++ b/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs @@ -77,7 +77,7 @@ namespace TUGraz.VectoCore.Tests.Integration bool overspeed = false, KilogramSquareMeter gearBoxInertia = null) { var fileWriter = new FileOutputWriter(modFileName); - var modData = new ModalDataContainer(modFileName, fileWriter) { + var modData = new ModalDataContainer(modFileName, FuelType.DieselCI, fileWriter) { WriteModalResults = true, HasTorqueConverter = true }; diff --git a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs index 91912d7232e8e315eafa511bf5ae7025b42f18c5..9527cbd03c9500669c6811c4610387f1d26bd065 100644 --- a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs +++ b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs @@ -123,7 +123,7 @@ namespace TUGraz.VectoCore.Tests.Integration.BusAuxiliaries var engineFLDFilePath = @"TestData\Integration\BusAuxiliaries\24t Coach.vfld"; var engineFCMapFilePath = @"TestData\Integration\BusAuxiliaries\24t Coach.vmap"; - var vehicle = new VehicleContainer(ExecutionMode.Engineering); + var vehicle = new VehicleContainer(ExecutionMode.Engineering, new MockModalDataContainer()); var fcMap = FuelConsumptionMapReader.ReadFromFile(engineFCMapFilePath); var fld = EngineFullLoadCurve.ReadFromFile(engineFLDFilePath); var modelData = new CombustionEngineData() { diff --git a/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs b/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs index 79ce266962b45552cd94f2ccc5b0aff60345a9a6..3bfa4573d45f62d57319aa8790b2f89bd708a353 100644 --- a/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs +++ b/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs @@ -75,7 +75,7 @@ namespace TUGraz.VectoCore.Tests.Integration bool highEnginePower = true) { var fileWriter = new FileOutputWriter(modFileName); - var modData = new ModalDataContainer(modFileName, fileWriter) { WriteAdvancedAux = true, WriteModalResults = true }; + var modData = new ModalDataContainer(modFileName, FuelType.DieselCI, fileWriter) { WriteAdvancedAux = true, WriteModalResults = true }; var container = new VehicleContainer(ExecutionMode.Engineering, modData) { RunData = new VectoRunData { JobName = modFileName, Cycle = cycleData } }; diff --git a/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs index fef70e6d68aed537b5d60b5d65e308278c0b43a6..dce0151e0f31b870125682bd639f4e7a0fb2af57 100644 --- a/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs +++ b/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs @@ -75,7 +75,7 @@ namespace TUGraz.VectoCore.Tests.Integration KilogramSquareMeter gearBoxInertia = null, bool engineHighPower = true) { var fileWriter = new FileOutputWriter(modFileName); - var modData = new ModalDataContainer(modFileName, fileWriter) { WriteModalResults = true }; + var modData = new ModalDataContainer(modFileName, FuelType.DieselCI, fileWriter) { WriteModalResults = true }; var container = new VehicleContainer(ExecutionMode.Engineering, modData) { RunData = new VectoRunData { JobName = modFileName, Cycle = cycleData } }; diff --git a/VectoCore/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs b/VectoCore/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs index d42b318eaa33afb36e2f5748be2ec101ca80fdc9..02d38767c068b1c07fd535a9f16891e75b9ffeb1 100644 --- a/VectoCore/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs +++ b/VectoCore/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs @@ -37,6 +37,7 @@ using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.InputData.Reader; using TUGraz.VectoCore.Models.Connector.Ports.Impl; +using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.Impl; using TUGraz.VectoCore.Models.SimulationComponent.Data; @@ -88,7 +89,7 @@ namespace TUGraz.VectoCore.Tests.Integration.EngineOnlyCycle var modFile = Path.GetFileNameWithoutExtension(modalResultFile); //Path.GetFileNameWithoutExtension(Path.GetRandomFileName()); // + ".vmod"; var fileWriter = new FileOutputWriter(modFile); - var modData = new ModalDataContainer(modFile, fileWriter, true) { WriteModalResults = true }; + var modData = new ModalDataContainer(modFile, FuelType.DieselCI, fileWriter, true) { WriteModalResults = true }; modData.AddAuxiliary(Constants.Auxiliaries.Cycle); port.Initialize(data.Entries.First().Torque, data.Entries.First().AngularVelocity); foreach (var cycleEntry in data.Entries) { diff --git a/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs b/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs index 6f2f22579bcb228ca26a45851c2fea84246a5fdc..0fe65c037d738b3b4291db961ec41e2f144774eb 100644 --- a/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs +++ b/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs @@ -71,7 +71,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns public void Test_FullPowertrain_SimpleGearbox() { var fileWriter = new FileOutputWriter("Coach_FullPowertrain_SimpleGearbox"); - var modData = new ModalDataContainer("Coach_FullPowertrain_SimpleGearbox", fileWriter); + var modData = new ModalDataContainer("Coach_FullPowertrain_SimpleGearbox", FuelType.DieselCI, fileWriter); var container = new VehicleContainer(ExecutionMode.Engineering, modData); var gearboxData = CreateSimpleGearboxData(); @@ -134,7 +134,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns public void Test_FullPowertrain() { var fileWriter = new FileOutputWriter("Coach_FullPowertrain"); - var modData = new ModalDataContainer("Coach_FullPowertrain", fileWriter); + var modData = new ModalDataContainer("Coach_FullPowertrain", FuelType.DieselCI, fileWriter); var container = new VehicleContainer(ExecutionMode.Engineering, modData); var gearboxData = CreateGearboxData(); @@ -212,7 +212,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns public void Test_FullPowertrain_LowSpeed() { var fileWriter = new FileOutputWriter("Coach_FullPowertrain_LowSpeed"); - var modData = new ModalDataContainer("Coach_FullPowertrain_LowSpeed", fileWriter); + var modData = new ModalDataContainer("Coach_FullPowertrain_LowSpeed", FuelType.DieselCI, fileWriter); var container = new VehicleContainer(ExecutionMode.Engineering, modData); var gearboxData = CreateGearboxData(); diff --git a/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs b/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs index e01dbeb844036b62b37f4e15e0ae966d9d7e4e31..84d54158c3b9f5263fc9b7c5a6d9f5b1fa870078 100644 --- a/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs +++ b/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs @@ -75,7 +75,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns var driverData = CreateDriverData(AccelerationFile); var fileWriter = new FileOutputWriter("Coach_MinimalPowertrainOverload"); - var modData = new ModalDataContainer("Coach_MinimalPowertrainOverload", fileWriter); + var modData = new ModalDataContainer("Coach_MinimalPowertrainOverload", FuelType.DieselCI, fileWriter); var container = new VehicleContainer(ExecutionMode.Engineering, modData); var driver = new Driver(container, driverData, new DefaultDriverStrategy()); @@ -121,7 +121,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns var driverData = CreateDriverData(AccelerationFile); var fileWriter = new FileOutputWriter("Coach_MinimalPowertrain"); - var modData = new ModalDataContainer("Coach_MinimalPowertrain", fileWriter); + var modData = new ModalDataContainer("Coach_MinimalPowertrain", FuelType.DieselCI, fileWriter); var container = new VehicleContainer(ExecutionMode.Engineering, modData); var cycle = new DistanceBasedDrivingCycle(container, cycleData); @@ -193,7 +193,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns var driverData = CreateDriverData(AccelerationFile2); var fileWriter = new FileOutputWriter("Coach_MinimalPowertrainOverload"); - var modData = new ModalDataContainer("Coach_MinimalPowertrainOverload", fileWriter); + var modData = new ModalDataContainer("Coach_MinimalPowertrainOverload", FuelType.DieselCI, fileWriter); var container = new VehicleContainer(ExecutionMode.Engineering, modData); var cycle = new DistanceBasedDrivingCycle(container, cycleData); diff --git a/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs index 428b90cdd673590c0bdfb95461cb443fbd72736f..00b8cab64b9a4195d0be1939b6303111a1d629ff 100644 --- a/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs +++ b/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs @@ -85,7 +85,7 @@ namespace TUGraz.VectoCore.Tests.Integration Kilogram massExtra, Kilogram loading, bool overspeed = false, GearboxType gbxType = GearboxType.AMT) { var fileWriter = new FileOutputWriter(modFileName); - var modData = new ModalDataContainer(Path.GetFileName(modFileName), fileWriter) { WriteModalResults = true }; + var modData = new ModalDataContainer(Path.GetFileName(modFileName), FuelType.DieselCI, fileWriter) { WriteModalResults = true }; var container = new VehicleContainer(ExecutionMode.Engineering, modData) { RunData = new VectoRunData { JobName = modFileName, Cycle = cycleData } }; diff --git a/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs b/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs index 4297deb76d6a35a353161b70abf06f10520f3239..b9185306ca3694b2c95254e22bb8f94b36f335c2 100644 --- a/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs +++ b/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs @@ -62,7 +62,9 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation { var fileWriter = new FileOutputWriter("AuxWriteModFileSumFile"); - var modData = new ModalDataContainer("AuxWriteModFileSumFile", fileWriter) { WriteModalResults = true }; + var modData = new ModalDataContainer("AuxWriteModFileSumFile", FuelType.DieselCI, fileWriter) { + WriteModalResults = true + }; modData.AddAuxiliary("FAN"); modData.AddAuxiliary("PS"); modData.AddAuxiliary("STP"); diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs index 2c94ef86a3d344454f9b1959db3b4106a7b17c5e..84abb65280a6698cf8dc3293c6612c68d6d9f864 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs @@ -72,7 +72,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent var driverData = CreateDriverData(); var fileWriter = new FileOutputWriter("Coach_MinimalPowertrain_Coasting"); - var modData = new ModalDataContainer("Coach_MinimalPowertrain_Coasting", fileWriter); + var modData = new ModalDataContainer("Coach_MinimalPowertrain_Coasting", FuelType.DieselCI, fileWriter); var vehicleContainer = new VehicleContainer(ExecutionMode.Engineering, modData); var mockCycle = new MockDrivingCycle(vehicleContainer, null); @@ -128,7 +128,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent var driverData = CreateDriverData(); var fileWriter = new FileOutputWriter("Coach_MinimalPowertrain_Coasting"); - var modData = new ModalDataContainer("Coach_MinimalPowertrain_Coasting", fileWriter); + var modData = new ModalDataContainer("Coach_MinimalPowertrain_Coasting", FuelType.DieselCI, fileWriter); var vehicleContainer = new VehicleContainer(ExecutionMode.Engineering, modData); var mockCycle = new MockDrivingCycle(vehicleContainer, null); @@ -190,7 +190,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent var driverData = CreateDriverData(); var fileWriter = new FileOutputWriter("Coach_MinimalPowertrain"); - var modData = new ModalDataContainer("Coach_MinimalPowertrain", fileWriter); + var modData = new ModalDataContainer("Coach_MinimalPowertrain", FuelType.DieselCI, fileWriter); var vehicleContainer = new VehicleContainer(ExecutionMode.Engineering, modData); var cycle = new MockDrivingCycle(vehicleContainer, null); diff --git a/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs b/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs index 442b57b3ddfd873d97662ec90674c87c33b4ed38..faaf23237f25e0a84a2f52ac30780c87781e387e 100644 --- a/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs +++ b/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs @@ -32,6 +32,7 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.DataBus; using TUGraz.VectoCore.Models.Simulation.Impl; @@ -52,7 +53,7 @@ namespace TUGraz.VectoCore.Tests.Reports var writer = new FileOutputWriter("testsumcalc_fixed"); var sumWriter = new SummaryDataContainer(writer); - var modData = new ModalDataContainer("testsumcalc_fixed", writer); + var modData = new ModalDataContainer("testsumcalc_fixed", FuelType.DieselCI, writer); modData.AddAuxiliary("FAN"); @@ -108,7 +109,7 @@ namespace TUGraz.VectoCore.Tests.Reports var writer = new FileOutputWriter("testsumcalc_var"); var sumWriter = new SummaryDataContainer(writer); - var modData = new ModalDataContainer("testsumcalc_var", writer); + var modData = new ModalDataContainer("testsumcalc_var", FuelType.DieselCI, writer); modData.AddAuxiliary("FAN"); var timeSteps = new[] diff --git a/VectoCore/VectoCoreTest/Utils/MockModalDataContainer.cs b/VectoCore/VectoCoreTest/Utils/MockModalDataContainer.cs index f0a08e3fbeb543b0c1734f503aac1bd7266f4e99..ba581dd6ec24d1d1fa64fb6bf1c5ef182c30f9f9 100644 --- a/VectoCore/VectoCoreTest/Utils/MockModalDataContainer.cs +++ b/VectoCore/VectoCoreTest/Utils/MockModalDataContainer.cs @@ -34,6 +34,7 @@ using System.Collections.Generic; using System.Data; using System.Linq; using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.Impl; using TUGraz.VectoCore.OutputData; @@ -74,6 +75,8 @@ namespace TUGraz.VectoCore.Tests.Utils CurrentRow = Data.NewRow(); } + public FuelData.Entry FuelData { get { return VectoCore.Models.Declaration.FuelData.Diesel; } } + public VectoRun.Status RunStatus { get { return VectoRun.Status.Success; } diff --git a/VectoCore/VectoCoreTest/Utils/MockVehicleContainer.cs b/VectoCore/VectoCoreTest/Utils/MockVehicleContainer.cs index 5b94e64f13ac437b60446f17072d623aff79d5eb..344ae6fafc7d43518236130fb5ccd31de533b341 100644 --- a/VectoCore/VectoCoreTest/Utils/MockVehicleContainer.cs +++ b/VectoCore/VectoCoreTest/Utils/MockVehicleContainer.cs @@ -33,6 +33,7 @@ using System.Collections.Generic; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.Connector.Ports; +using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.DataBus; @@ -70,6 +71,11 @@ namespace TUGraz.VectoCore.Tests.Utils public MeterPerSquareSecond StartAcceleration { get; set; } public NewtonMeter GearMaxTorque { get; set; } + public FuelType FuelType + { + get { return FuelType.DieselCI; } + } + public Second AbsTime { get; set; } public Watt GearboxLoss()