diff --git a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs index 0313282db1d509ca95e93a46a5e883d0673340ca..4c07b9db644baa32b13ce6f31f73682958dd4503 100644 --- a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs +++ b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs @@ -326,6 +326,7 @@ namespace TUGraz.VectoCore.OutputData var selected = Data.AsEnumerable().Select(r => { var dt = r.Field<Second>(ModalResultField.simulationInterval.GetName()); return new { + EM_off = r.Field<Scalar>(string.Format(ModalResultField.EM_Off_.GetCaption(), emPos.GetName())), P_em = r.Field<Watt>(string.Format(ModalResultField.P_EM_electricMotor_el_.GetCaption(), emPos.GetName())), E_mech = r.Field<Watt>(string.Format(ModalResultField.P_EM_electricMotor_em_mech_.GetCaption(), @@ -336,7 +337,7 @@ namespace TUGraz.VectoCore.OutputData }); var eMech = 0.SI<WattSecond>(); var eEl = 0.SI<WattSecond>(); - foreach (var entry in selected.Where(x => x.P_em.IsSmaller(0))) { + foreach (var entry in selected.Where(x => x.P_em.IsSmaller(0) && !x.EM_off.IsEqual(0))) { eMech += entry.E_mech; eEl += entry.E_el; } @@ -353,6 +354,7 @@ namespace TUGraz.VectoCore.OutputData var selected = Data.AsEnumerable().Select(r => { var dt = r.Field<Second>(ModalResultField.simulationInterval.GetName()); return new { + EM_off = r.Field<Scalar>(string.Format(ModalResultField.EM_Off_.GetCaption(), emPos.GetName())), P_em = r.Field<Watt>(string.Format(ModalResultField.P_EM_electricMotor_el_.GetCaption(), emPos.GetName())), E_mech = r.Field<Watt>(string.Format(ModalResultField.P_EM_mech_.GetCaption(), @@ -363,7 +365,7 @@ namespace TUGraz.VectoCore.OutputData }); var eMech = 0.SI<WattSecond>(); var eEl = 0.SI<WattSecond>(); - foreach (var entry in selected.Where(x => x.P_em.IsGreater(0))) { + foreach (var entry in selected.Where(x => x.P_em.IsGreater(0) && !x.EM_off.IsEqual(0))) { eMech += entry.E_mech; eEl += entry.E_el; }