diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricMotorData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricMotorData.cs index 91e17a240c5e61f4b6ce7e201d4bcc45717d3160..b10be1b872608b53624e211d9141f6e023087fbf 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricMotorData.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/ElectricMotor/ElectricMotorData.cs @@ -80,9 +80,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data var searchResult = SearchAlgorithm.Search(retVal, electricPower - elPwr.ElectricalPower, interval: 10.SI<NewtonMeter>(), - getYValue: x => (Watt)x, + getYValue: x => (Watt)x - electricPower, evaluateFunction: x => LookupElectricPower(voltage, avgSpeed, x, true).ElectricalPower, - criterion: x => ((Watt)x).Value() + criterion: x => ((Watt)x - electricPower).Value() ); return searchResult; diff --git a/VectoCore/VectoCoreTest/FileIO/JsonReadHybridTest.cs b/VectoCore/VectoCoreTest/FileIO/JsonReadHybridTest.cs index fff7330b5f4ef65f141cab70210848663d01b52a..ea60ff7aae91bd7d6fd9a574374cdbc49e299a99 100644 --- a/VectoCore/VectoCoreTest/FileIO/JsonReadHybridTest.cs +++ b/VectoCore/VectoCoreTest/FileIO/JsonReadHybridTest.cs @@ -72,9 +72,10 @@ namespace TUGraz.VectoCore.Tests.FileIO Assert.AreEqual("9.8449", pwr.Rows[0][ElectricMotorMapReader.Fields.PowerElectrical]); var pwrMap = ElectricMotorMapReader.Create(pwr, 1); - Assert.AreEqual(-10171.0, pwrMap.LookupElectricPower(-0.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); + Assert.AreEqual(0, pwrMap.LookupElectricPower(-0.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); + Assert.AreEqual(-298.4752, pwrMap.LookupElectricPower(1.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); - Assert.AreEqual(-20430.186, pwrMap.LookupElectricPower(120.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); + Assert.AreEqual(-20853.4819, pwrMap.LookupElectricPower(120.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); } @@ -103,9 +104,10 @@ namespace TUGraz.VectoCore.Tests.FileIO Assert.AreEqual("9.8449", pwrLow.Rows[0][ElectricMotorMapReader.Fields.PowerElectrical]); var pwrMapLow = ElectricMotorMapReader.Create(pwrLow, 1); - Assert.AreEqual(-10171.0, pwrMapLow.LookupElectricPower(-0.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); + Assert.AreEqual(-0, pwrMapLow.LookupElectricPower(-0.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); + Assert.AreEqual(-298.4752, pwrMapLow.LookupElectricPower(1.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); - Assert.AreEqual(-20430.186, pwrMapLow.LookupElectricPower(120.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); + Assert.AreEqual(-20853.4819, pwrMapLow.LookupElectricPower(120.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); @@ -126,9 +128,10 @@ namespace TUGraz.VectoCore.Tests.FileIO Assert.AreEqual("8.86041", pwrHi.Rows[0][ElectricMotorMapReader.Fields.PowerElectrical]); var pwrMap = ElectricMotorMapReader.Create(pwrHi, 1); - Assert.AreEqual(-9153.9, pwrMap.LookupElectricPower(-0.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); + Assert.AreEqual(0, pwrMap.LookupElectricPower(-0.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); + Assert.AreEqual(-268.6277, pwrMap.LookupElectricPower(1.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); - Assert.AreEqual(-18387.16730, pwrMap.LookupElectricPower(120.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); + Assert.AreEqual(-18768.1337, pwrMap.LookupElectricPower(120.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); } [TestCase()] @@ -142,10 +145,7 @@ namespace TUGraz.VectoCore.Tests.FileIO Assert.AreEqual(26, emData.DragCurve.Lookup(2000.RPMtoRad()).Value()); - Assert.AreEqual(33, emData.DragCurve.Lookup(2000.RPMtoRad()).Value()); - Assert.AreEqual(29.5, emData.DragCurve.Lookup(2000.RPMtoRad()).Value()); - Assert.AreEqual(31.25, emData.DragCurve.Lookup(2000.RPMtoRad()).Value()); - + var em = emData.EfficiencyData; Assert.AreEqual(-334.2300, em.FullLoadDriveTorque(400.SI<Volt>(), 2000.RPMtoRad()).Value()); @@ -158,10 +158,17 @@ namespace TUGraz.VectoCore.Tests.FileIO Assert.AreEqual(370.153, em.FullGenerationTorque(500.SI<Volt>(), 2000.RPMtoRad()).Value()); Assert.AreEqual(388.1145, em.FullGenerationTorque(550.SI<Volt>(), 2000.RPMtoRad()).Value()); - Assert.AreEqual(-101.760, em.EfficiencyMapLookupTorque(400.SI<Volt>(), -25000.SI<Watt>(), 2000.RPMtoRad(), -300.SI<NewtonMeter>()).Value(), 1e-3); - Assert.AreEqual(-115.1818, em.EfficiencyMapLookupTorque(600.SI<Volt>(), -25000.SI<Watt>(), 2000.RPMtoRad(), -300.SI<NewtonMeter>()).Value(), 1e-3); - Assert.AreEqual(14.5383, em.EfficiencyMapLookupTorque(500.SI<Volt>(), -25000.SI<Watt>(), 2000.RPMtoRad(), -300.SI<NewtonMeter>()).Value(), 1e-3); - Assert.AreEqual(14.5383, em.EfficiencyMapLookupTorque(550.SI<Volt>(), -25000.SI<Watt>(), 2000.RPMtoRad(), -300.SI<NewtonMeter>()).Value(), 1e-3); + Assert.AreEqual(-101.70072, em.EfficiencyMapLookupTorque(400.SI<Volt>(), -25000.SI<Watt>(), 2000.RPMtoRad(), -300.SI<NewtonMeter>()).Value(), 1e-3); + Assert.AreEqual(-25000, em.LookupElectricPower(400.SI<Volt>(), 2000.RPMtoRad(), -101.70072.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-1); + + Assert.AreEqual(-114.51788, em.EfficiencyMapLookupTorque(600.SI<Volt>(), -25000.SI<Watt>(), 2000.RPMtoRad(), -300.SI<NewtonMeter>()).Value(), 1e-3); + Assert.AreEqual(-25000, em.LookupElectricPower(600.SI<Volt>(), 2000.RPMtoRad(), -114.51788.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-1); + + Assert.AreEqual(-107.772009, em.EfficiencyMapLookupTorque(500.SI<Volt>(), -25000.SI<Watt>(), 2000.RPMtoRad(), -300.SI<NewtonMeter>()).Value(), 1e-3); + Assert.AreEqual(-25000, em.LookupElectricPower(500.SI<Volt>(), 2000.RPMtoRad(), -107.772009.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-1); + + Assert.AreEqual(-111.053784, em.EfficiencyMapLookupTorque(550.SI<Volt>(), -25000.SI<Watt>(), 2000.RPMtoRad(), -300.SI<NewtonMeter>()).Value(), 1e-3); + Assert.AreEqual(-25000, em.LookupElectricPower(550.SI<Volt>(), 2000.RPMtoRad(), -111.053784.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-1); } @@ -192,9 +199,11 @@ namespace TUGraz.VectoCore.Tests.FileIO Assert.AreEqual("9.8449", pwr.Rows[0][ElectricMotorMapReader.Fields.PowerElectrical]); var pwrMap = ElectricMotorMapReader.Create(pwr, 2); - Assert.AreEqual(-5816.6, pwrMap.LookupElectricPower(-0.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); + Assert.AreEqual(0, pwrMap.LookupElectricPower(-0.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); + Assert.AreEqual(-147.2105, pwrMap.LookupElectricPower(1.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); + - Assert.AreEqual(-16170.5166, pwrMap.LookupElectricPower(120.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); + Assert.AreEqual(-16412.2624, pwrMap.LookupElectricPower(120.RPMtoRad(), -800.SI<NewtonMeter>()).ElectricalPower.Value(), 1e-3); } diff --git a/VectoCore/VectoCoreTest/Integration/ADAS/ADASTestsConventional.cs b/VectoCore/VectoCoreTest/Integration/ADAS/ADASTestsConventional.cs index 5e3c0639d4a77e09646e9e5bf44b6621b5c274d9..a76168ec48d425f9577c3d0d0cca0f2d838ee66c 100644 --- a/VectoCore/VectoCoreTest/Integration/ADAS/ADASTestsConventional.cs +++ b/VectoCore/VectoCoreTest/Integration/ADAS/ADASTestsConventional.cs @@ -1031,8 +1031,8 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS (3410, 3468, OutsideSegment, Coast), // len: 58m (3468, 3854, OutsideSegment, Roll), // len: 386m (3854, 3864, OutsideSegment, Brake), // len: 10m - (3864, 3884, OutsideSegment, Coast), // len: 20m - (3884, 5012, OutsideSegment, Brake), // len: 1128m + (3864, 3915, OutsideSegment, Coast), // len: 20m + (3915, 5012, OutsideSegment, Brake), // len: 1128m (5012, 5420, OutsideSegment, Coast), // len: 408m (5420, 1e6, OutsideSegment, Accelerate)); @@ -1232,9 +1232,9 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS public void Class5_PCC123EcoRollEngineStop_CaseA_Conventional() => TestPCC(MethodBase.GetCurrentMethod().Name, (0, 4025, OutsideSegment, Accelerate), // len: 4025m (4025, 5309, WithinSegment, Accelerate), // len: 1284m - (5309, 5908, UseCase1, Roll), // len: 599m - (5908, 5932, OutsideSegment, Coast), // len: 24m - (5932, 1e6, OutsideSegment, Accelerate)); + (5309, 5920, UseCase1, Roll), // len: 599m + //(5920, 5932, OutsideSegment, Coast), // len: 24m + (5920, 1e6, OutsideSegment, Accelerate)); [TestCase] public void Class5_PCC123EcoRollEngineStop_CaseB_Conventional() => TestPCC(MethodBase.GetCurrentMethod().Name, @@ -1243,7 +1243,7 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS (5216, 6698, UseCase1, Roll), // len: 1482m (6698, 6757, WithinSegment, Coast), // len: 59m (6757, 7158, WithinSegment, Roll), // len: 401m - (7158, 7170, WithinSegment, Brake), // len: 12m + //(7158, 7170, WithinSegment, Brake), // len: 12m (7170, 7552, WithinSegment, Coast), // len: 382m (7552, 7912, OutsideSegment, Coast), // len: 360m (7912, 1e6, OutsideSegment, Accelerate)); @@ -1370,8 +1370,8 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS (3410, 3468, OutsideSegment, Coast), // len: 58m (3468, 3854, OutsideSegment, Roll), // len: 386m (3854, 3864, OutsideSegment, Brake), // len: 10m - (3864, 3884, OutsideSegment, Coast), // len: 20m - (3884, 5012, OutsideSegment, Brake), // len: 1128m + (3864, 3915, OutsideSegment, Coast), // len: 20m + (3915, 5012, OutsideSegment, Brake), // len: 1128m (5012, 5420, OutsideSegment, Coast), // len: 408m (5420, 1e6, OutsideSegment, Accelerate)); diff --git a/VectoCore/VectoCoreTest/Integration/ADAS/ADASTestsPEV.cs b/VectoCore/VectoCoreTest/Integration/ADAS/ADASTestsPEV.cs index 39251c77028b1d30074beb826b36537dbaa4e58e..e287cf0ee70a30149660b1e24bbfae910c4d9988 100644 --- a/VectoCore/VectoCoreTest/Integration/ADAS/ADASTestsPEV.cs +++ b/VectoCore/VectoCoreTest/Integration/ADAS/ADASTestsPEV.cs @@ -132,19 +132,19 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS (4837, 4845, OutsideSegment, Roll), // len: 8m (4845, 4881, OutsideSegment, Accelerate), // len: 36m (4881, 4887, OutsideSegment, Roll), // len: 6m - (4887, 4903, OutsideSegment, Accelerate), // len: 16m - (4903, 4909, OutsideSegment, Roll), // len: 6m - (4909, 5041, OutsideSegment, Accelerate), // len: 46m + (4887, 4900, OutsideSegment, Accelerate), // len: 16m + (4900, 4905, OutsideSegment, Roll), // len: 6m + (4905, 5082, OutsideSegment, Accelerate), // len: 46m //(4955, 5041, OutsideSegment, Roll), // len: 7m //(4962, 4983, OutsideSegment, Accelerate), // len: 21m //(4983, 4991, OutsideSegment, Roll), // len: 8m //(4991, 5015, OutsideSegment, Accelerate), // len: 24m //(5015, 5025, OutsideSegment, Roll), // len: 10m - (5041, 5054, OutsideSegment, Roll), // len: 28m - (5054, 5087, OutsideSegment, Accelerate), // len: 12m - (5087, 5102, OutsideSegment, Roll), // len: 392m - (5102, 5437, OutsideSegment, Accelerate), - (5437, 5532, OutsideSegment, Coast), // len: 107m + (5082, 5097, OutsideSegment, Roll), // len: 28m + (5097, 5135, OutsideSegment, Accelerate), // len: 12m + (5135, 5152, OutsideSegment, Roll), // len: 392m + (5152, 5431, OutsideSegment, Accelerate), + (5431, 5537, OutsideSegment, Coast), // len: 107m (5564, 6084, OutsideSegment, Brake) // len: 517m //(6081, 6366, OutsideSegment, Coast), // len: 285m //(6366, 1e6, OutsideSegment, Accelerate) @@ -152,18 +152,18 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS [TestCase] public void Class5_E2_NoADAS_CrestCoast1() => TestPCC(MethodBase.GetCurrentMethod().Name.Split('_').Slice(0, -1).Join("_"), MethodBase.GetCurrentMethod().Name.Split('_').Last(), - (0, 0, OutsideSegment, Halt), // len: 0m - (0, 13, OutsideSegment, Accelerate), // len: 13m - (13, 18, OutsideSegment, Roll), // len: 5m - (18, 36, OutsideSegment, Accelerate), // len: 18m - (36, 43, OutsideSegment, Roll), // len: 7m - (43, 78, OutsideSegment, Accelerate), // len: 35m - (78, 87, OutsideSegment, Roll), // len: 9m - (87, 169, OutsideSegment, Accelerate), // len: 82m - (169, 182, OutsideSegment, Roll), // len: 13m - (182, 278, OutsideSegment, Accelerate), // len: 96m - (278, 295, OutsideSegment, Roll), // len: 17m - (295, 3809, OutsideSegment, Accelerate), // len: 3514m + //(0, 0, OutsideSegment, Halt), // len: 0m + //(0, 13, OutsideSegment, Accelerate), // len: 13m + //(13, 18, OutsideSegment, Roll), // len: 5m + //(18, 36, OutsideSegment, Accelerate), // len: 18m + //(36, 43, OutsideSegment, Roll), // len: 7m + //(43, 78, OutsideSegment, Accelerate), // len: 35m + //(78, 87, OutsideSegment, Roll), // len: 9m + //(87, 169, OutsideSegment, Accelerate), // len: 82m + //(169, 182, OutsideSegment, Roll), // len: 13m + //(182, 278, OutsideSegment, Accelerate), // len: 96m + //(278, 295, OutsideSegment, Roll), // len: 17m + (500, 3809, OutsideSegment, Accelerate), // len: 3514m (3809, 4568, OutsideSegment, Coast), // len: 759m (4568, 5001, OutsideSegment, Brake), // len: 433m (5001, 5408, OutsideSegment, Coast), // len: 407m @@ -183,7 +183,7 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS //(169, 182, OutsideSegment, Roll), // len: 13m //(182, 278, OutsideSegment, Accelerate), // len: 96m //(278, 295, OutsideSegment, Roll), // len: 17m - (442, 3615, OutsideSegment, Accelerate), // len: 3320m + (500, 3615, OutsideSegment, Accelerate), // len: 3320m (3615, 4248, OutsideSegment, Coast), // len: 633m (4248, 4509, OutsideSegment, Brake), // len: 261m (4509, 4717, OutsideSegment, Coast), // len: 208m @@ -280,19 +280,21 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS (4837, 4845, WithinSegment, Roll), // len: 8m (4845, 4881, WithinSegment, Accelerate), // len: 36m (4881, 4887, WithinSegment, Roll), // len: 6m - (4887, 4903, WithinSegment, Accelerate), // len: 16m - (4903, 4909, WithinSegment, Roll), // len: 6m - (4909, 5041, WithinSegment, Accelerate), // len: 46m - (5041, 5054, WithinSegment, Roll), // len: 7m - (5054, 5087, WithinSegment, Accelerate), // len: 21m - (5087, 5102, WithinSegment, Roll), // len: 8m + (4887, 4900, WithinSegment, Accelerate), // len: 16m + (4900, 4905, WithinSegment, Roll), // len: 6m + (4905, 5082, WithinSegment, Accelerate), // len: 46m + (5082, 5097, WithinSegment, Roll), // len: 7m + (5097, 5135, WithinSegment, Accelerate), // len: 21m + (5135, 5152, WithinSegment, Roll), // len: 8m //(4991, 5015, WithinSegment, Accelerate), // len: 24m //(5015, 5025, WithinSegment, Roll), // len: 10m //(5025, 5053, WithinSegment, Accelerate), // len: 28m //(5053, 5065, WithinSegment, Roll), // len: 12m - (5102, 5356, WithinSegment, Accelerate), // len: 291m + (5152, 5356, WithinSegment, Accelerate), // len: 291m (5356, 5684, UseCase2, Coast), // len: 328m - (5684, 6135, WithinSegment, Coast), // len: 451m + (5684, 6010, WithinSegment, Coast), // len: 451m + (6010, 6072, WithinSegment, Brake), // len: 451m + (6072, 6135, WithinSegment, Coast), // len: 451m (6135, 6473, OutsideSegment, Coast), // len: 338m (6473, 1e6, OutsideSegment, Accelerate)); @@ -309,7 +311,7 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS //(169, 182, OutsideSegment, Roll), // len: 13m //(182, 278, OutsideSegment, Accelerate), // len: 96m //(278, 295, OutsideSegment, Roll), // len: 17m - (422, 3809, OutsideSegment, Accelerate), // len: 3514m + (500, 3809, OutsideSegment, Accelerate), // len: 3514m (3809, 4568, OutsideSegment, Coast), // len: 759m (4568, 5001, OutsideSegment, Brake), // len: 433m (5001, 5408, OutsideSegment, Coast), // len: 407m @@ -329,7 +331,7 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS //(169, 182, OutsideSegment, Roll), // len: 13m //(182, 278, OutsideSegment, Accelerate), // len: 96m //(278, 295, OutsideSegment, Roll), // len: 17m - (422, 3615, OutsideSegment, Accelerate), // len: 3320m + (500, 3615, OutsideSegment, Accelerate), // len: 3320m (3615, 4248, OutsideSegment, Coast), // len: 633m (4248, 4509, OutsideSegment, Brake), // len: 261m (4509, 4717, OutsideSegment, Coast), // len: 208m @@ -433,17 +435,17 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS (4837, 4845, WithinSegment, Roll), // len: 8m (4845, 4881, WithinSegment, Accelerate), // len: 36m (4881, 4887, WithinSegment, Roll), // len: 6m - (4887, 4903, WithinSegment, Accelerate), // len: 16m - (4903, 4909, WithinSegment, Roll), // len: 6m - (4909, 5041, WithinSegment, Accelerate), // len: 46m - (5041, 5054, WithinSegment, Roll), // len: 7m - (5054, 5087, WithinSegment, Accelerate), // len: 21m - (5087, 5102, WithinSegment, Roll), // len: 8m + (4887, 4900, WithinSegment, Accelerate), // len: 16m + (4900, 4905, WithinSegment, Roll), // len: 6m + (4905, 5082, WithinSegment, Accelerate), // len: 46m + (5082, 5097, WithinSegment, Roll), // len: 7m + (5097, 5135, WithinSegment, Accelerate), // len: 21m + (5135, 5152, WithinSegment, Roll), // len: 8m //(4991, 5015, WithinSegment, Accelerate), // len: 24m //(5015, 5025, WithinSegment, Roll), // len: 10m //(5025, 5053, WithinSegment, Accelerate), // len: 28m //(5053, 5065, WithinSegment, Roll), // len: 12m - (5065, 5356, WithinSegment, Accelerate), // len: 291m + (5152, 5356, WithinSegment, Accelerate), // len: 291m (5356, 5684, UseCase2, Coast), // len: 328m (5684, 5755, WithinSegment, Coast), // len: 71m (5755, 6080, WithinSegment, Brake), // len: 325m @@ -464,7 +466,7 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS //(169, 182, OutsideSegment, Roll), // len: 13m //(182, 278, OutsideSegment, Accelerate), // len: 96m //(278, 295, OutsideSegment, Roll), // len: 17m - (422, 3809, OutsideSegment, Accelerate), // len: 3514m + (500, 3809, OutsideSegment, Accelerate), // len: 3514m (3809, 4568, OutsideSegment, Coast), // len: 759m (4568, 5001, OutsideSegment, Brake), // len: 433m (5001, 5408, OutsideSegment, Coast), // len: 407m diff --git a/VectoCore/VectoCoreTest/Integration/AMTShiftStrategyTests.cs b/VectoCore/VectoCoreTest/Integration/AMTShiftStrategyTests.cs index 73d27a4a754efa732b8ab124d30c565bb522631a..2d5182ad5d4742fc932298ee4b4b8e571802b233 100644 --- a/VectoCore/VectoCoreTest/Integration/AMTShiftStrategyTests.cs +++ b/VectoCore/VectoCoreTest/Integration/AMTShiftStrategyTests.cs @@ -37,7 +37,7 @@ namespace TUGraz.VectoCore.Tests.Integration // RunJob_DeclSingle(jobName, 9); //} - public void RunJob_DeclSingle(string jobName, int runIdx) + public void RunJob_DeclSingle(string jobName, int runIdx) { var relativeJobPath = jobName; var writer = new FileOutputWriter(relativeJobPath); diff --git a/VectoCore/VectoCoreTest/Integration/Declaration/NaturalGasVehicles.cs b/VectoCore/VectoCoreTest/Integration/Declaration/NaturalGasVehicles.cs index 83f6dc0b74b0c029d96daadd99b499c06260b1d7..09c976b8f6216edaeda053c67befee98795be010 100644 --- a/VectoCore/VectoCoreTest/Integration/Declaration/NaturalGasVehicles.cs +++ b/VectoCore/VectoCoreTest/Integration/Declaration/NaturalGasVehicles.cs @@ -74,8 +74,8 @@ namespace TUGraz.VectoCore.Tests.Integration.Declaration [ TestCase(Class5NG, 2, TankSystem.Liquefied, 253.8, 703.2, TestName = "Class5 LNG 2"), TestCase(Class5NG, 2, TankSystem.Compressed, 259.7, 698.6 , TestName = "Class5 CNG 2"), - TestCase(Class5NG, 6, TankSystem.Liquefied, 253.3, 701.64, TestName = "Class5 LNG 6"), - TestCase(Class5NG, 6, TankSystem.Compressed, 259.1, 696.99, TestName = "Class5 CNG 6"), + TestCase(Class5NG, 6, TankSystem.Liquefied, 253.2, 701.43, TestName = "Class5 LNG 6"), + TestCase(Class5NG, 6, TankSystem.Compressed, 259.0, 696.78, TestName = "Class5 CNG 6"), ] public void NaturalGasTankSystemTest(string filename, int runIdx, TankSystem tankSystem, double expectedFc, double expectedCo2) { diff --git a/VectoCore/VectoCoreTest/Integration/TorqueLimitsTest.cs b/VectoCore/VectoCoreTest/Integration/TorqueLimitsTest.cs index 9449a675a886eafe6928c8b8c4157e62ca1b9da5..6cc856913e867c5980f3ac1b39b2538e7b3f6d6f 100644 --- a/VectoCore/VectoCoreTest/Integration/TorqueLimitsTest.cs +++ b/VectoCore/VectoCoreTest/Integration/TorqueLimitsTest.cs @@ -263,12 +263,13 @@ namespace TUGraz.VectoCore.Tests.Integration Assert.IsTrue(jobContainer.Runs.All(r => r.Success), string.Concat(jobContainer.Runs.Select(r => r.ExecException))); var view = new DataView(sumData.Table, "", SummaryDataContainer.Fields.SORT, DataViewRowState.CurrentRows).ToTable(); Console.WriteLine(string.Join("; ", view.AsEnumerable().Select(x => x[string.Format(SummaryDataContainer.Fields.FCMAP_KM, "")].ToString().ToDouble()))); - Assert.AreEqual(201.34762, view.Rows[0][string.Format(SummaryDataContainer.Fields.FCMAP_KM, "")].ToString().ToDouble(), 1e-3); + //201.361576994368; 239.289343483313; 169.755876536437; 182.846813110234; 219.963573213321; 251.22381935842 + Assert.AreEqual(201.36157, view.Rows[0][string.Format(SummaryDataContainer.Fields.FCMAP_KM, "")].ToString().ToDouble(), 1e-3); Assert.AreEqual(239.28934, view.Rows[1][string.Format(SummaryDataContainer.Fields.FCMAP_KM, "")].ToString().ToDouble(), 1e-3); - Assert.AreEqual(169.94310, view.Rows[2][string.Format(SummaryDataContainer.Fields.FCMAP_KM, "")].ToString().ToDouble(), 1e-3); - Assert.AreEqual(182.88093, view.Rows[3][string.Format(SummaryDataContainer.Fields.FCMAP_KM, "")].ToString().ToDouble(), 1e-3); - Assert.AreEqual(221.72701, view.Rows[4][string.Format(SummaryDataContainer.Fields.FCMAP_KM, "")].ToString().ToDouble(), 1e-3); - Assert.AreEqual(251.83813, view.Rows[5][string.Format(SummaryDataContainer.Fields.FCMAP_KM, "")].ToString().ToDouble(), 1e-3); + Assert.AreEqual(169.75587, view.Rows[2][string.Format(SummaryDataContainer.Fields.FCMAP_KM, "")].ToString().ToDouble(), 1e-3); + Assert.AreEqual(182.84681, view.Rows[3][string.Format(SummaryDataContainer.Fields.FCMAP_KM, "")].ToString().ToDouble(), 1e-3); + Assert.AreEqual(219.96357, view.Rows[4][string.Format(SummaryDataContainer.Fields.FCMAP_KM, "")].ToString().ToDouble(), 1e-3); + Assert.AreEqual(251.22381, view.Rows[5][string.Format(SummaryDataContainer.Fields.FCMAP_KM, "")].ToString().ToDouble(), 1e-3); } [TestCase(EngineSpeedLimitJobATDecl)] diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/ElectricMotorTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/ElectricMotorTest.cs index fce37835bec5d61e96b89c4fb634ccaf569561df..f6da8e1e92b7e8f95d3adeffabf92461feb4650d 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponent/ElectricMotorTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/ElectricMotorTest.cs @@ -36,13 +36,13 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory); } - [TestCase(100, 100, -1479.601019), - TestCase(100, 30, -494.148831), - TestCase(100, 300, -5033.132712), - TestCase(600, 100, -7290.510011), - TestCase(600, 300, -21431.717255), - TestCase(800, -100, 7178.770573), - TestCase(800, -300, 22444.155535)] + [TestCase(100, 100, -1484.401151), + TestCase(100, 30, -498.336701), + TestCase(100, 300, -5058.393920), + TestCase(600, 100, -7292.591952), + TestCase(600, 300, -21459.016866), + TestCase(800, -100, 7174.730264), + TestCase(800, -300, 22354.108093)] public void ElectricMotorOnlyRequestTest(double speed, double torque, double expectedBatteryPower) { var container = new MockVehicleContainer(); @@ -83,13 +83,13 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent Assert.IsTrue(response.ElectricSystem.ConsumerPower.Value() < enginePower.Value()); } - [TestCase(100, 100, -1557.958914), - TestCase(100, 30, -514.409252), - TestCase(100, 300, -5354.8590277), - TestCase(600, 100, -7634.931063), - TestCase(600, 300, -22551.5067289), - TestCase(800, -100, 6899.830573), - TestCase(800, -300, 21495.107228)] + [TestCase(100, 100, -1566.457317), + TestCase(100, 30, -519.553356), + TestCase(100, 300, -5395.304809), + TestCase(600, 100, -7653.267447), + TestCase(600, 300, -22631.653148), + TestCase(800, -100, 6785.258050), + TestCase(800, -300, 21273.378603)] public void ElectricMotorOnlyRequestTestMechLoss(double speed, double torque, double expectedBatteryPower) { var container = new MockVehicleContainer(); @@ -130,12 +130,12 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent Assert.IsTrue(response.ElectricSystem.ConsumerPower.Value() < enginePower.Value()); } - [TestCase(100, 100, -30, -494.148831), - TestCase(100, 300, -150, -2265.054223), - TestCase(600, 100, 100, 5368.366615), - TestCase(600, 300, -50, -3926.835416), - TestCase(800, -100, 200, 14945.984737), - TestCase(800, -300, 200, 14945.984737),] + [TestCase(100, 100, -30, -498.33670), + TestCase(100, 300, -150, -2273.504629), + TestCase(600, 100, 100, 5367.264248), + TestCase(600, 300, -50, -3925.642046), + TestCase(800, -100, 200, 14907.629627), + TestCase(800, -300, 200, 14907.629627),] public void ElectricMotorAssistingRequestTest(double speed, double torque, double electricTorque, double expectedBatteryPower) { var container = new MockVehicleContainer(); @@ -181,12 +181,12 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent Assert.IsTrue(response.ElectricSystem.ConsumerPower.Value() < response.ElectricMotor.ElectricMotorPowerMech.Value()); } - [TestCase(100, 100, -30, -514.409252), - TestCase(100, 300, -150, -2393.422644), - TestCase(600, 100, 100, 5089.426615), - TestCase(600, 300, -50, -4095.4354163), - TestCase(800, -100, 200, 14414.8247370), - TestCase(800, -300, 200, 14414.8247370),] + [TestCase(100, 100, -30, -519.553356), + TestCase(100, 300, -150, -2407.931677), + TestCase(600, 100, 100, 5075.160087), + TestCase(600, 300, -50, -4102.198874), + TestCase(800, -100, 200, 14165.993213), + TestCase(800, -300, 200, 14165.993213),] public void ElectricMotorAssistingRequestTestMechLoss(double speed, double torque, double electricTorque, double expectedBatteryPower) { var container = new MockVehicleContainer(); @@ -287,12 +287,12 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent battery.CommitSimulationStep(absTime, dt, modData); } - [TestCase(0.5, 100, 100, -1479.601019, 2.674905), - TestCase(0.5, 100, 300, -5033.132712, 31.224759), - TestCase(0.5, 600, 100, -7290.510011, 65.884061), - TestCase(0.5, 600, 300, -21431.717255, 590.431866), - TestCase(0.5, 800, -100, 7178.770573, 61.667578), - TestCase(0.5, 800, -300, 22444.155535, 581.889779) + [TestCase(0.5, 100, 100, -1484.401151, 2.69232), + TestCase(0.5, 100, 300, -5058.393920, 31.54095), + TestCase(0.5, 600, 100, -7292.591952, 65.92202), + TestCase(0.5, 600, 300, -21459.016866, 591.97964), + TestCase(0.5, 800, -100, 7174.730264, 61.59876), + TestCase(0.5, 800, -300, 22354.108093, 577.346990) ] public void ElectricMotorOnlyWithBatteryRequestTest(double initialSoc, double speed, double torque, double expectedBatteryPower, double expectedBatteryLoss) { @@ -401,7 +401,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent var i = 0; var t1 = 21; - var t2 = 13; + var t2 = 14; var t3 = 20; try { diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ElectricMotorEfficienyMapTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ElectricMotorEfficienyMapTest.cs index e1759afd92b0d22691eb405916c7bc53d41645dc..298d539c57724dd8c80a8a5b210fd7f5a4ef1224 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ElectricMotorEfficienyMapTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ElectricMotorEfficienyMapTest.cs @@ -23,10 +23,10 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData { } - [TestCase(-10000, 700, -120.6737), // EM drive has negative torque and thus negative electric power - TestCase(-20000, 1200, -141.5367), - TestCase(10000, 700, 153.5121), - TestCase(20000, 1200, 177.4109)] + [TestCase(-10000, 700, -118.916545), // EM drive has negative torque and thus negative electric power + TestCase(-20000, 1200, -141.451404), + TestCase(10000, 700, 155.046977), + TestCase(20000, 1200, 177.530544)] public void TestLookupTorqueForBatPower(double batPwr, double emSpeed, double expectedTq) { var inputProvider = diff --git a/VectoCore/VectoCoreTest/Reports/ModDataPostprocessingTest.cs b/VectoCore/VectoCoreTest/Reports/ModDataPostprocessingTest.cs index c0331eab1a7aba44d01841baf940925d46c274eb..8bbb6b9db598474954cd4aa2b882facc9e01ed43 100644 --- a/VectoCore/VectoCoreTest/Reports/ModDataPostprocessingTest.cs +++ b/VectoCore/VectoCoreTest/Reports/ModDataPostprocessingTest.cs @@ -1200,6 +1200,7 @@ namespace TUGraz.VectoCore.Tests.Reports modData[ModalResultField.P_EM_electricMotor_el_, emPos] = 120.SI<Watt>() * emEff; modData[ModalResultField.P_EM_mech_, emPos] = 120.SI<Watt>(); + modData[ModalResultField.EM_Off_, emPos] = 0.SI<Scalar>(); // WHR modData[ModalResultField.P_WHR_el_corr] = 0.SI<Watt>(); @@ -1237,6 +1238,7 @@ namespace TUGraz.VectoCore.Tests.Reports modData[ModalResultField.P_EM_electricMotor_el_, emPos] = 120.SI<Watt>() * emEff; modData[ModalResultField.P_EM_mech_, emPos] = 120.SI<Watt>(); + modData[ModalResultField.EM_Off_, emPos] = 0.SI<Scalar>(); // WHR modData[ModalResultField.P_WHR_el_corr] = 0.SI<Watt>(); @@ -1279,6 +1281,7 @@ namespace TUGraz.VectoCore.Tests.Reports modData[ModalResultField.P_EM_electricMotor_el_, emPos] = 120.SI<Watt>() * emEff; modData[ModalResultField.P_EM_mech_, emPos] = 120.SI<Watt>(); + modData[ModalResultField.EM_Off_, emPos] = 0.SI<Scalar>(); // WHR modData[ModalResultField.P_WHR_el_corr] = 0.SI<Watt>(); @@ -1380,7 +1383,7 @@ namespace TUGraz.VectoCore.Tests.Reports modData[ModalResultField.P_EM_electricMotor_el_, emPos] = 120.SI<Watt>() * emEff; modData[ModalResultField.P_EM_mech_, emPos] = 120.SI<Watt>(); - + modData[ModalResultField.EM_Off_, emPos] = 0.SI<Scalar>(); // WHR modData[ModalResultField.P_WHR_el_corr] = 0.SI<Watt>(); @@ -1418,6 +1421,7 @@ namespace TUGraz.VectoCore.Tests.Reports modData[ModalResultField.P_EM_electricMotor_el_, emPos] = 120.SI<Watt>() * emEff; modData[ModalResultField.P_EM_mech_, emPos] = 120.SI<Watt>(); + modData[ModalResultField.EM_Off_, emPos] = 0.SI<Scalar>(); // WHR modData[ModalResultField.P_WHR_el_corr] = 0.SI<Watt>(); @@ -1460,6 +1464,7 @@ namespace TUGraz.VectoCore.Tests.Reports modData[ModalResultField.P_EM_electricMotor_el_, emPos] = 120.SI<Watt>() * emEff; modData[ModalResultField.P_EM_mech_, emPos] = 120.SI<Watt>(); + modData[ModalResultField.EM_Off_, emPos] = 0.SI<Scalar>(); // WHR modData[ModalResultField.P_WHR_el_corr] = 0.SI<Watt>(); @@ -2227,6 +2232,7 @@ namespace TUGraz.VectoCore.Tests.Reports modData[ModalResultField.P_EM_electricMotor_el_, emPos] = 120.SI<Watt>() * emEff; modData[ModalResultField.P_EM_mech_, emPos] = 120.SI<Watt>(); + modData[ModalResultField.EM_Off_, emPos] = 0.SI<Scalar>(); // WHR @@ -2270,6 +2276,7 @@ namespace TUGraz.VectoCore.Tests.Reports modData[ModalResultField.P_EM_electricMotor_el_, emPos] = 120.SI<Watt>() * emEff; modData[ModalResultField.P_EM_mech_, emPos] = 120.SI<Watt>(); + modData[ModalResultField.EM_Off_, emPos] = 0.SI<Scalar>(); // WHR modData[ModalResultField.P_WHR_el_corr] = P_WHR; @@ -2501,6 +2508,7 @@ namespace TUGraz.VectoCore.Tests.Reports modData[ModalResultField.P_EM_electricMotor_el_, emPos] = 120.SI<Watt>() * emEff; modData[ModalResultField.P_EM_mech_, emPos] = 120.SI<Watt>(); + modData[ModalResultField.EM_Off_, emPos] = 0.SI<Scalar>(); modData[ModalResultField.P_reess_int] = P_bat; modData[ModalResultField.P_reess_terminal] = P_bat * (P_bat < 0 ? batEff : 1/batEff); @@ -2551,6 +2559,7 @@ namespace TUGraz.VectoCore.Tests.Reports modData[ModalResultField.P_EM_electricMotor_el_, emPos] = -120.SI<Watt>() / emEff; modData[ModalResultField.P_EM_mech_, emPos] = -120.SI<Watt>(); + modData[ModalResultField.EM_Off_, emPos] = 0.SI<Scalar>(); modData[ModalResultField.P_reess_int] = P_bat; modData[ModalResultField.P_reess_terminal] = P_bat * (P_bat < 0 ? batEff : 1 / batEff); diff --git a/VectoCore/VectoCoreTest/XML/XMLWritingTest.cs b/VectoCore/VectoCoreTest/XML/XMLWritingTest.cs index 44e26ea93718324461a98dd1abccbb16caf2970b..e5ba6ea7cfe7aeb1aa654a47819740b4fe25b594 100644 --- a/VectoCore/VectoCoreTest/XML/XMLWritingTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLWritingTest.cs @@ -102,7 +102,7 @@ namespace TUGraz.VectoCore.Tests.XML var xml = xmlInputReader.CreateEngineering(outFile); Assert.IsNotNull(xml); - Assert.AreEqual("325kW 12.7l Engine", xml.JobInputData.JobName); + Assert.AreEqual("N/A N/A", xml.JobInputData.JobName); } [Category("LongRunning")] @@ -118,7 +118,7 @@ namespace TUGraz.VectoCore.Tests.XML var xml = xmlInputReader.CreateEngineering(outFile); Assert.IsNotNull(xml); - Assert.AreEqual("325kW 12.7l Engine", xml.JobInputData.JobName); + Assert.AreEqual("N/A N/A", xml.JobInputData.JobName); } [Category("LongRunning")] @@ -136,7 +136,7 @@ namespace TUGraz.VectoCore.Tests.XML var xml = xmlInputReader.CreateEngineering(Path.Combine(outDir, outFile)); Assert.IsNotNull(xml); - Assert.AreEqual("325kW 12.7l Engine", xml.JobInputData.JobName); + Assert.AreEqual("N/A N/A", xml.JobInputData.JobName); } [Category("LongRunning")]