From 62220909c09ace7a4f549e2db35f098a1d28024f Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <quaritsch@ivt.tugraz.at>
Date: Thu, 19 Oct 2023 14:39:32 +0200
Subject: [PATCH] add meaningful error message in case overload buffer
 calculation fails

---
 .../SimulationComponents/ElectricMachinesDataAdapter.cs  | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/ElectricMachinesDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/ElectricMachinesDataAdapter.cs
index a4c204ad64..0459458170 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/ElectricMachinesDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/ElectricMachinesDataAdapter.cs
@@ -446,6 +446,11 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
                 var continuousPowerLoss = (1 / etaOvl.Value() - 1) * continuousTorqueSpeed * continuousTorque;
 				var ovlElPwr = voltageLevel.LookupElectricPower(voltageEntry.VoltageLevel, continuousTorqueSpeed,
 					-overloadTorqueTrans, gear).ElectricalPower;
+				if (ovlElPwr == null) {
+					throw new VectoException(
+						$"Overloadbuffer calculation: failed to lookup electric power for overload point {overloadTestSpeed} {-overloadTorqueTrans}");
+
+				}
 				var overloadTorque = (voltageEntry.OverloadTorque ?? 0.SI<NewtonMeter>()) * count / gearRatioUsedForMeasurement;
                 var overloadPwrLoss = -ovlElPwr - overloadTorque * overloadTestSpeed; // loss needs to be positive
 				var overloadBuffer = (overloadPwrLoss - continuousPowerLoss) * voltageEntry.OverloadTime;
@@ -470,6 +475,10 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
                 var continuousPowerLoss = (1 / etaOvl.Value() - 1) * continuousTorqueSpeed * continuousTorque;
 				var ovlElPwr = voltageLevel.LookupElectricPower(voltageEntry.VoltageLevel, overloadTestSpeed,
 					-overloadTorque, gear).ElectricalPower;
+				if (ovlElPwr == null) {
+					throw new VectoException(
+						$"Overloadbuffer calculation: failed to lookup electric power for overload point {overloadTestSpeed} {-overloadTorque}");
+				}
 				var overloadPwrLoss = -ovlElPwr - overloadTorque * overloadTestSpeed; // loss needs to be positive
 				var overloadBuffer = (overloadPwrLoss - continuousPowerLoss) * voltageEntry.OverloadTime;
 				return new OverloadData() {
-- 
GitLab