From 0ea97199e3ca04ff3596cf787e5a7c47c551d41b Mon Sep 17 00:00:00 2001
From: Stefanos Doumpoulakis <dubulak@gmail.com>
Date: Thu, 6 Oct 2022 10:33:38 +0300
Subject: [PATCH] added fan diameter to report

---
 .../Impl/DeclarationVTPModeVectoRunDataFactory.cs      |  7 +++++++
 VectoCore/VectoCore/OutputData/XML/XMLVTPReport.cs     | 10 ++++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs
index 4553c019a4..9e5444e8ab 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactory.cs
@@ -58,6 +58,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 		protected RetarderData RetarderData;
 		protected PTOData PTOTransmissionData;
 		protected List<VectoRunData.AuxData> AuxVTP;
+		protected AuxFanData AuxFanData;
 		protected Segment Segment;
 		protected bool allowVocational;
 		protected DeclarationDataAdapter Dao;
@@ -106,6 +107,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 						Segment.Missions.First().MissionType,
 						Segment.VehicleClass, 
 						JobInputData.Vehicle.Components.AxleWheels.NumSteeredAxles),
+				FanData = AuxFanData
 			};
 			powertrainConfig.VehicleData.VehicleClass = Segment.VehicleClass;
 			Report.InputDataHash = JobInputData.VectoJobHash;
@@ -161,6 +163,11 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 				GearboxData, AxlegearData.AxleGear.Ratio * (AngledriveData?.Angledrive.Ratio ?? 1.0), EngineData.IdleSpeed);
 
 			AuxVTP = CreateVTPAuxData(vehicle);
+
+			AuxFanData = new AuxFanData() { 
+				FanDiameter = JobInputData.FanDiameter,
+				FanCoefficients = JobInputData.FanPowerCoefficents.ToArray()
+			};
 		}
 
 		#region Implementation of IVectoRunDataFactory
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLVTPReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLVTPReport.cs
index d69e097ece..2d649eebaf 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLVTPReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLVTPReport.cs
@@ -480,7 +480,7 @@ namespace TUGraz.VectoCore.OutputData.XML
 					GetAxlegearDescription(modelData.AxleGearData),
 					GetAirDragDescription(modelData.AirdragData),
 					GetAxleWheelsDescription(modelData.VehicleData),
-					GetAuxiliariesDescription(modelData.Aux)
+					GetAuxiliariesDescription(modelData.Aux, modelData.FanData)
 				)
 			);
 
@@ -751,7 +751,7 @@ namespace TUGraz.VectoCore.OutputData.XML
 				new XElement(tns + XMLNames.AxleWheels_Axles_Axle_TwinTyres, axle.TwinTyres));
 		}
 
-		private XElement GetAuxiliariesDescription(IEnumerable<VectoRunData.AuxData> aux)
+		private XElement GetAuxiliariesDescription(IEnumerable<VectoRunData.AuxData> aux, AuxFanData fanData)
 		{
 			var auxData = aux.ToDictionary(a => a.ID);
 			var auxList = new[] {
@@ -765,6 +765,12 @@ namespace TUGraz.VectoCore.OutputData.XML
 				}
 			}
 
+			retVal.Add(new XElement(
+				tns + "FanDiameter", 
+				new XAttribute(XMLNames.Report_Results_Unit_Attr, fanData.FanDiameter.ConvertToMilliMeter().Units),
+				fanData.FanDiameter.ConvertToMilliMeter().Value)
+			);
+
 			return retVal;
 		}
 
-- 
GitLab