diff --git a/VectoCore/Models/Simulation/Data/IModalDataWriter.cs b/VectoCore/Models/Simulation/Data/IModalDataWriter.cs index b93a4815a09cc9447230dec0519624629478d1d1..fa3c9c3a9d945c27cb7dd97f8d36dcf050b72cff 100644 --- a/VectoCore/Models/Simulation/Data/IModalDataWriter.cs +++ b/VectoCore/Models/Simulation/Data/IModalDataWriter.cs @@ -13,6 +13,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Data /// <returns></returns> object this[ModalResultField key] { get; set; } + bool HasTorqueConverter { get; set; } + /// <summary> /// Commits the data of the current simulation step. /// </summary> diff --git a/VectoCore/Models/Simulation/Data/ModalDataWriter.cs b/VectoCore/Models/Simulation/Data/ModalDataWriter.cs index 86b3fdda83b94565d08d3f5d7c9daaae12723669..4e947fed36e13510b4a5bebd3784ccf1c6dff8ae 100644 --- a/VectoCore/Models/Simulation/Data/ModalDataWriter.cs +++ b/VectoCore/Models/Simulation/Data/ModalDataWriter.cs @@ -15,12 +15,15 @@ namespace TUGraz.VectoCore.Models.Simulation.Data public ModalDataWriter(string modFileName, bool engineOnly) { + HasTorqueConverter = false; ModFileName = modFileName; Data = new ModalResults(); CurrentRow = Data.NewRow(); _engineOnly = engineOnly; } + public bool HasTorqueConverter { get; set; } + public void CommitSimulationStep() { Data.Rows.Add(CurrentRow); @@ -71,13 +74,14 @@ namespace TUGraz.VectoCore.Models.Simulation.Data ModalResultField.Pbrake }); - //todo only add if (GBX.TCon) - dataColumns.AddRange(new[] { - ModalResultField.TCν, - ModalResultField.TCmu, - ModalResultField.TC_M_Out, - ModalResultField.TC_n_Out - }); + if (HasTorqueConverter) { + dataColumns.AddRange(new[] { + ModalResultField.TCν, + ModalResultField.TCmu, + ModalResultField.TC_M_Out, + ModalResultField.TC_n_Out + }); + } //todo: auxiliaries } diff --git a/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs b/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs index 5015f3f24d5f168bc6041502492f42274f7e2cc9..97ff0a9af0aaa9c081f76abf0ed8f195be495157 100644 --- a/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs +++ b/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs @@ -105,10 +105,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl public IVectoSimulator Build(string cycleFile) { - if (_engineOnly) { - return BuildEngineOnly(cycleFile); - } - return BuildFullPowertrain(cycleFile); + return _engineOnly ? BuildEngineOnly(cycleFile) : BuildFullPowertrain(cycleFile); } private IVectoSimulator BuildFullPowertrain(string cycleFile) @@ -189,6 +186,12 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl public void AddGearbox(string gearboxFile) { + var gearboxData = GearboxData.ReadFromFile(gearboxFile); + _axleGear = new AxleGear(gearboxData.AxleGearData); + + _dataWriter.HasTorqueConverter = gearboxData.HasTorqueConverter; + + //todo init gearbox with gearbox data _gearBox = new Gearbox(_container); } diff --git a/VectoCore/Models/SimulationComponent/Data/GearboxData.cs b/VectoCore/Models/SimulationComponent/Data/GearboxData.cs index b88942c9574bb2140a42b2662da2a24334f34af9..322b4e54fde31c61a8c2dfddff78a31519132a41 100644 --- a/VectoCore/Models/SimulationComponent/Data/GearboxData.cs +++ b/VectoCore/Models/SimulationComponent/Data/GearboxData.cs @@ -96,7 +96,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data gearboxData._data = d; for (uint i = 0; i < d.Body.Gears.Count; i++) { - var gearSettings = d.Body.Gears[(int) i]; + var gearSettings = d.Body.Gears[(int)i]; var lossMapPath = Path.Combine(basePath, gearSettings.LossMap); TransmissionLossMap lossMap = TransmissionLossMap.ReadFromFile(lossMapPath, gearSettings.Ratio); @@ -206,7 +206,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data public SI Inertia { get { return _data.Body.Inertia.SI().Kilo.Gramm.Square.Meter; } - protected set { _data.Body.Inertia = (double) value.ConvertTo().Kilo.Gramm.Square.Meter; } + protected set { _data.Body.Inertia = (double)value.ConvertTo().Kilo.Gramm.Square.Meter; } } /// <summary> @@ -263,6 +263,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data protected set { _data.Body.StartAcceleration = value; } } + public bool HasTorqueConverter + { + get { return _data.Body.TorqueConverter != null; } + } + /// <summary> /// A class which represents the json data format for serializing and deseralizing the GearboxData files diff --git a/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs b/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs index 6dac5b39f0f65e31b6ec79e471d50ed855440d0d..3596d58395d749c7f9507433595022d3bf379f70 100644 --- a/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs +++ b/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs @@ -18,7 +18,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent [TestMethod] public void AxleGearTest() { - VehicleContainer vehicle = new VehicleContainer(); + var vehicle = new VehicleContainer(); var gbxData = GearboxData.ReadFromFile(GearboxDataFile); //GearData gearData = new GearData(); var axleGear = new AxleGear(gbxData.AxleGearData); diff --git a/VectoCoreTest/Utils/TestModalDataWriter.cs b/VectoCoreTest/Utils/TestModalDataWriter.cs index 18df84d85194860c1aa63a93a02f4a5148419b9b..a9e4d8ccc6f0de77b9b61d9e2889ce1886b54c78 100644 --- a/VectoCoreTest/Utils/TestModalDataWriter.cs +++ b/VectoCoreTest/Utils/TestModalDataWriter.cs @@ -20,6 +20,8 @@ namespace TUGraz.VectoCore.Tests.Utils public ModalResults Data { get; set; } public DataRow CurrentRow { get; set; } + public bool HasTorqueConverter { get; set; } + public void CommitSimulationStep() { Data.Rows.Add(CurrentRow);