From bcf0d572c65b87c45aed1bfa2008563ff22f99d8 Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Tue, 27 Jul 2021 10:51:14 +0200
Subject: [PATCH] in case eta for REESS correction cannot be calculated (no
 charge/discharge situations) set correctable energy to 0

---
 .../OutputData/ModalDataPostprocessingCorrection.cs         | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/VectoCore/VectoCore/OutputData/ModalDataPostprocessingCorrection.cs b/VectoCore/VectoCore/OutputData/ModalDataPostprocessingCorrection.cs
index 318a00d48e..5f0645b84e 100644
--- a/VectoCore/VectoCore/OutputData/ModalDataPostprocessingCorrection.cs
+++ b/VectoCore/VectoCore/OutputData/ModalDataPostprocessingCorrection.cs
@@ -85,16 +85,16 @@ namespace TUGraz.VectoCore.OutputData
                 var emEff = 0.0;
                 if (endSoc < startSoc) {
 					var etaEmChg = modData.ElectricMotorEfficiencyGenerate(em.Item1);
-					var etaReessChg = (modData.WorkREESSChargeInternal() / modData.WorkREESSChargeTerminal()).Value();
+					var etaReessChg = modData.WorkREESSChargeInternal().Value() / modData.WorkREESSChargeTerminal().Value();
 					emEff = 1.0 / (etaEmChg * etaReessChg);
 				} 
 				if (endSoc > startSoc) {
 					var etaEmDischg = modData.ElectricMotorEfficiencyDrive(em.Item1);
-					var etaReessDischg = modData.WorkREESSDischargeTerminal() / modData.WorkREESSDischargeInternal();
+					var etaReessDischg = modData.WorkREESSDischargeTerminal().Value() / modData.WorkREESSDischargeInternal().Value();
 					emEff = etaEmDischg * etaReessDischg;
 				}
 
-				r.DeltaEReessMech = -deltaEReess * emEff;
+				r.DeltaEReessMech = double.IsNaN(emEff) ? 0.SI<WattSecond>() : -deltaEReess * emEff;
 			} else {
 				r.DeltaEReessMech = 0.SI<WattSecond>();
 			}
-- 
GitLab