From 44594fbe9437bbf27eea48b072bfbf3be1a08d6c Mon Sep 17 00:00:00 2001
From: Michael Krisper <michael.krisper@tugraz.at>
Date: Tue, 27 Jul 2021 11:31:38 +0200
Subject: [PATCH] electricEngine + combustionEngine for preprocessing

---
 .../Simulation/Impl/PCCSegmentPreprocessor.cs     | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PCCSegmentPreprocessor.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PCCSegmentPreprocessor.cs
index 4dd9f0f4c8..329de2f500 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/PCCSegmentPreprocessor.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/PCCSegmentPreprocessor.cs
@@ -37,15 +37,16 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 			var runData = Container.RunData;
 
 			// average drag of all electric engines (if present)
-			var electricEngineDrag = runData.ElectricMachinesData?.Average(e =>
-				e.Item2.EfficiencyData.VoltageLevels[0].DragCurve.Entries.Average(x =>
-					(x.MotorSpeed * x.DragTorque).Value())).SI<Watt>()
-									?? 0.SI<Watt>();
+			var electricEngineDrag = !runData.ElectricMachinesData.Any()
+				? 0.SI<Watt>()
+				: runData.ElectricMachinesData.Average(e => 
+					e.Item2.EfficiencyData.VoltageLevels[0].DragCurve.Entries.Average(x => 
+						(x.MotorSpeed * x.DragTorque).Value())).SI<Watt>();
 
-			// average drag for the combustion engine (if present).
+			// average drag for the combustion engine (if present)
 			var combustionEngineDrag = runData.EngineData?.FullLoadCurves[0].FullLoadEntries.Average(x => 
-								(x.EngineSpeed * x.TorqueDrag).Value()).SI<Watt>() 
-							?? 0.SI<Watt>();
+											(x.EngineSpeed * x.TorqueDrag).Value()).SI<Watt>() 
+										?? 0.SI<Watt>();
 
 			var engineDrag = electricEngineDrag + combustionEngineDrag;
 			var slopeEngineDrag = 0.0;
-- 
GitLab