Code development platform for open source projects from the European Union institutions

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

corrected some gearbox tests

parent 40fbf3c2
No related branches found
No related tags found
No related merge requests found
......@@ -195,7 +195,7 @@ namespace TUGraz.VectoCore.FileIO.Reader.DataObjectAdaper
new GearData {
LossMap = gearLossMap,
ShiftPolygon = shiftPolygon,
FullLoadCurve = gearFullLoad,
FullLoadCurve = gearFullLoad ?? engine.FullLoadCurve,
Ratio = gear.Ratio,
TorqueConverterActive = false
});
......
......@@ -41,7 +41,7 @@ namespace TUGraz.VectoCore.FileIO.Reader.DataObjectAdaper
{
var fileV5Eng = gearbox as GearboxFileV5Engineering;
if (fileV5Eng != null) {
return CreateGearboxData(fileV5Eng);
return CreateGearboxData(fileV5Eng, engine);
}
throw new VectoException("Unsupported GearboxData File Instance");
}
......@@ -138,8 +138,9 @@ namespace TUGraz.VectoCore.FileIO.Reader.DataObjectAdaper
/// Gearbox, File-format Version 4
/// </summary>
/// <param name="gearbox"></param>
/// <param name="engineData"></param>
/// <returns></returns>
internal GearboxData CreateGearboxData(GearboxFileV5Engineering gearbox)
internal GearboxData CreateGearboxData(GearboxFileV5Engineering gearbox, CombustionEngineData engineData)
{
var retVal = SetCommonGearboxData(gearbox.Body);
......@@ -157,22 +158,25 @@ namespace TUGraz.VectoCore.FileIO.Reader.DataObjectAdaper
retVal.HasTorqueConverter = data.TorqueConverter.Enabled;
var engineFullLoadCurve = (engineData != null) ? engineData.FullLoadCurve : null;
for (uint i = 0; i < gearbox.Body.Gears.Count; i++) {
var gearSettings = gearbox.Body.Gears[(int)i];
var lossMapPath = Path.Combine(gearbox.BasePath, gearSettings.LossMap);
TransmissionLossMap lossMap = TransmissionLossMap.ReadFromFile(lossMapPath, gearSettings.Ratio);
var lossMap = TransmissionLossMap.ReadFromFile(lossMapPath, gearSettings.Ratio);
var shiftPolygon = !string.IsNullOrEmpty(gearSettings.ShiftPolygon)
? ShiftPolygon.ReadFromFile(Path.Combine(gearbox.BasePath, gearSettings.ShiftPolygon))
: null;
var fullLoad = !string.IsNullOrEmpty(gearSettings.FullLoadCurve) && !gearSettings.FullLoadCurve.Equals("<NOFILE>")
? FullLoadCurve.ReadFromFile(Path.Combine(gearbox.BasePath, gearSettings.FullLoadCurve))
: null;
var shiftPolygon = string.IsNullOrEmpty(gearSettings.ShiftPolygon)
? null
: ShiftPolygon.ReadFromFile(Path.Combine(gearbox.BasePath, gearSettings.ShiftPolygon));
var fullLoad = string.IsNullOrEmpty(gearSettings.FullLoadCurve) || gearSettings.FullLoadCurve.Equals("<NOFILE>")
? null
: FullLoadCurve.ReadFromFile(Path.Combine(gearbox.BasePath, gearSettings.FullLoadCurve));
var gear = new GearData {
LossMap = lossMap,
ShiftPolygon = shiftPolygon,
FullLoadCurve = fullLoad,
FullLoadCurve = fullLoad ?? engineFullLoadCurve,
Ratio = gearSettings.Ratio,
TorqueConverterActive = gearSettings.TCactive
};
......
......@@ -96,12 +96,13 @@ namespace TUGraz.VectoCore.FileIO.Reader.Impl
}
var dao = new EngineeringDataAdapter();
var driver = dao.CreateDriverData(job);
var engineData = dao.CreateEngineData(Engine);
foreach (var cycle in job.Body.Cycles) {
var simulationRunData = new VectoRunData {
BasePath = job.BasePath,
JobFileName = job.JobFile,
EngineData = dao.CreateEngineData(Engine),
GearboxData = dao.CreateGearboxData(Gearbox, null),
EngineData = engineData,
GearboxData = dao.CreateGearboxData(Gearbox, engineData),
VehicleData = dao.CreateVehicleData(Vehicle),
DriverData = driver,
Aux = Aux,
......
......@@ -307,7 +307,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
}
if (!outEngineSpeed.IsEqual(0)) {
var isShiftAllowed = (_shiftTime + Data.ShiftTime).IsSmaller(absTime);
var isShiftAllowed = (_shiftTime + Data.ShiftTime).IsSmallerOrEqual(absTime);
if (isShiftAllowed && _strategy.ShiftRequired(Gear, inTorque, inEngineSpeed)) {
_shiftTime = absTime + Data.TractionInterruption;
......
......@@ -121,6 +121,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
var driver = new MockDriver(container);
var port = new MockTnOutPort();
gearbox.InPort().Connect(port);
container.Engine = port;
var absTime = 0.SI<Second>();
var dt = 2.SI<Second>();
......@@ -282,8 +283,8 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
gearbox.OutPort().Initialize(0.SI<NewtonMeter>(), 0.SI<PerSecond>());
var first = gearbox.OutPort().Request(absTime, dt, 1000.SI<NewtonMeter>(), 100.SI<PerSecond>());
var first = gearbox.OutPort().Request(absTime, dt, 1000.SI<NewtonMeter>(), 1000.RPMtoRad());
driver.VehicleStopped = false;
absTime += dt;
foreach (var exp in expected) {
......@@ -372,7 +373,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
gearbox.Initialize(0.SI<NewtonMeter>(), 0.SI<PerSecond>());
var absTime = 0.SI<Second>();
var dt = 1.SI<Second>();
var dt = 2.SI<Second>();
driver.VehicleStopped = true;
......
......@@ -70,6 +70,8 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData
public void TestInputOutOfRange()
{
var gbxData = EngineeringModeSimulationDataReader.CreateGearboxDataFromFile(GearboxFile);
Assert.Inconclusive("test another file which is not correct");
}
protected PerSecond SpeedToAngularSpeed(double v, double r)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment