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 9a5ea750 authored by Michael KRISPER's avatar Michael KRISPER
Browse files

changed gearbox behaviour when engineSpeed is 0

parent 4faa3891
No related branches found
No related tags found
No related merge requests found
...@@ -122,7 +122,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl ...@@ -122,7 +122,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
if (CurrentGear.FullLoadCurve != null) { if (CurrentGear.FullLoadCurve != null) {
var maxTorque = CurrentGear.FullLoadCurve.FullLoadStationaryTorque(inEngineSpeed); var maxTorque = CurrentGear.FullLoadCurve.FullLoadStationaryTorque(inEngineSpeed);
if (inTorque.Abs() > maxTorque) { if (inEngineSpeed > 0 && inTorque.Abs() > maxTorque) {
_gear = _previousGear; _gear = _previousGear;
return new ResponseGearboxOverload { return new ResponseGearboxOverload {
Delta = Math.Sign(inTorque.Value()) * (inTorque.Abs() - maxTorque) * inEngineSpeed, Delta = Math.Sign(inTorque.Value()) * (inTorque.Abs() - maxTorque) * inEngineSpeed,
......
...@@ -168,15 +168,15 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent ...@@ -168,15 +168,15 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
new { gear = 2, t = 2450, n = 800, loss = 58.11, responseType = typeof(ResponseGearShift) }, new { gear = 2, t = 2450, n = 800, loss = 58.11, responseType = typeof(ResponseGearShift) },
new { gear = 2, t = -1000, n = 800, loss = 29.11, responseType = typeof(ResponseSuccess) }, new { gear = 2, t = -1000, n = 800, loss = 29.11, responseType = typeof(ResponseSuccess) },
new { gear = 2, t = 850, n = 800, loss = 26.11, responseType = typeof(ResponseSuccess) }, new { gear = 2, t = 850, n = 800, loss = 26.11, responseType = typeof(ResponseSuccess) },
new { gear = 2, t = 850, n = 0, loss = 22.06, responseType = typeof(ResponseSuccess) }, new { gear = 2, t = 850, n = 0, loss = 22.06, responseType = typeof(ResponseGearShift) },
new { gear = 2, t = 850, n = 400, loss = 11.334, responseType = typeof(ResponseGearShift) }, new { gear = 2, t = 850, n = 400, loss = 11.334, responseType = typeof(ResponseGearShift) },
new { gear = 2, t = 850, n = 2000, loss = 32.18, responseType = typeof(ResponseGearShift) }, new { gear = 2, t = 850, n = 2000, loss = 32.18, responseType = typeof(ResponseGearShift) },
new { gear = 7, t = -1000, n = 0, loss = 10.06, responseType = typeof(ResponseSuccess) }, new { gear = 7, t = -1000, n = 0, loss = 10.06, responseType = typeof(ResponseGearShift) },
new { gear = 7, t = -1000, n = 1200, loss = 16.132, responseType = typeof(ResponseSuccess) }, new { gear = 7, t = -1000, n = 1200, loss = 16.132, responseType = typeof(ResponseSuccess) },
new { gear = 7, t = 850, n = 0, loss = 9.31, responseType = typeof(ResponseSuccess) }, new { gear = 7, t = 850, n = 0, loss = 9.31, responseType = typeof(ResponseGearShift) },
new { gear = 7, t = 850, n = 1200, loss = 15.382, responseType = typeof(ResponseSuccess) }, new { gear = 7, t = 850, n = 1200, loss = 15.382, responseType = typeof(ResponseSuccess) },
new { gear = 7, t = 850, n = 2000, loss = 19.43, responseType = typeof(ResponseGearShift) }, new { gear = 7, t = 850, n = 2000, loss = 19.43, responseType = typeof(ResponseGearShift) },
new { gear = 7, t = 2450, n = 0, loss = 17.31, responseType = typeof(ResponseSuccess) }, new { gear = 7, t = 2450, n = 0, loss = 17.31, responseType = typeof(ResponseGearShift) },
new { gear = 7, t = 2450, n = 1200, loss = 23.382, responseType = typeof(ResponseGearboxOverload) } new { gear = 7, t = 2450, n = 1200, loss = 23.382, responseType = typeof(ResponseGearboxOverload) }
}; };
...@@ -195,10 +195,6 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent ...@@ -195,10 +195,6 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
var response = gearbox.OutPort().Request(absTime, dt, torque, angularVelocity); var response = gearbox.OutPort().Request(absTime, dt, torque, angularVelocity);
Assert.IsInstanceOfType(response, exp.responseType, exp.ToString()); Assert.IsInstanceOfType(response, exp.responseType, exp.ToString());
if (angularVelocity.IsEqual(0)) {
expectedT = 0.SI<NewtonMeter>();
}
if (exp.responseType == typeof(ResponseSuccess)) { if (exp.responseType == typeof(ResponseSuccess)) {
AssertHelper.AreRelativeEqual(absTime, port.AbsTime, message: exp.ToString()); AssertHelper.AreRelativeEqual(absTime, port.AbsTime, message: exp.ToString());
AssertHelper.AreRelativeEqual(dt, port.Dt, message: exp.ToString()); AssertHelper.AreRelativeEqual(dt, port.Dt, message: exp.ToString());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment