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

Skip to content
Snippets Groups Projects
Commit 57053cd2 authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

Merge branch 'amdm2/develop' into 'amdm2/develop'

Amdm2/develop

See merge request vecto/vecto!25
parents 88dc9bcb c95996ff
No related branches found
No related tags found
No related merge requests found
Showing
with 79 additions and 55 deletions
......@@ -333,7 +333,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
}
var inTorqueDt = outTorque + emTorqueDt;
IResponse retVal;
IResponse retVal = null;
if (NextComponent == null) {
if (electricSupplyResponse.MaxPowerDrive.IsEqual(0.SI<Watt>(), 100.SI<Watt>())) {
retVal = new ResponseBatteryEmpty(this, electricSupplyResponse);
......@@ -358,11 +358,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
} else {
if (outAngularVelocity.IsGreater(speedLimit)) {
return new ResponseEngineSpeedTooHigh(this) {
retVal = new ResponseEngineSpeedTooHigh(this) {
DeltaEngineSpeed = outAngularVelocity - speedLimit,
};
}
if (remainingPower.IsEqual(0, Constants.SimulationSettings.LineSearchTolerance)) {
if (retVal == null && remainingPower.IsEqual(0, Constants.SimulationSettings.LineSearchTolerance)) {
//if (electricSupplyResponse.MaxPowerDrive.IsGreaterOrEqual(0)) {
if (electricSupplyResponse is ElectricSystemUnderloadResponse) {
retVal = new ResponseBatteryEmpty(this, electricSupplyResponse);
......
......@@ -54,48 +54,48 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
TestCase(P1_JOB, 7, 1, 496.4533, 14.8604, 14.9335, 39.3881, 33.9156, TestName = "P1 Hybrid TimeRun MeasuredSpeedGear RegionalDelivery"),
TestCase(P1_JOB, 8, 2, 0, 0, 0, 0, 0, TestName = "P1 Hybrid TimeRun MeasuredSpeedGear UrbanDelivery"),
TestCase(P2_JOB, 0, 0, 580.0183, 8.9119, 7.7205, 56.9726, 54.8711, TestName = "P2 Hybrid TimeRun MeasuredSpeed LongHaul"),
TestCase(P2_JOB, 1, 1, 558.3885, 10.6877, 10.0021, 42.9536, 37.8983, TestName = "P2 Hybrid TimeRun MeasuredSpeed RegionalDelivery"),
TestCase(P2_JOB, 2, 2, 591.2366, 27.7306, 26.9919, 21.3004, 9.4911, TestName = "P2 Hybrid TimeRun MeasuredSpeed UrbanDelivery"),
TestCase(P2_JOB, 0, 0, 580.0932, 8.9054, 7.7175, 56.9726, 54.8711, TestName = "P2 Hybrid TimeRun MeasuredSpeed LongHaul"),
TestCase(P2_JOB, 1, 1, 558.7323, 10.6617, 9.986, 42.9536, 37.8983, TestName = "P2 Hybrid TimeRun MeasuredSpeed RegionalDelivery"),
TestCase(P2_JOB, 2, 2, 594.4693, 27.5224, 26.7985, 21.3024, 9.4924, TestName = "P2 Hybrid TimeRun MeasuredSpeed UrbanDelivery"),
TestCase(P2_JOB, 6, 0, 580.4891, 8.6189, 7.4444, 56.9719, 54.9039, TestName = "P2 Hybrid TimeRun MeasuredSpeedGear LongHaul"),
TestCase(P2_JOB, 7, 1, 559.3722, 9.907, 9.0915, 42.9582, 37.9712, TestName = "P2 Hybrid TimeRun MeasuredSpeedGear RegionalDelivery"),
TestCase(P2_JOB, 8, 2, 583.995, 25.2196, 24.3755, 21.2142, 9.5954, TestName = "P2 Hybrid TimeRun MeasuredSpeedGear UrbanDelivery"),
TestCase(P2_JOB, 6, 0, 580.5758, 8.6123, 7.4419, 56.9719, 54.9039, TestName = "P2 Hybrid TimeRun MeasuredSpeedGear LongHaul"),
TestCase(P2_JOB, 7, 1, 559.5154, 9.8914, 9.0774, 42.9582, 37.9712, TestName = "P2 Hybrid TimeRun MeasuredSpeedGear RegionalDelivery"),
TestCase(P2_JOB, 8, 2, 584.4209, 25.146, 24.3054, 21.2145, 9.5953, TestName = "P2 Hybrid TimeRun MeasuredSpeedGear UrbanDelivery"),
TestCase(P2_5_JOB, 0, 0, 895.8485, 6.3528, 7.9792, 101.342, 85.203, TestName = "P2_5 Hybrid TimeRun MeasuredSpeed LongHaul"),
TestCase(P2_5_JOB, 0, 0, 895.9837, 6.3483, 7.9781, 101.342, 85.203, TestName = "P2_5 Hybrid TimeRun MeasuredSpeed LongHaul"),
TestCase(P2_5_JOB, 1, 1, 0, 0, 0, 0, 0, TestName = "P2_5 Hybrid TimeRun MeasuredSpeed RegionalDelivery"),
TestCase(P2_5_JOB, 2, 2, 0, 0, 0, 0, 0, TestName = "P2_5 Hybrid TimeRun MeasuredSpeed UrbanDelivery"),
TestCase(P2_5_JOB, 6, 0, 902.5565, 6.3425, 7.9693, 101.9652, 85.846, TestName = "P2_5 Hybrid TimeRun MeasuredSpeedGear LongHaul"),
TestCase(P2_5_JOB, 7, 1, 1020.8679, 7.3105, 10.2039, 88.403, 61.8949, TestName = "P2_5 Hybrid TimeRun MeasuredSpeedGear RegionalDelivery"),
TestCase(P2_5_JOB, 8, 2, 1798.6191, 15.9543, 20.1515, 61.3827, 19.0583, TestName = "P2_5 Hybrid TimeRun MeasuredSpeedGear UrbanDelivery"),
TestCase(P2_5_JOB, 7, 1, 1020.9496, 7.3004, 10.1996, 88.403, 61.8949, TestName = "P2_5 Hybrid TimeRun MeasuredSpeedGear RegionalDelivery"),
TestCase(P2_5_JOB, 8, 2, 1799.0865, 15.8997, 20.103, 61.3832, 19.0588, TestName = "P2_5 Hybrid TimeRun MeasuredSpeedGear UrbanDelivery"),
TestCase(P3_JOB, 0, 0, 588.7336, 7.9775, 6.9751, 56.963, 54.8574, TestName = "P3 Hybrid TimeRun MeasuredSpeed LongHaul"),
TestCase(P3_JOB, 1, 1, 566.4764, 10.2088, 9.4147, 42.9719, 37.8756, TestName = "P3 Hybrid TimeRun MeasuredSpeed RegionalDelivery"),
TestCase(P3_JOB, 2, 2, 592.7721, 25.3441, 24.6713, 21.2207, 9.4257, TestName = "P3 Hybrid TimeRun MeasuredSpeed UrbanDelivery"),
TestCase(P3_JOB, 0, 0, 588.6963, 7.9876, 6.9835, 56.963, 54.8574, TestName = "P3 Hybrid TimeRun MeasuredSpeed LongHaul"),
TestCase(P3_JOB, 1, 1, 566.4162, 10.2173, 9.423, 42.9719, 37.8756, TestName = "P3 Hybrid TimeRun MeasuredSpeed RegionalDelivery"),
TestCase(P3_JOB, 2, 2, 591.6374, 25.39, 24.6995, 21.2206, 9.4258, TestName = "P3 Hybrid TimeRun MeasuredSpeed UrbanDelivery"),
TestCase(P3_JOB, 6, 0, 588.671, 7.854, 6.8541, 56.9761, 54.8913, TestName = "P3 Hybrid TimeRun MeasuredSpeedGear LongHaul"),
TestCase(P3_JOB, 7, 1, 566.5061, 9.7363, 8.9298, 43.0201, 37.9452, TestName = "P3 Hybrid TimeRun MeasuredSpeedGear RegionalDelivery"),
TestCase(P3_JOB, 6, 0, 588.6146, 7.8562, 6.856, 56.9761, 54.8913, TestName = "P3 Hybrid TimeRun MeasuredSpeedGear LongHaul"),
TestCase(P3_JOB, 7, 1, 566.349, 9.75, 8.939, 43.0201, 37.9452, TestName = "P3 Hybrid TimeRun MeasuredSpeedGear RegionalDelivery"),
TestCase(P3_JOB, 8, 2, 576.2067, 23.6886, 22.7259, 21.2619, 9.5604, TestName = "P3 Hybrid TimeRun MeasuredSpeedGear UrbanDelivery"),
TestCase(P4_JOB, 0, 0, 576.0048, 2.8246, 1.8764, 56.9398, 54.8443, TestName = "P4 Hybrid TimeRun MeasuredSpeed LongHaul"),
TestCase(P4_JOB, 1, 1, 567.3571, 3.4399, 2.5402, 42.8546, 37.8333, TestName = "P4 Hybrid TimeRun MeasuredSpeed RegionalDelivery"),
TestCase(P4_JOB, 2, 2, 695.3366, 6.4542, 5.6308, 21.0714, 9.3491, TestName = "P4 Hybrid TimeRun MeasuredSpeed UrbanDelivery"),
TestCase(P4_JOB, 0, 0, 576.0028, 2.8255, 1.8767, 56.9398, 54.8443, TestName = "P4 Hybrid TimeRun MeasuredSpeed LongHaul"),
TestCase(P4_JOB, 1, 1, 567.3535, 3.4401, 2.5402, 42.8546, 37.8333, TestName = "P4 Hybrid TimeRun MeasuredSpeed RegionalDelivery"),
TestCase(P4_JOB, 2, 2, 695.1335, 6.4483, 5.6239, 21.0719, 9.3493, TestName = "P4 Hybrid TimeRun MeasuredSpeed UrbanDelivery"),
TestCase(P4_JOB, 6, 0, 575.9547, 2.7664, 1.8168, 56.9579, 54.8866, TestName = "P4 Hybrid TimeRun MeasuredSpeedGear LongHaul"),
TestCase(P4_JOB, 7, 1, 566.0554, 3.3256, 2.3911, 42.8919, 37.9241, TestName = "P4 Hybrid TimeRun MeasuredSpeedGear RegionalDelivery"),
TestCase(P4_JOB, 8, 2, 677.4848, 5.9554, 4.9907, 21.1297, 9.5309, TestName = "P4 Hybrid TimeRun MeasuredSpeedGear UrbanDelivery"),
TestCase(P4_JOB, 6, 0, 575.9543, 2.7665, 1.8168, 56.9579, 54.8866, TestName = "P4 Hybrid TimeRun MeasuredSpeedGear LongHaul"),
TestCase(P4_JOB, 7, 1, 566.0511, 3.3273, 2.3927, 42.8919, 37.9241, TestName = "P4 Hybrid TimeRun MeasuredSpeedGear RegionalDelivery"),
TestCase(P4_JOB, 8, 2, 677.4552, 5.9601, 4.9952, 21.1298, 9.5309, TestName = "P4 Hybrid TimeRun MeasuredSpeedGear UrbanDelivery"),
TestCase(IHPC_6SPEED_JOB, 0, 0, 826.6948, 21.4915, 21.4974, 101.5459, 86.1847, TestName = "IHPC_6SPEED IHPC Hybrid TimeRun MeasuredSpeed LongHaul"),
TestCase(IHPC_6SPEED_JOB, 1, 1, 942.7816, 31.6593, 31.4857, 88.8019, 62.5544, TestName = "IHPC_6SPEED IHPC Hybrid TimeRun MeasuredSpeed RegionalDelivery"),
TestCase(IHPC_6SPEED_JOB, 0, 0, 827.2331, 21.4253, 21.4769, 101.6894, 86.3392, TestName = "IHPC_6SPEED IHPC Hybrid TimeRun MeasuredSpeed LongHaul"),
TestCase(IHPC_6SPEED_JOB, 1, 1, 936.5516, 29.4226, 29.4355, 88.8575, 62.5641, TestName = "IHPC_6SPEED IHPC Hybrid TimeRun MeasuredSpeed RegionalDelivery"),
//TestCase(IHPC_6SPEED_JOB, 2, 2, 1468.0661, 73.9576, 71.7535, 64.2939, 19.9436, TestName = "IHPC_6SPEED IHPC Hybrid TimeRun MeasuredSpeed UrbanDelivery"),
TestCase(IHPC_6SPEED_JOB, 6, 0, 0, 0, 0, 0, 0, TestName = "IHPC_6SPEED IHPC Hybrid TimeRun MeasuredSpeedGear LongHaul"),
TestCase(IHPC_6SPEED_JOB, 7, 1, 0, 0, 0, 0, 0, TestName = "IHPC_6SPEED IHPC Hybrid TimeRun MeasuredSpeedGear RegionalDelivery"),
//TestCase(IHPC_6SPEED_JOB, 8, 2, 1452.9933, 77.8354, 75.2896, 64.3481, 19.9521, TestName = "IHPC_6SPEED IHPC Hybrid TimeRun MeasuredSpeedGear UrbanDelivery"),
TestCase(IHPC_12SPEED_JOB, 0, 0, 819.1887, 21.7783, 21.7076, 102.5221, 87.323, TestName = "IHPC_12SPEED IHPC Hybrid TimeRun MeasuredSpeed LongHaul"),
TestCase(IHPC_12SPEED_JOB, 1, 1, 913.4532, 31.4395, 31.2292, 89.2321, 62.8507, TestName = "IHPC_12SPEED IHPC Hybrid TimeRun MeasuredSpeed RegionalDelivery"),
TestCase(IHPC_12SPEED_JOB, 0, 0, 819.5597, 21.5762, 21.5695, 102.5211, 87.3231, TestName = "IHPC_12SPEED IHPC Hybrid TimeRun MeasuredSpeed LongHaul"),
TestCase(IHPC_12SPEED_JOB, 1, 1, 914.7695, 31.2182, 31.028, 89.2318, 62.8512, TestName = "IHPC_12SPEED IHPC Hybrid TimeRun MeasuredSpeed RegionalDelivery"),
//TestCase(IHPC_12SPEED_JOB, 2, 2, 1500.814, 67.7276, 66.4847, 63.5659, 19.8401, TestName = "IHPC_12SPEED IHPC Hybrid TimeRun MeasuredSpeed UrbanDelivery"),
TestCase(IHPC_12SPEED_JOB, 6, 0, 0, 0, 0, 0, 0, TestName = "IHPC_12SPEED IHPC Hybrid TimeRun MeasuredSpeedGear LongHaul"),
......
......@@ -7,12 +7,14 @@
},
"Body": {
"SavedInDeclMode": false,
"Model": "Generic Battery",
"InternalResistanceCurve": "GenericBattery_243kWh.vbatr",
"SOC_min": 10,
"SOC_max": 90,
"Model": "Generic Battery",
"InternalResistanceCurve": "GenericBattery_243kWh.vbatr",
"SOC_min": 10,
"SOC_max": 90,
"MaxCurrentMap": "MaxCurrent.vimax",
"Capacity": 324,
"SoCCurve": "GenericBattery_243kWh.vbatv"
"SoCCurve": "GenericBattery_243kWh.vbatv",
"ConnectorsSubsystemsIncluded": true,
"JunctionboxIncluded": true
}
}
\ No newline at end of file
......@@ -13,6 +13,8 @@
"SOC_max": 80.0,
"MaxCurrentMap": "MaxCurrent.vimax",
"InternalResistanceCurve": "GenericBattery_10kWh_658V.vbatr",
"SoCCurve": "GenericBattery_10kWh_658V.vbatv"
"SoCCurve": "GenericBattery_10kWh_658V.vbatv",
"ConnectorsSubsystemsIncluded": true,
"JunctionboxIncluded": true
}
}
\ No newline at end of file
......@@ -13,6 +13,8 @@
"SOC_max": 80.0,
"MaxCurrentMap": "MaxCurrent.vimax",
"InternalResistanceCurve": "GenericBattery_10kWh_658V.vbatr",
"SoCCurve": "GenericBattery_10kWh_658V.vbatv"
"SoCCurve": "GenericBattery_10kWh_658V.vbatv",
"ConnectorsSubsystemsIncluded": true,
"JunctionboxIncluded": true
}
}
\ No newline at end of file
......@@ -7,12 +7,14 @@
},
"Body": {
"SavedInDeclMode": false,
"Model": "Generic Battery",
"InternalResistanceCurve": "GenericBattery_243kWh.vbatr",
"SOC_min": 10,
"SOC_max": 90,
"Model": "Generic Battery",
"InternalResistanceCurve": "GenericBattery_243kWh.vbatr",
"SOC_min": 10,
"SOC_max": 90,
"MaxCurrentMap": "MaxCurrent.vimax",
"Capacity": 324,
"SoCCurve": "GenericBattery_243kWh.vbatv"
}
"SoCCurve": "GenericBattery_243kWh.vbatv",
"ConnectorsSubsystemsIncluded": true,
"JunctionboxIncluded": true
},
}
\ No newline at end of file
......@@ -7,12 +7,14 @@
},
"Body": {
"SavedInDeclMode": false,
"Model": "Generic Battery",
"InternalResistanceCurve": "GenericBattery_243kWh.vbatr",
"SOC_min": 10,
"SOC_max": 90,
"Model": "Generic Battery",
"InternalResistanceCurve": "GenericBattery_243kWh.vbatr",
"SOC_min": 10,
"SOC_max": 90,
"MaxCurrentMap": "MaxCurrent.vimax",
"Capacity": 324,
"SoCCurve": "GenericBattery_243kWh.vbatv"
"SoCCurve": "GenericBattery_243kWh.vbatv",
"ConnectorsSubsystemsIncluded": true,
"JunctionboxIncluded": true
}
}
\ No newline at end of file
......@@ -7,12 +7,14 @@
},
"Body": {
"SavedInDeclMode": false,
"Model": "Generic Battery",
"InternalResistanceCurve": "GenericBattery_243kWh.vbatr",
"SOC_min": 10,
"SOC_max": 90,
"Model": "Generic Battery",
"InternalResistanceCurve": "GenericBattery_243kWh.vbatr",
"SOC_min": 10,
"SOC_max": 90,
"MaxCurrentMap": "MaxCurrent.vimax",
"Capacity": 324,
"SoCCurve": "GenericBattery_243kWh.vbatv"
"SoCCurve": "GenericBattery_243kWh.vbatv",
"ConnectorsSubsystemsIncluded": true,
"JunctionboxIncluded": true
}
}
\ No newline at end of file
......@@ -13,6 +13,8 @@
"Capacity": 7.5,
"InternalResistanceCurve": "GenericBat_3kWh.vbatr",
"MaxCurrentMap": "MaxCurrent.vimax",
"SoCCurve": "GenericBat_3kWh.vbatv"
"SoCCurve": "GenericBat_3kWh.vbatv",
"ConnectorsSubsystemsIncluded": true,
"JunctionboxIncluded": true
}
}
\ No newline at end of file
......@@ -13,6 +13,8 @@
"Capacity": 7.5,
"InternalResistanceCurve": "GenericBat_3kWh.vbatr",
"MaxCurrentMap": "MaxCurrent.vimax",
"SoCCurve": "GenericBat_3kWh.vbatv"
"SoCCurve": "GenericBat_3kWh.vbatv",
"ConnectorsSubsystemsIncluded": true,
"JunctionboxIncluded": true
}
}
\ No newline at end of file
......@@ -13,6 +13,8 @@
"Capacity": 7.5,
"InternalResistanceCurve": "GenericBat_3kWh.vbatr",
"MaxCurrentMap": "MaxCurrent.vimax",
"SoCCurve": "GenericBat_3kWh.vbatv"
"SoCCurve": "GenericBat_3kWh.vbatv",
"ConnectorsSubsystemsIncluded": true,
"JunctionboxIncluded": true
}
}
\ No newline at end of file
......@@ -13,6 +13,8 @@
"SOC_max": 80.0,
"MaxCurrentMap": "MaxCurrent.vimax",
"InternalResistanceCurve": "GenericBattery_10kWh_658V.vbatr",
"SoCCurve": "GenericBattery_10kWh_658V.vbatv"
"SoCCurve": "GenericBattery_10kWh_658V.vbatv",
"ConnectorsSubsystemsIncluded": true,
"JunctionboxIncluded": true
}
}
\ No newline at end of file
......@@ -13,6 +13,8 @@
"Capacity": 7.5,
"InternalResistanceCurve": "GenericBat_3kWh.vbatr",
"MaxCurrentMap": "MaxCurrent.vimax",
"SoCCurve": "GenericBat_3kWh.vbatv"
"SoCCurve": "GenericBat_3kWh.vbatv",
"ConnectorsSubsystemsIncluded": true,
"JunctionboxIncluded": true
}
}
\ No newline at end of file
......@@ -213,6 +213,8 @@ namespace TUGraz.VectoCore.Tests.Utils
TestContext.WriteLine($"{kvp.Key} = {result} (expected = {kvp.Value})");
}
TestContext.WriteLine();
TestContext.WriteLine(metrics.Keys.Select(x => results[x]).Join());
foreach (var kvp in metrics) {
AreRelativeEqual(kvp.Value.SI<Scalar>(), results[kvp.Key].SI<Scalar>(), $"{kvp.Key} ({results[kvp.Key]}) is other than expected ({kvp.Value})");
......
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