From 1c9027d0a71b2a1423c5ceb35550bfdb93ef8b47 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Mon, 9 Nov 2020 16:44:30 +0100 Subject: [PATCH] introduce new field with CdxA from input. required to write correct CdxA value to MRF --- .../Reader/DataObjectAdapter/DeclarationDataAdapter.cs | 3 +++ .../VectoCore/Models/SimulationComponent/Data/VehicleData.cs | 2 ++ VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs | 4 ++-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs index addf852baa..c4530d72f8 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs @@ -502,6 +502,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter var retVal = SetCommonAirdragData(airdragInputData); retVal.DeclaredAirdragArea = mission.MissionType == MissionType.Construction ? mission.DefaultCDxA : airdragInputData.AirDragArea; + retVal.DeclaredAirdragAreaInput = airdragInputData.AirDragArea; var aerodynamicDragArea = retVal.DeclaredAirdragArea + mission.Trailer.Sum(t => t.DeltaCdA).DefaultIfNull(0); @@ -519,6 +520,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter return new AirdragData() { CertificationMethod = CertificationMethod.StandardValues, DeclaredAirdragArea = mission.DefaultCDxA, + DeclaredAirdragAreaInput = mission.DefaultCDxA, + CrossWindCorrectionCurve = new CrosswindCorrectionCdxALookup(aerodynamicDragArea, GetDeclarationAirResistanceCurve(mission.CrossWindCorrectionParameters, aerodynamicDragArea, segment.VehicleHeight), CrossWindCorrectionMode.DeclarationModeCorrection) diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs index 65bcb06ab1..aa5045f28e 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs @@ -53,6 +53,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data public SquareMeter DeclaredAirdragArea { get; internal set; } + public SquareMeter DeclaredAirdragAreaInput { get; internal set; } + // ReSharper disable once UnusedMember.Global -- used via Validation public static ValidationResult ValidateAirDragData(AirdragData airDragData, ValidationContext validationContext) { diff --git a/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs index 59cad7f46a..03586c20a8 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs @@ -237,7 +237,7 @@ namespace TUGraz.VectoCore.OutputData.XML if (airdragData.CertificationMethod == CertificationMethod.StandardValues) { return new XElement(tns + XMLNames.Component_AirDrag, new XElement(tns + XMLNames.Report_Component_CertificationMethod, airdragData.CertificationMethod.ToXMLFormat()), - new XElement(tns + XMLNames.Report_AirDrag_CdxA, airdragData.DeclaredAirdragArea.ToXMLFormat(2)) + new XElement(tns + XMLNames.Report_AirDrag_CdxA, airdragData.DeclaredAirdragAreaInput.ToXMLFormat(2)) ); } return new XElement(tns + XMLNames.Component_AirDrag, @@ -245,7 +245,7 @@ namespace TUGraz.VectoCore.OutputData.XML new XElement(tns + XMLNames.Report_Component_CertificationMethod, airdragData.CertificationMethod.ToXMLFormat()), new XElement(tns + XMLNames.Report_Component_CertificationNumber, airdragData.CertificationNumber), new XElement(tns + XMLNames.DI_Signature_Reference_DigestValue, airdragData.DigestValueInput), - new XElement(tns + XMLNames.Report_AirDrag_CdxA, airdragData.DeclaredAirdragArea.ToXMLFormat(2)) + new XElement(tns + XMLNames.Report_AirDrag_CdxA, airdragData.DeclaredAirdragAreaInput.ToXMLFormat(2)) ); } -- GitLab