Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit 40fbf3c2 authored by Michael KRISPER's avatar Michael KRISPER
Browse files

updated tests for new clutch behaviour and operating point

parent d2d1fac9
Branches
Tags
No related merge requests found
......@@ -34,8 +34,6 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
var driver = new MockDriver(container);
//Test - Clutch slipping
gearbox.Gear = 1;
clutchOutPort.Request(0.SI<Second>(), 0.SI<Second>(), 100.SI<NewtonMeter>(), 0.SI<PerSecond>());
Assert.AreEqual(0, outPort.Torque.Value(), 0.001);
......@@ -47,14 +45,14 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
Assert.AreEqual(62.119969, outPort.AngularVelocity.Value(), 0.001);
//Test - Clutch opened
gearbox.Gear = 0;
driver.VehicleStopped = true;
clutchOutPort.Request(0.SI<Second>(), 0.SI<Second>(), 100.SI<NewtonMeter>(), 30.SI<PerSecond>());
Assert.AreEqual(0, outPort.Torque.Value(), 0.001);
Assert.AreEqual(engineData.IdleSpeed.Value(), outPort.AngularVelocity.Value(), 0.001);
//Test - Clutch closed
gearbox.Gear = 1;
driver.VehicleStopped = false;
clutchOutPort.Request(0.SI<Second>(), 0.SI<Second>(), 100.SI<NewtonMeter>(), 80.SI<PerSecond>());
Assert.AreEqual(100.0, outPort.Torque.Value(), 0.001);
......
......@@ -36,6 +36,9 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
cycle.OutPort().Initialize();
// just in test mock driver
driver.VehicleStopped = false;
var startDistance = cycleData.Entries.First().Distance.Value();
var absTime = 0.SI<Second>();
var response = cycle.OutPort().Request(absTime, 1.SI<Meter>());
......@@ -44,10 +47,10 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
Assert.AreEqual(0, driver.LastRequest.TargetVelocity.Value(), Tolerance);
Assert.AreEqual(0.028416069495827, driver.LastRequest.Gradient.Value(), 1E-12);
Assert.AreEqual(40, driver.LastRequest.dt.Value(), Tolerance);
Assert.AreEqual(0.5, driver.LastRequest.dt.Value(), Tolerance);
container.CommitSimulationStep(absTime, response.SimulationInterval);
absTime += response.SimulationInterval;
absTime += 40.SI<Second>();
response = cycle.OutPort().Request(absTime, 1.SI<Meter>());
......
......@@ -181,7 +181,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
vehicleContainer.CommitSimulationStep(absTime, response.SimulationInterval);
absTime += response.SimulationInterval;
Assert.AreEqual(0.9613, modalWriter.GetValues<SI>(ModalResultField.acc).Last().Value(), Tolerance);
Assert.AreEqual(0.955, modalWriter.GetValues<SI>(ModalResultField.acc).Last().Value(), Tolerance);
response = driverPort.Request(absTime, 1.SI<Meter>(), 10.SI<MeterPerSecond>(), 0.SI<Radian>());
......@@ -190,14 +190,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
vehicleContainer.CommitSimulationStep(absTime, response.SimulationInterval);
absTime += response.SimulationInterval;
Assert.AreEqual(0.7904, modalWriter.GetValues<SI>(ModalResultField.acc).Last().Value(), Tolerance);
// change vehicle weight, cannot reach minimum acceleration...
vehicleData.Loading = 70000.SI<Kilogram>();
AssertHelper.Exception<VectoSimulationException>(() => {
driverPort.Request(absTime, 0.1.SI<Meter>(), 10.SI<MeterPerSecond>(), 0.05.SI<Radian>());
}, "Could not achieve minimum acceleration");
Assert.AreEqual(0.7914, modalWriter.GetValues<SI>(ModalResultField.acc).Last().Value(), Tolerance);
}
[TestMethod]
......
......@@ -115,10 +115,10 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
var gearboxData = DeclarationModeSimulationDataReader.CreateGearboxDataFromFile(GearboxDataFile, EngineDataFile);
var container = new VehicleContainer();
var gearbox = new Gearbox(container, gearboxData, new AMTShiftStrategy(gearboxData, container));
gearbox.Gear = 1;
var ratio = 6.38;
var driver = new MockDriver(container);
var port = new MockTnOutPort();
gearbox.InPort().Connect(port);
......@@ -148,9 +148,11 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
var gearboxData = DeclarationModeSimulationDataReader.CreateGearboxDataFromFile(GearboxDataFile, EngineDataFile);
var gearbox = new Gearbox(container, gearboxData, new AMTShiftStrategy(gearboxData, container));
var driver = new MockDriver(container);
var port = new MockTnOutPort();
gearbox.InPort().Connect(port);
container.Engine = port;
gearbox.Gear = 1;
var ratio = 6.38;
......
Source diff could not be displayed: it is too large. Options to address this: view the blob.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment