From fb24734f560c32d86767b9162986937d6ff55130 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Thu, 22 Jun 2017 18:16:50 +0200 Subject: [PATCH] fix: fuel type has no density; fix: time share per gear --- .../VectoCore/OutputData/IModalDataContainer.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/VectoCore/VectoCore/OutputData/IModalDataContainer.cs b/VectoCore/VectoCore/OutputData/IModalDataContainer.cs index 341fecb2cf..e509c204be 100644 --- a/VectoCore/VectoCore/OutputData/IModalDataContainer.cs +++ b/VectoCore/VectoCore/OutputData/IModalDataContainer.cs @@ -369,7 +369,7 @@ namespace TUGraz.VectoCore.OutputData public static SI FuelConsumptionFinalLiterPer100Kilometer(this IModalDataContainer data) { var fuelConsumptionFinal = data.FuelConsumptionFinal(); - if (fuelConsumptionFinal == null) { + if (fuelConsumptionFinal == null || data.FuelData.FuelDensity == null) { return null; } @@ -538,12 +538,15 @@ namespace TUGraz.VectoCore.OutputData retVal[i] = 0.SI<Scalar>(); } - data.GetValues(x => { - var gear = x.Field<uint>((int)ModalResultField.Gear); - retVal[gear] += x.Field<Second>((int)ModalResultField.simulationInterval).Value(); - return gear; // not used + var gearData = data.GetValues(x => new { + Gear = x.Field<uint>((int)ModalResultField.Gear), + dt = x.Field<Second>((int)ModalResultField.simulationInterval) }); + foreach (var entry in gearData) { + retVal[entry.Gear] += entry.dt.Value(); + } + var duration = Duration(data).Value(); for (uint i = 0; i <= gearCount; i++) { retVal[i] = 100 * retVal[i] / duration; -- GitLab