From 20811e753bb2e1f24558e66657e62291be44268e Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <quaritsch@ivt.tugraz.at> Date: Mon, 19 Dec 2022 17:25:03 +0100 Subject: [PATCH] result writer: write volume-oriented results only if cargo volume is greater than 0 --- .../DeclarationReports/Common/CO2Writer.cs | 7 +++++-- .../Common/FuelConsumptionWriter.cs | 19 +++++++++++++------ 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/CO2Writer.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/CO2Writer.cs index 48c69374d7..5d485ec3a3 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/CO2Writer.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/CO2Writer.cs @@ -42,11 +42,14 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common protected override IList<ConvertedSI> GetCO2ResultEntries(Kilogram CO2Total, Meter distance, Kilogram payload, CubicMeter volume, double? passengers) { - return new[] { + var retVal = new List<ConvertedSI>() { (CO2Total / distance).ConvertToGrammPerKiloMeter(), (CO2Total / distance / payload).ConvertToGrammPerTonKilometer(), - (CO2Total / distance / volume).ConvertToGrammPerCubicMeterKiloMeter(), }; + if (volume.IsGreater(0)) { + retVal.Add((CO2Total / distance / volume).ConvertToGrammPerCubicMeterKiloMeter()); + } + return retVal; } } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/FuelConsumptionWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/FuelConsumptionWriter.cs index 18a02b179f..115f61cd86 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/FuelConsumptionWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/FuelConsumptionWriter.cs @@ -52,20 +52,27 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common { var retVal = new List<ConvertedSI> { (fc / distance).ConvertToGrammPerKiloMeter(), - (fc / distance /payload).ConvertToGrammPerTonKilometer(), - (fc / distance / volume).ConvertToGrammPerCubicMeterKiloMeter(), + (fc / distance /payload).ConvertToGrammPerTonKilometer()}; + if (volume.IsGreater(0)) { + retVal.Add((fc / distance / volume).ConvertToGrammPerCubicMeterKiloMeter()); + } + retVal.AddRange(new [] { (fc * fuel.LowerHeatingValueVecto / distance).ConvertToMegaJoulePerKilometer(), (fc * fuel.LowerHeatingValueVecto / distance / payload).ConvertToMegaJoulePerTonKiloMeter(), - (fc * fuel.LowerHeatingValueVecto / distance / volume).ConvertToMegaJoulePerCubicMeterKiloMeter(), - }; + }); + if (volume.IsGreater(0)) { + retVal.Add((fc * fuel.LowerHeatingValueVecto / distance / volume).ConvertToMegaJoulePerCubicMeterKiloMeter()); + } if (fuel.FuelDensity != null) { retVal.AddRange(new[] { (fc / fuel.FuelDensity / distance).ConvertToLiterPer100KiloMeter(), (fc / fuel.FuelDensity / distance / payload).ConvertToLiterPerTonKiloMeter(), - (fc / fuel.FuelDensity / distance /volume).ConvertToLiterPerCubicMeterKiloMeter(), - }); + }); + if (volume.IsGreater(0)) { + retVal.Add((fc / fuel.FuelDensity / distance / volume).ConvertToLiterPerCubicMeterKiloMeter()); + } } return retVal; -- GitLab