From 10cbab9c6a044e45e3179441f8f86b25ee7cc266 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Thu, 6 Aug 2020 16:21:12 +0200 Subject: [PATCH] implementing delta method for completed bus --- .../XML/XMLCustomerReportCompletedBus.cs | 14 +++++----- .../XML/XMLManufacturerReportCompletedBus.cs | 26 ++++++++++++++----- 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/VectoCore/VectoCore/OutputData/XML/XMLCustomerReportCompletedBus.cs b/VectoCore/VectoCore/OutputData/XML/XMLCustomerReportCompletedBus.cs index f3eeb85829..b4ac78bc02 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLCustomerReportCompletedBus.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLCustomerReportCompletedBus.cs @@ -146,7 +146,9 @@ namespace TUGraz.VectoCore.OutputData.XML { private XElement[] GetFuelConsumptionResults(XMLDeclarationReport.ResultEntry genericResult, XMLDeclarationReport.ResultEntry specificResult, IResult primaryResult) { - var factor = specificResult.EnergyConsumptionTotal.Value() / genericResult.EnergyConsumptionTotal.Value(); + var factor = XMLManufacturerReportCompletedBus.CalculateFactorMethodFactor(primaryResult, specificResult, + genericResult); + //var factor = specificResult.EnergyConsumptionTotal.Value() / genericResult.EnergyConsumptionTotal.Value(); var retVal = new List<XElement>(); var co2Sum = 0.SI<KilogramPerMeter>(); @@ -162,11 +164,11 @@ namespace TUGraz.VectoCore.OutputData.XML { tns + XMLNames.Report_Results_FuelConsumption, new XAttribute(XMLNames.Report_Results_Unit_Attr, "g/km"), fcMass.ConvertToGrammPerKiloMeter().ToMinSignificantDigits(3, 1)), - new XElement( - tns + XMLNames.Report_Results_FuelConsumption, - new XAttribute(XMLNames.Report_Results_Unit_Attr, "g/t-km"), - (fcMass / specificResult.Payload) - .ConvertToGrammPerTonKilometer().ToMinSignificantDigits(3, 1)), + //new XElement( + // tns + XMLNames.Report_Results_FuelConsumption, + // new XAttribute(XMLNames.Report_Results_Unit_Attr, "g/t-km"), + // (fcMass / specificResult.Payload) + // .ConvertToGrammPerTonKilometer().ToMinSignificantDigits(3, 1)), specificResult.CargoVolume > 0 ? new XElement( tns + XMLNames.Report_Results_FuelConsumption, diff --git a/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReportCompletedBus.cs b/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReportCompletedBus.cs index 0860b82c6c..b9be89ab2d 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReportCompletedBus.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReportCompletedBus.cs @@ -206,13 +206,25 @@ namespace TUGraz.VectoCore.OutputData.XML { ); } + protected internal static double CalculateFactorMethodFactor(IResult primaryResult, + XMLDeclarationReport.ResultEntry specific, XMLDeclarationReport.ResultEntry generic) + { + //return specific.EnergyConsumptionTotal.Value() / generic.EnergyConsumptionTotal.Value(); + var energyConsumptionPrimary = primaryResult.EnergyConsumption.Sum(x => x.Value); + var energyConsumptionCompeted = energyConsumptionPrimary + + specific.EnergyConsumptionTotal / specific.Distance - + generic.EnergyConsumptionTotal / generic.Distance; + return energyConsumptionCompeted / energyConsumptionPrimary; + } + private XElement[] GetFuelConsumptionResults(XMLDeclarationReport.ResultEntry genericResult, XMLDeclarationReport.ResultEntry specificResult, IResult primaryResult) { - var factor = specificResult.EnergyConsumptionTotal.Value() / genericResult.EnergyConsumptionTotal.Value(); + var factor = CalculateFactorMethodFactor(primaryResult, specificResult, genericResult); + //var factor = specificResult.EnergyConsumptionTotal.Value() / genericResult.EnergyConsumptionTotal.Value(); var retVal = new List<XElement>(); var co2Sum = 0.SI<KilogramPerMeter>(); - retVal.Add(new XElement(tns + "FuelConsumptionFactor", factor.ToMinSignificantDigits(4))); + //retVal.Add(new XElement(tns + "FuelConsumptionFactor", factor.ToMinSignificantDigits(4))); foreach (var entry in primaryResult.EnergyConsumption) { var fcEnergy = entry.Value * factor; // J/m var fuelData = FuelData.Instance().Lookup(entry.Key); @@ -225,11 +237,11 @@ namespace TUGraz.VectoCore.OutputData.XML { tns + XMLNames.Report_Results_FuelConsumption, new XAttribute(XMLNames.Report_Results_Unit_Attr, "g/km"), fcMass.ConvertToGrammPerKiloMeter().ToMinSignificantDigits(3, 1)), - new XElement( - tns + XMLNames.Report_Results_FuelConsumption, - new XAttribute(XMLNames.Report_Results_Unit_Attr, "g/t-km"), - (fcMass / specificResult.Payload) - .ConvertToGrammPerTonKilometer().ToMinSignificantDigits(3, 1)), + //new XElement( + // tns + XMLNames.Report_Results_FuelConsumption, + // new XAttribute(XMLNames.Report_Results_Unit_Attr, "g/t-km"), + // (fcMass / specificResult.Payload) + // .ConvertToGrammPerTonKilometer().ToMinSignificantDigits(3, 1)), specificResult.CargoVolume > 0 ? new XElement( tns + XMLNames.Report_Results_FuelConsumption, -- GitLab