diff --git a/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs b/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs index dfc6cc7269c335e6efe8f17d714527a44b0d9621..89308418c87548177a7749598e9c4286951f3f03 100644 --- a/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs +++ b/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs @@ -4,7 +4,6 @@ using System.Data; using System.Linq; using Common.Logging; using Newtonsoft.Json; -using NLog.Fluent; using TUGraz.VectoCore.Exceptions; using TUGraz.VectoCore.Utils; @@ -86,16 +85,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox _ratio = gearRatio; _entries = entries; _lossMap = new DelauneyMap(); - //_reverseLossMap = new DelauneyMap(); foreach (var entry in _entries) { - _lossMap.AddPoint(entry.InputSpeed.Value(), (entry.InputTorque.Value() - entry.TorqueLoss.Value()) * _ratio, + _lossMap.AddPoint(entry.InputSpeed.Value(), ((entry.InputTorque - entry.TorqueLoss) * _ratio).Value(), entry.InputTorque.Value()); - // @@@quam: according to Raphael, not needed for now... - //_reverseLossMap.AddPoint(entry.InputSpeed.Double(), entry.InputTorque.Double(), - // entry.InputTorque.Double() - entry.TorqueLoss.Double()); } _lossMap.Triangulate(); - //_reverseLossMap.Triangulate(); } /// <summary> @@ -108,9 +102,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox { try { var gbxInTorque = _lossMap.Interpolate(angularVelocity.Value(), gbxOutTorque.Value()).SI<NewtonMeter>(); - LogManager.GetLogger(this.GetType()).DebugFormat("GearboxLoss: {0}", gbxInTorque); - // Torque at input of the geabox must be greater than or equal to the torque at the output - // (i.e. no 'torque-gain' in the transmission due to interpolation etc.) + LogManager.GetLogger(GetType()).DebugFormat("GearboxLoss: {0}", gbxInTorque); + // Torque at input of the gearbox must be greater or equal than the value without any losses (just torque/ratio) return VectoMath.Max(gbxInTorque, gbxOutTorque / _ratio); } catch (Exception e) { throw new VectoSimulationException( @@ -119,15 +112,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox } } - /// <summary> - /// Compute the available torque at the output of the gear(box) (towards wheels) - /// </summary> - /// <returns>[Nm] torque provided to the next component (towards the wheels)</returns> - //public NewtonMeter GearboxOutTorque(PerSecond angularVelocity, NewtonMeter gbxInTorque) - //{ - // // TODO extrapolate! - // return _reverseLossMap.Interpolate(angularVelocity.Double(), gbxInTorque.Double()).SI<NewtonMeter>(); - //} public GearLossMapEntry this[int i] { get { return _entries[i]; } diff --git a/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs b/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs index b7351c3e3b7d866be43800bf2a2dfd34dc1b60b9..1ce5a8c66f4b6c122f8e7cec4081e75ae6294fd4 100644 --- a/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs +++ b/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs @@ -58,7 +58,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns var engine = new CombustionEngine(vehicleContainer, engineData); AddComponent(tmp, engine); - var gbx = new DummyGearbox(vehicleContainer); + var gbx = new MockGearbox(vehicleContainer); var driverPort = driver.OutPort(); @@ -108,7 +108,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns tmp = AddComponent(tmp, new Clutch(vehicleContainer, engineData)); AddComponent(tmp, new CombustionEngine(vehicleContainer, engineData)); - var gbx = new DummyGearbox(vehicleContainer); + var gbx = new MockGearbox(vehicleContainer); var cyclePort = cycle.OutPort(); @@ -179,7 +179,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns tmp = AddComponent(tmp, new Clutch(vehicleContainer, engineData)); AddComponent(tmp, new CombustionEngine(vehicleContainer, engineData)); - var gbx = new DummyGearbox(vehicleContainer); + var gbx = new MockGearbox(vehicleContainer); var cyclePort = cycle.OutPort(); diff --git a/VectoCoreTest/Models/SimulationComponent/ClutchTest.cs b/VectoCoreTest/Models/SimulationComponent/ClutchTest.cs index 59b9d5d2f197f1a23ace3899d0c0e28a54226fca..25d7e2d4be6f6c88a0f7492b311145fa60f1ee5d 100644 --- a/VectoCoreTest/Models/SimulationComponent/ClutchTest.cs +++ b/VectoCoreTest/Models/SimulationComponent/ClutchTest.cs @@ -20,7 +20,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent { var vehicle = new VehicleContainer(); var engineData = EngineeringModeSimulationDataReader.CreateEngineDataFromFile(CoachEngine); - var gearbox = new DummyGearbox(vehicle); + var gearbox = new MockGearbox(vehicle); var clutch = new Clutch(vehicle, engineData); diff --git a/VectoCoreTest/Models/SimulationComponent/DriverTest.cs b/VectoCoreTest/Models/SimulationComponent/DriverTest.cs index fb9f863c0df96ce76e4d55dbd34a77408c8c5d2d..c97a8c513663f650e85d75bfd5fc6169f5dd3526 100644 --- a/VectoCoreTest/Models/SimulationComponent/DriverTest.cs +++ b/VectoCoreTest/Models/SimulationComponent/DriverTest.cs @@ -54,7 +54,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent tmp = AddComponent(tmp, new Clutch(vehicleContainer, engineData)); AddComponent(tmp, engine); - var gbx = new DummyGearbox(vehicleContainer); + var gbx = new MockGearbox(vehicleContainer); gbx.CurrentGear = 1; var driverPort = driver.OutPort(); @@ -108,7 +108,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent tmp = AddComponent(tmp, new Clutch(vehicleContainer, engineData)); AddComponent(tmp, engine); - var gbx = new DummyGearbox(vehicleContainer); + var gbx = new MockGearbox(vehicleContainer); gbx.CurrentGear = 1; var driverPort = driver.OutPort(); @@ -163,7 +163,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent tmp = AddComponent(tmp, new Clutch(vehicleContainer, engineData)); AddComponent(tmp, new CombustionEngine(vehicleContainer, engineData)); - var gbx = new DummyGearbox(vehicleContainer); + var gbx = new MockGearbox(vehicleContainer); gbx.CurrentGear = 1; var driverPort = driver.OutPort(); diff --git a/VectoCoreTest/Utils/DummyGearbox.cs b/VectoCoreTest/Utils/MockGearbox.cs similarity index 87% rename from VectoCoreTest/Utils/DummyGearbox.cs rename to VectoCoreTest/Utils/MockGearbox.cs index b9b7c4fd3bed9954f62f1387269ce47384139b24..aba8aabd1fab9914c70df40d4cb032d3b565273a 100644 --- a/VectoCoreTest/Utils/DummyGearbox.cs +++ b/VectoCoreTest/Utils/MockGearbox.cs @@ -7,13 +7,13 @@ using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Tests.Utils { - public class DummyGearbox : VectoSimulationComponent, IGearbox, ITnInPort, ITnOutPort + public class MockGearbox : VectoSimulationComponent, IGearbox, ITnInPort, ITnOutPort { private ITnOutPort _outPort; public uint CurrentGear { get; set; } - public DummyGearbox(IVehicleContainer cockpit) : base(cockpit) {} + public MockGearbox(IVehicleContainer cockpit) : base(cockpit) {} public ITnInPort InPort() { diff --git a/VectoCoreTest/VectoCoreTest.csproj b/VectoCoreTest/VectoCoreTest.csproj index 844a9ae52c6982f960575a82fe9641063dedfdeb..ce9c7eeb04fe1d7ecadf16b0c64bf687cae4ba6c 100644 --- a/VectoCoreTest/VectoCoreTest.csproj +++ b/VectoCoreTest/VectoCoreTest.csproj @@ -109,7 +109,7 @@ <DesignTimeSharedInput>True</DesignTimeSharedInput> <DependentUpon>Settings.settings</DependentUpon> </Compile> - <Compile Include="Utils\DummyGearbox.cs" /> + <Compile Include="Utils\MockGearbox.cs" /> <Compile Include="Utils\SITest.cs" /> <Compile Include="Utils\DelauneyMapTest.cs" /> <Compile Include="Utils\MockModalDataWriter.cs" />