From e46563630af786a898410a30715e9555dd1f8065 Mon Sep 17 00:00:00 2001 From: Stefanos Doumpoulakis <dubulak@gmail.com> Date: Wed, 14 Sep 2022 17:53:35 +0300 Subject: [PATCH] NCV input data in job file are now required --- .../InputData/FileIO/JSON/JSONInputData.cs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs index 6bae0a0c11..634968663a 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs @@ -893,7 +893,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON var fuelNCVs = new List<IFuelNCVData>(); if (Body[JsonKeys.Job_FuelNCVs] == null) { - return fuelNCVs; + throw new Exception($"Job input data: missing input field: {JsonKeys.Job_FuelNCVs}"); } foreach (var fuelNCV in Body.GetEx(JsonKeys.Job_FuelNCVs)) { @@ -902,12 +902,18 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON IEnumerable<FuelType> matches = Enum.GetValues(typeof(FuelType)).Cast<FuelType>().Where(x => x.GetLabel().Equals(type)); if (matches.Count() == 0) { - throw new Exception($"{JsonKeys.Job_FuelNCVs}: invalid fuel type: {type}"); + throw new Exception($"Job input data: {JsonKeys.Job_FuelNCVs}: invalid {JsonKeys.Job_FuelNCV_Type}: {type}"); } - FuelType fuelType = matches.First(); + fuelNCVs.Add(new FuelNCVData() { Type = matches.First(), NCV = (ncv * 1000000).SI<JoulePerKilogramm>() }); + } + + var fuels = JobInputData.Vehicle.Components.EngineInputData.EngineModes.First().Fuels; - fuelNCVs.Add(new FuelNCVData() { Type = fuelType, NCV = (ncv * 1000000).SI<JoulePerKilogramm>() }); + foreach (var fuel in fuels) { + if (fuelNCVs.Count(x => x.Type == fuel.FuelType) == 0) { + throw new Exception($"Job input data: {JsonKeys.Job_FuelNCVs}: missing {JsonKeys.Job_FuelNCV_Type}: {fuel.FuelType.GetLabel()}"); + } } return fuelNCVs; -- GitLab