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