From 70958872ad6cffa1e3dc42e63123692f52437772 Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <quaritsch@ivt.tugraz.at>
Date: Mon, 5 Jun 2023 09:15:11 +0200
Subject: [PATCH] only calculate fuel factor (completed bus) if there are fuels
 in the primary bus - i.e. don't calculate for PEV

---
 .../XMLDeclarationReportCompletedVehicle.cs   | 33 +++++++++++--------
 1 file changed, 19 insertions(+), 14 deletions(-)

diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs
index 073e70157f..44d2a53bac 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs
@@ -196,21 +196,26 @@ namespace TUGraz.VectoCore.OutputData.XML
 				DeclarationData.FuelData.Lookup(x, specific.VectoRunData.VehicleData.InputData.TankSystem)).ToList(); //specific.FuelData;
             var co2Sum = 0.SI<Kilogram>();
 
-			var fuel = specific.FuelData.First();
-			var fuelFactor = CalculateFactor(combinedResults, r => r.FuelConsumptionFinal(fuel.FuelType).TotalFuelConsumptionCorrected);
+			if (primary.EnergyConsumption != null && primary.EnergyConsumption.Any()) {
+				var fuel = specific.FuelData.First();
+				var fuelFactor = CalculateFactor(combinedResults,
+					r => r.FuelConsumptionFinal(fuel.FuelType).TotalFuelConsumptionCorrected);
 
-            foreach (var entry in primary.EnergyConsumption)//generic.FuelData.Select(f => f.FuelType))
-            {
-				var energyDemand = fuelFactor * (entry.Value * specific.Distance);
-                var fuelConsumption = new CompletedBusFuelConsumption()
-                {
-                    Fuel = DeclarationData.FuelData.Lookup(entry.Key, specific.VectoRunData.VehicleData.InputData.TankSystem), // specific.FuelData.Single(f => f.FuelType == fuel),
-                    EnergyDemand = energyDemand,
-                };
-                co2Sum += fuelConsumption.TotalFuelConsumptionCorrected * fuelConsumption.Fuel.CO2PerFuelWeight;
-                result.CorrectedFinalFuelConsumption.Add(entry.Key, fuelConsumption);
-            }
-            result.CO2Total = co2Sum;
+				foreach (var entry in primary.EnergyConsumption) //generic.FuelData.Select(f => f.FuelType))
+				{
+					var energyDemand = fuelFactor * (entry.Value * specific.Distance);
+					var fuelConsumption = new CompletedBusFuelConsumption() {
+						Fuel = DeclarationData.FuelData.Lookup(entry.Key,
+							specific.VectoRunData.VehicleData.InputData
+								.TankSystem), // specific.FuelData.Single(f => f.FuelType == fuel),
+						EnergyDemand = energyDemand,
+					};
+					co2Sum += fuelConsumption.TotalFuelConsumptionCorrected * fuelConsumption.Fuel.CO2PerFuelWeight;
+					result.CorrectedFinalFuelConsumption.Add(entry.Key, fuelConsumption);
+				}
+			}
+
+			result.CO2Total = co2Sum;
 
 
             result.ElectricEnergyConsumption = null;
-- 
GitLab