diff --git a/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb b/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb index d63afd32875b2e4939d6a00f602eaf588098c983..95b2442c5cfd569da918fc9d6ace3f08c2ffe95f 100644 --- a/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb +++ b/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb @@ -18,14 +18,13 @@ Imports VectoAuxiliaries.DownstreamModules Imports System.Windows.Forms Imports TUGraz.VectoCommon.Utils +<Assembly: InternalsVisibleTo("VectoCore")> ''' <summary> ''' Main entry point for the advanced auxiliary module. ''' This class represents slide number 17 titled Calculations of Cycle FC accounting for Smart Auxiliaries. ''' </summary> ''' <remarks></remarks> -<Assembly: InternalsVisibleTo("VectoCore")> - Public Class AdvancedAuxiliaries Implements IAdvancedAuxiliaries diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/M10.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/M10.vb index 1eb3be4564cbd8e64dbd2a6d47e03784f6623c49..9dbfca19b46d104e13f8dc37a3d3aa047ca57e76 100644 --- a/VECTOAux/VectoAuxiliaries/DownstreamModules/M10.vb +++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/M10.vb @@ -10,11 +10,7 @@ ' See the LICENSE.txt for the specific language governing permissions and limitations. Imports TUGraz.VectoCommon.Utils -Imports TUGraz.VectoCore.Utils -Imports VectoAuxiliaries.Electrics Imports VectoAuxiliaries.Pneumatics -Imports VectoAuxiliaries.Hvac -Imports VectoAuxiliaries.DownstreamModules Namespace DownstreamModules Public Class M10 diff --git a/VectoCore/VectoCore/Models/Simulation/Data/AuxiliaryDemandType.cs b/VectoCommon/VectoCommon/Models/AuxiliaryDemandType.cs similarity index 96% rename from VectoCore/VectoCore/Models/Simulation/Data/AuxiliaryDemandType.cs rename to VectoCommon/VectoCommon/Models/AuxiliaryDemandType.cs index 9a54347de0ecce6f5492c925bcb706e5684fd59f..178755547f98656f9f7e935d7dffe6dd8efd825e 100644 --- a/VectoCore/VectoCore/Models/Simulation/Data/AuxiliaryDemandType.cs +++ b/VectoCommon/VectoCommon/Models/AuxiliaryDemandType.cs @@ -29,7 +29,7 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -namespace TUGraz.VectoCore.Models.Simulation.Data +namespace TUGraz.VectoCommon.Models { public enum AuxiliaryDemandType { diff --git a/VectoCommon/VectoCommon/Utils/EnumHelper.cs b/VectoCommon/VectoCommon/Utils/EnumHelper.cs index 51dd4b8ae512393b314e9472a0f933b353882610..ae34734bb61c823079c577cc6854f99e8c631a4a 100644 --- a/VectoCommon/VectoCommon/Utils/EnumHelper.cs +++ b/VectoCommon/VectoCommon/Utils/EnumHelper.cs @@ -33,6 +33,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; +using System.Text.RegularExpressions; namespace TUGraz.VectoCommon.Utils { @@ -40,7 +41,7 @@ namespace TUGraz.VectoCommon.Utils { public static T ParseEnum<T>(this string s, bool ignoreCase = true) { - return (T)Enum.Parse(typeof(T), s.RemoveWhitespace(), ignoreCase); + return (T)Enum.Parse(typeof(T), Regex.Replace(s, @"\s+", ""), ignoreCase); } public static IEnumerable<T> GetValues<T>() diff --git a/VectoCommon/VectoCommon/Utils/VectoMath.cs b/VectoCommon/VectoCommon/Utils/VectoMath.cs index ce8a82f79b924cba6fcd01ff4b3e7a5bc146fcdb..d7422f0806f899f5030573d655e420a217e3ccc6 100644 --- a/VectoCommon/VectoCommon/Utils/VectoMath.cs +++ b/VectoCommon/VectoCommon/Utils/VectoMath.cs @@ -35,9 +35,8 @@ using System.Diagnostics; using System.Linq; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.Models; -using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.Utils +namespace TUGraz.VectoCommon.Utils { /// <summary> /// Provides helper methods for mathematical functions. diff --git a/VectoCommon/VectoCommon/VectoCommon.csproj b/VectoCommon/VectoCommon/VectoCommon.csproj index f5af0adb6fb585a46a68a2b988b88da43e3c73e8..5d71c4763c111e024af5750b8680cc53d20a8b1a 100644 --- a/VectoCommon/VectoCommon/VectoCommon.csproj +++ b/VectoCommon/VectoCommon/VectoCommon.csproj @@ -50,6 +50,7 @@ <Compile Include="InputData\EngineeringInputData.cs" /> <Compile Include="InputData\IInputDataProvider.cs" /> <Compile Include="InputData\IntegrityStatus.cs" /> + <Compile Include="Models\AuxiliaryDemandType.cs" /> <Compile Include="Models\AuxiliaryModel.cs" /> <Compile Include="Models\AxleConfiguration.cs" /> <Compile Include="Models\CrossWindCorrectionMode.cs" /> diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs index 1891e8b274546b624ecce8ab8acb7baef0b4b005..ba8e070e11be09aa3bd5c2001501c9cde237ab5d 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs @@ -529,7 +529,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON var auxData = new AuxiliaryDataInputData { ID = aux.GetEx<string>("ID"), Type = aux.GetEx<string>("Type"), - Technology = aux.GetEx<string>("Technology") + Technology = aux.GetEx<string>("Technology"), }; if (aux["TechList"] != null) { auxData.TechList = aux["TechList"].Select(x => x.ToString()).ToList(); // .Select(x => x.ToString).ToArray(); diff --git a/VectoCore/VectoCore/InputData/Reader/FullLoadCurveReader.cs b/VectoCore/VectoCore/InputData/Reader/FullLoadCurveReader.cs index 5251974221c8d7a203a2d588c52d8800e2c38f77..9eb37c7934be5e3cde817029bd55406df3e624ee 100644 --- a/VectoCore/VectoCore/InputData/Reader/FullLoadCurveReader.cs +++ b/VectoCore/VectoCore/InputData/Reader/FullLoadCurveReader.cs @@ -89,7 +89,11 @@ namespace TUGraz.VectoCore.InputData.Reader if (declarationMode) { tmp = new PT1(); } else { - tmp = PT1Curve.Create(data); + if (data.Columns.Count > 3) { + tmp = PT1Curve.Create(data); + } else { + tmp = new PT1(); + } } entriesFld.Sort((entry1, entry2) => entry1.EngineSpeed.Value().CompareTo(entry2.EngineSpeed.Value())); return new FullLoadCurve { FullLoadEntries = entriesFld, PT1Data = tmp }; @@ -123,7 +127,7 @@ namespace TUGraz.VectoCore.InputData.Reader } - private static class Fields + public static class Fields { /// <summary> /// [rpm] engine speed diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/EngineOnlyVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/EngineOnlyVectoRunDataFactory.cs index 1ef3792d93d24bcc4b05ad63bb9045a67b575eeb..a33c821ca18ce2881f2495b54bf9d42fe88ba017 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/EngineOnlyVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/EngineOnlyVectoRunDataFactory.cs @@ -33,6 +33,7 @@ using System.Collections.Generic; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCore.InputData.Reader.DataObjectAdaper; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.SimulationComponent.Data; diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs index 5471403d36acfc9981808ac49be9844f0d10c61c..cc056183149281d19c53fbcb26861567abc02abf 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs @@ -35,6 +35,7 @@ using System.Runtime.CompilerServices; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCore.InputData.Reader.DataObjectAdaper; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; using TUGraz.VectoCore.Models.Simulation.Data; using DriverData = TUGraz.VectoCore.Models.SimulationComponent.Data.DriverData; diff --git a/VectoCore/VectoCore/Models/Declaration/Axle.cs b/VectoCore/VectoCore/Models/Declaration/Axle.cs index 9b686af4221da6689f18efee93764db531dcf653..c902939bb1e7442e90a6ac5542692ebd0d3a6ea8 100644 --- a/VectoCore/VectoCore/Models/Declaration/Axle.cs +++ b/VectoCore/VectoCore/Models/Declaration/Axle.cs @@ -29,6 +29,7 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ +using System; using System.ComponentModel.DataAnnotations; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; @@ -49,7 +50,7 @@ namespace TUGraz.VectoCore.Models.Declaration [Required, SIRange(500, 100000)] public Newton TyreTestLoad { get; internal set; } - [Required, SIRange(0, 1)] + [Required, SIRange(Double.MinValue, 1)] public double AxleWeightShare { get; internal set; } public bool TwinTyres { get; internal set; } diff --git a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs index 4004ee086e8f8bfa2fcef8a671796fff51383722..d0e4c82767c14d97e0d2a3fb1e76805e76fd4f4d 100644 --- a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs +++ b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs @@ -43,7 +43,7 @@ using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Models.Declaration { - internal class DeclarationData + public sealed class DeclarationData { private static DeclarationData _instance; private Segments _segments; diff --git a/VectoCore/VectoCore/Models/Declaration/LACDecisionFactor.cs b/VectoCore/VectoCore/Models/Declaration/LACDecisionFactor.cs index e8de0c3b8d096b91c3e3a8ab805fab374b184a4c..355a2d79956868017505d2c63f8619ed24e36059 100644 --- a/VectoCore/VectoCore/Models/Declaration/LACDecisionFactor.cs +++ b/VectoCore/VectoCore/Models/Declaration/LACDecisionFactor.cs @@ -59,7 +59,7 @@ namespace TUGraz.VectoCore.Models.Declaration /// <summary> /// Class for Look Ahead Coasting Decision Factor (DF_coast) /// </summary> - private sealed class DecisionFactor : LookupData<MeterPerSecond, MeterPerSecond, double> + public sealed class DecisionFactor : LookupData<MeterPerSecond, MeterPerSecond, double> { private readonly LACDecisionFactorVTarget _vTarget; private readonly LACDecisionFactorVdrop _vDrop; @@ -89,91 +89,106 @@ namespace TUGraz.VectoCore.Models.Declaration return _offset - _scaling * _vTarget.Lookup(targetVelocity) * _vDrop.Lookup(velocityDrop); } + protected override void ParseData(DataTable table) {} + } + + public sealed class LACDecisionFactorVdrop : LookupData<MeterPerSecond, double> + { + private const string ResourceId = "TUGraz.VectoCore.Resources.Declaration.LAC-DF-Vdrop.csv"; - private sealed class LACDecisionFactorVdrop : LookupData<MeterPerSecond, double> + public LACDecisionFactorVdrop() { - private const string ResourceId = "TUGraz.VectoCore.Resources.Declaration.LAC-DF-Vdrop.csv"; + ParseData(ReadCsvResource(ResourceId)); + } - public LACDecisionFactorVdrop() - { - ParseData(ReadCsvResource(ResourceId)); - } + public LACDecisionFactorVdrop(DataTable vDrop) + { + ParseData(vDrop ?? ReadCsvResource(ResourceId)); + } - public LACDecisionFactorVdrop(DataTable vDrop) - { - ParseData(vDrop ?? ReadCsvResource(ResourceId)); + public override double Lookup(MeterPerSecond targetVelocity) + { + var section = Data.GetSection(kv => kv.Key < targetVelocity); + return VectoMath.Interpolate(section.Item1.Key, section.Item2.Key, section.Item1.Value, section.Item2.Value, + targetVelocity); + } + + protected override void ParseData(DataTable table) + { + if (table.Columns.Count < 2) { + throw new VectoException("LAC Decision Factor File for Vdrop must consist of at least 2 columns."); } - public override double Lookup(MeterPerSecond targetVelocity) - { - var section = Data.GetSection(kv => kv.Key < targetVelocity); - return VectoMath.Interpolate(section.Item1.Key, section.Item2.Key, section.Item1.Value, section.Item2.Value, - targetVelocity); + if (table.Rows.Count < 2) { + throw new VectoException( + "LAC Decision Factor File for Vdrop must consist of at least two lines with numeric values (below file header)"); } - protected override void ParseData(DataTable table) - { - if (table.Columns.Count < 2) { - throw new VectoException("LAC Decision Factor File for Vdrop must consist of at least 2 columns."); - } - - if (table.Rows.Count < 2) { - throw new VectoException( - "LAC Decision Factor File for Vdrop must consist of at least two lines with numeric values (below file header)"); - } - - if (table.Columns.Contains("v_target") && table.Columns.Contains("decision_factor")) { - Data = table.Rows.Cast<DataRow>() - .ToDictionary(r => r.ParseDouble("v_drop").KMPHtoMeterPerSecond(), r => r.ParseDouble("decision_factor")); - } else { - Data = table.Rows.Cast<DataRow>() - .ToDictionary(r => r.ParseDouble(0).KMPHtoMeterPerSecond(), r => r.ParseDouble(1)); - } + if (table.Columns.Contains(Fields.VelocityDrop) && table.Columns.Contains(Fields.DecisionFactor)) { + Data = table.Rows.Cast<DataRow>() + .ToDictionary(r => r.ParseDouble(Fields.VelocityDrop).KMPHtoMeterPerSecond(), + r => r.ParseDouble(Fields.DecisionFactor)); + } else { + Data = table.Rows.Cast<DataRow>() + .ToDictionary(r => r.ParseDouble(0).KMPHtoMeterPerSecond(), r => r.ParseDouble(1)); } } - private sealed class LACDecisionFactorVTarget : LookupData<MeterPerSecond, double> + public static class Fields { - private const string ResourceId = "TUGraz.VectoCore.Resources.Declaration.LAC-DF-Vtarget.csv"; + public const string VelocityDrop = "v_drop"; + public const string DecisionFactor = "decision_factor"; + } + } - public LACDecisionFactorVTarget() - { - ParseData(ReadCsvResource(ResourceId)); - } + public sealed class LACDecisionFactorVTarget : LookupData<MeterPerSecond, double> + { + private const string ResourceId = "TUGraz.VectoCore.Resources.Declaration.LAC-DF-Vtarget.csv"; + + public LACDecisionFactorVTarget() + { + ParseData(ReadCsvResource(ResourceId)); + } + + public LACDecisionFactorVTarget(DataTable vTargetLookup) + { + ParseData(vTargetLookup ?? ReadCsvResource(ResourceId)); + } - public LACDecisionFactorVTarget(DataTable vTargetLookup) - { - ParseData(vTargetLookup ?? ReadCsvResource(ResourceId)); + public override double Lookup(MeterPerSecond targetVelocity) + { + var section = Data.GetSection(kv => kv.Key < targetVelocity); + return VectoMath.Interpolate(section.Item1.Key, section.Item2.Key, section.Item1.Value, section.Item2.Value, + targetVelocity); + } + + protected override void ParseData(DataTable table) + { + if (table.Columns.Count < 2) { + throw new VectoException("LAC Decision Factor File for Vtarget must consist of at least 2 columns."); } - public override double Lookup(MeterPerSecond targetVelocity) - { - var section = Data.GetSection(kv => kv.Key < targetVelocity); - return VectoMath.Interpolate(section.Item1.Key, section.Item2.Key, section.Item1.Value, section.Item2.Value, - targetVelocity); + if (table.Rows.Count < 2) { + throw new VectoException( + "LAC Decision Factor File for Vtarget must consist of at least two lines with numeric values (below file header)"); } - protected override void ParseData(DataTable table) - { - if (table.Columns.Count < 2) { - throw new VectoException("LAC Decision Factor File for Vtarget must consist of at least 2 columns."); - } - - if (table.Rows.Count < 2) { - throw new VectoException( - "LAC Decision Factor File for Vtarget must consist of at least two lines with numeric values (below file header)"); - } - - if (table.Columns.Contains("v_target") && table.Columns.Contains("decision_factor")) { - Data = table.Rows.Cast<DataRow>() - .ToDictionary(r => r.ParseDouble("v_target").KMPHtoMeterPerSecond(), r => r.ParseDouble("decision_factor")); - } else { - Data = table.Rows.Cast<DataRow>() - .ToDictionary(r => r.ParseDouble(0).KMPHtoMeterPerSecond(), r => r.ParseDouble(1)); - } + if (table.Columns.Contains(Fields.TargetVelocity) && table.Columns.Contains(Fields.DecisionFactor)) { + Data = table.Rows.Cast<DataRow>() + .ToDictionary(r => r.ParseDouble(Fields.TargetVelocity).KMPHtoMeterPerSecond(), + r => r.ParseDouble(Fields.DecisionFactor)); + } else { + Data = table.Rows.Cast<DataRow>() + .ToDictionary(r => r.ParseDouble(0).KMPHtoMeterPerSecond(), r => r.ParseDouble(1)); } } + + public static class Fields + { + public const string TargetVelocity = "v_target"; + public const string DecisionFactor = "decision_factor"; + } } } } \ No newline at end of file diff --git a/VectoCore/VectoCore/Models/Declaration/Payloads.cs b/VectoCore/VectoCore/Models/Declaration/Payloads.cs index e78819a7122496c9b0adee0db836583e285a8015..8e0e7a447baacb72adcb4dc885d3139138e98140 100644 --- a/VectoCore/VectoCore/Models/Declaration/Payloads.cs +++ b/VectoCore/VectoCore/Models/Declaration/Payloads.cs @@ -6,9 +6,9 @@ using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Models.Declaration { - internal sealed class Payloads : LookupData<Kilogram, Payloads.PayloadEntry> + public sealed class Payloads : LookupData<Kilogram, Payloads.PayloadEntry> { - internal sealed class PayloadEntry + public sealed class PayloadEntry { public Kilogram Payload50Percent; public Kilogram Payload75Percent; diff --git a/VectoCore/VectoCore/Models/Declaration/StandardWeights.cs b/VectoCore/VectoCore/Models/Declaration/StandardWeights.cs index 44e0c5212450efd4ff5edb18ea8753147f0c2330..014d00dcd52bf67ec8844fa5c2f470d6f470bc2a 100644 --- a/VectoCore/VectoCore/Models/Declaration/StandardWeights.cs +++ b/VectoCore/VectoCore/Models/Declaration/StandardWeights.cs @@ -39,7 +39,7 @@ using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Models.Declaration { - internal sealed class StandardWeight + public sealed class StandardWeight { public Kilogram CurbWeight; public Kilogram GrossVehicleWeight; @@ -68,7 +68,7 @@ namespace TUGraz.VectoCore.Models.Declaration /// Gross Vehicle Weight (=Maximum Allowed Weight), and /// MaxPayload. /// </summary> - internal sealed class StandardWeights : LookupData<string, StandardWeight> + public sealed class StandardWeights : LookupData<string, StandardWeight> { private const string ResourceId = "TUGraz.VectoCore.Resources.Declaration.Body_Trailers_Weights.csv"; diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/AccelerationCurve.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/AccelerationCurve.cs index ca50bfcc175310f6e103eaf632d85a4780d8f4da..9ed34ad998a502dd00e56bc8278b2c03f909f368 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/AccelerationCurve.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/AccelerationCurve.cs @@ -235,7 +235,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data return m / k * Math.Exp((k * t).Value()) + b * t + c; } - private static class Fields + public static class Fields { public const string Velocity = "v"; diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/CrossWindCorrectionCurveReader.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/CrossWindCorrectionCurveReader.cs index 8b401ad19e6b91a5c09c96b0b9c82265228f8064..d9ec305f2ce260a2315ad8be26d1a8eeff02934d 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/CrossWindCorrectionCurveReader.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/CrossWindCorrectionCurveReader.cs @@ -161,7 +161,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data return columns.Contains(FieldsCdxABeta.Beta) && columns.Contains(FieldsCdxABeta.DeltaCdxA); } - private static class FieldsCdxABeta + public static class FieldsCdxABeta { public const string Beta = "beta"; diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/FuelConsumptionMap.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/FuelConsumptionMap.cs index 783d16f4d6db94084bcf7eeac91784c282ce1d85..4a88139444d80ace93702f26587238b3edb02864 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/FuelConsumptionMap.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/FuelConsumptionMap.cs @@ -122,18 +122,20 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Engine { // delaunay map needs is initialised with rpm, therefore the angularVelocity has to be converted. var value = _fuelMap.Interpolate(torque.Value(), angularVelocity.AsRPM); - if (value.HasValue) + if (value.HasValue) { return value.Value.SI().Kilo.Gramm.Per.Second.Cast<KilogramPerSecond>(); + } - if (allowExtrapolation) + if (allowExtrapolation) { return _fuelMap.Extrapolate(torque.Value(), angularVelocity.AsRPM).SI().Kilo.Gramm.Per.Second.Cast<KilogramPerSecond>(); + } throw new VectoException("FuelConsumptionMap: Interpolation failed. torque: {0}, n: {1}", torque.Value(), angularVelocity.AsRPM); } - private static class Fields + public static class Fields { /// <summary> /// [rpm] diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/PT1Curve.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/PT1Curve.cs index 32d9b6f27bd29aa2200e31a4d881b134a5dd3f5a..3a8434e773ba8023eae91b3c8697c6466e610f53 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/PT1Curve.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/PT1Curve.cs @@ -74,7 +74,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Engine protected override void ParseData(DataTable data) { - if (data.Columns.Count < 4) { + if (data.Columns.Count < 3) { throw new VectoException("FullLoadCurve/PT1 Data File must consist of at least 4 columns."); } diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/RetarderLossMap.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/RetarderLossMap.cs index fc8b6904e839e0637f723addc14f50918eab5f57..9aed81a97d3f5c78e45838f00a7f3e654cb8a3a0 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/RetarderLossMap.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/RetarderLossMap.cs @@ -153,7 +153,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data public NewtonMeter TorqueLoss { get; set; } } - private static class Fields + public static class Fields { /// <summary> /// [rpm] diff --git a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs index 39830a4f407803e5bd678d278c1d6c4de4e44a88..a74972dec2f5336fe48f93740daf655b54369d62 100644 --- a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs +++ b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs @@ -46,61 +46,61 @@ namespace TUGraz.VectoCore.OutputData public class SummaryDataContainer : LoggingObject, IDisposable { // ReSharper disable InconsistentNaming - private const string JOB = "Job [-]"; - private const string INPUTFILE = "Input File [-]"; - private const string CYCLE = "Cycle [-]"; - private const string STATUS = "Status"; - private const string MASS = "Mass [kg]"; - private const string LOADING = "Loading [kg]"; - private const string TIME = "time [s]"; - private const string DISTANCE = "distance [km]"; - private const string SPEED = "speed [km/h]"; - private const string ALTITUDE_DELTA = "altitudeDelta [m]"; - - private const string FCMAP_H = "FC-Map [g/h]"; - private const string FCMAP_KM = "FC-Map [g/km]"; - private const string FCAUXC_H = "FC-AUXc [g/h]"; - private const string FCAUXC_KM = "FC-AUXc [g/km]"; - private const string FCWHTCC_H = "FC-WHTCc [g/h]"; - private const string FCWHTCC_KM = "FC-WHTCc [g/km]"; - private const string FCAAUX_H = "FC-AAUX [g/h]"; - private const string FCAAUX_KM = "FC-AAUX [g/km]"; - - private const string FCFINAL_H = "FC-Final [g/h]"; - private const string FCFINAL_KM = "FC-Final [g/km]"; - private const string FCFINAL_LITERPER100KM = "FC-Final [l/100km]"; - private const string FCFINAL_LITERPER100TKM = "FC-Final [l/100tkm]"; - - private const string CO2_KM = "CO2 [g/km]"; - private const string CO2_TKM = "CO2 [g/tkm]"; - - private const string P_WHEEL_POS = "P_wheel_in_pos [kW]"; - private const string P_BRAKE_LOSS = "P_brake_loss [kW]"; - private const string P_ENG_POS = "P_eng_out_pos [kW]"; - private const string P_ENG_NEG = "P_eng_out_neg [kW]"; - - private const string E_AUX_FORMAT = "E_aux_{0} [kWh]"; - private const string E_AUX = "E_aux_sum [kWh]"; - - private const string E_AIR = "E_air [kWh]"; - private const string E_ROLL = "E_roll [kWh]"; - private const string E_GRAD = "E_grad [kWh]"; - private const string E_INERTIA = "E_inertia [kWh]"; - private const string E_BRAKE = "E_brake [kWh]"; - private const string E_GBX_AXL_LOSS = "E_gbx_axl_loss [kWh]"; - private const string E_RET_LOSS = "E_ret_loss [kWh]"; - private const string E_TC_LOSS = "E_tc_loss [kWh]"; - private const string E_ENG_POS = "E_eng_out_pos [kWh]"; - private const string E_ENG_NEG = "E_eng_out_neg [kWh]"; - - private const string ACC = "a [m/s^2]"; - private const string ACC_POS = "a_pos [m/s^2]"; - private const string ACC_NEG = "a_neg [m/s^2]"; - - private const string ACC_TIMESHARE = "AccelerationTimeShare [%]"; - private const string DEC_TIMESHARE = "DecelerationTimeShare [%]"; - private const string CRUISE_TIMESHARE = "CruiseTimeShare [%]"; - private const string STOP_TIMESHARE = "StopTimeShare [%]"; + public const string JOB = "Job [-]"; + public const string INPUTFILE = "Input File [-]"; + public const string CYCLE = "Cycle [-]"; + public const string STATUS = "Status"; + public const string MASS = "Mass [kg]"; + public const string LOADING = "Loading [kg]"; + public const string TIME = "time [s]"; + public const string DISTANCE = "distance [km]"; + public const string SPEED = "speed [km/h]"; + public const string ALTITUDE_DELTA = "altitudeDelta [m]"; + + public const string FCMAP_H = "FC-Map [g/h]"; + public const string FCMAP_KM = "FC-Map [g/km]"; + public const string FCAUXC_H = "FC-AUXc [g/h]"; + public const string FCAUXC_KM = "FC-AUXc [g/km]"; + public const string FCWHTCC_H = "FC-WHTCc [g/h]"; + public const string FCWHTCC_KM = "FC-WHTCc [g/km]"; + public const string FCAAUX_H = "FC-AAUX [g/h]"; + public const string FCAAUX_KM = "FC-AAUX [g/km]"; + + public const string FCFINAL_H = "FC-Final [g/h]"; + public const string FCFINAL_KM = "FC-Final [g/km]"; + public const string FCFINAL_LITERPER100KM = "FC-Final [l/100km]"; + public const string FCFINAL_LITERPER100TKM = "FC-Final [l/100tkm]"; + + public const string CO2_KM = "CO2 [g/km]"; + public const string CO2_TKM = "CO2 [g/tkm]"; + + public const string P_WHEEL_POS = "P_wheel_in_pos [kW]"; + public const string P_BRAKE_LOSS = "P_brake_loss [kW]"; + public const string P_ENG_POS = "P_eng_out_pos [kW]"; + public const string P_ENG_NEG = "P_eng_out_neg [kW]"; + + public const string E_AUX_FORMAT = "E_aux_{0} [kWh]"; + public const string E_AUX = "E_aux_sum [kWh]"; + + public const string E_AIR = "E_air [kWh]"; + public const string E_ROLL = "E_roll [kWh]"; + public const string E_GRAD = "E_grad [kWh]"; + public const string E_INERTIA = "E_inertia [kWh]"; + public const string E_BRAKE = "E_brake [kWh]"; + public const string E_GBX_AXL_LOSS = "E_gbx_axl_loss [kWh]"; + public const string E_RET_LOSS = "E_ret_loss [kWh]"; + public const string E_TC_LOSS = "E_tc_loss [kWh]"; + public const string E_ENG_POS = "E_eng_out_pos [kWh]"; + public const string E_ENG_NEG = "E_eng_out_neg [kWh]"; + + public const string ACC = "a [m/s^2]"; + public const string ACC_POS = "a_pos [m/s^2]"; + public const string ACC_NEG = "a_neg [m/s^2]"; + + public const string ACC_TIMESHARE = "AccelerationTimeShare [%]"; + public const string DEC_TIMESHARE = "DecelerationTimeShare [%]"; + public const string CRUISE_TIMESHARE = "CruiseTimeShare [%]"; + public const string STOP_TIMESHARE = "StopTimeShare [%]"; // ReSharper restore InconsistentNaming private readonly DataTable _table; diff --git a/VectoCore/VectoCore/Utils/DelaunayMap.cs b/VectoCore/VectoCore/Utils/DelaunayMap.cs index 852d9571a24825ad742d1a6fec8c2c5b73b19745..54036b56b7e8f64c39dc4d9a2e8e2c5d7c6c7ab3 100644 --- a/VectoCore/VectoCore/Utils/DelaunayMap.cs +++ b/VectoCore/VectoCore/Utils/DelaunayMap.cs @@ -39,6 +39,7 @@ using System.Windows.Forms.DataVisualization.Charting; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; +using Point = TUGraz.VectoCommon.Utils.Point; namespace TUGraz.VectoCore.Utils { diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj index 3de550b75edc48eb09dcb5b1e3027c889cfb9134..590d36f54cc46006a7b7c88627b5826895548c17 100644 --- a/VectoCore/VectoCore/VectoCore.csproj +++ b/VectoCore/VectoCore/VectoCore.csproj @@ -187,7 +187,6 @@ <Compile Include="Models\Simulation\DataBus\IClutchInfo.cs" /> <Compile Include="Models\Simulation\DataBus\IDriverInfo.cs" /> <Compile Include="Models\Simulation\DataBus\IWheelsInfo.cs" /> - <Compile Include="Models\Simulation\Data\AuxiliaryDemandType.cs" /> <Compile Include="Models\SimulationComponent\Data\AuxiliaryType.cs" /> <Compile Include="Models\SimulationComponent\Data\FullLoadCurve.cs" /> <Compile Include="Models\Simulation\DataBus\IMileageCounter.cs" /> diff --git a/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs index 99d82a1d7c4377373d27a0d2a81a1e171d11278b..be989b1e3242d524b9a1df535ed1fcfe0a6ffe45 100644 --- a/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs +++ b/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs @@ -48,7 +48,7 @@ using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; using TUGraz.VectoCore.Tests.Utils; using TUGraz.VectoCore.Utils; using Assert = Microsoft.VisualStudio.TestTools.UnitTesting.Assert; -using Point = TUGraz.VectoCore.Utils.Point; +using Point = TUGraz.VectoCommon.Utils.Point; namespace TUGraz.VectoCore.Tests.Models.Declaration { diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs index f87c11281fc06994852732d24aa1ac4400773885..fbe300dc444c6b5c62f9c0c303b5cb83ab4f6365 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs @@ -38,6 +38,7 @@ using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.Reader; using TUGraz.VectoCore.InputData.Reader.DataObjectAdaper; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.Impl; using TUGraz.VectoCore.Models.SimulationComponent.Data; diff --git a/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs b/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs index c4bc81c2faf2f2a9abd3be8470964cab1bdcc71a..5f188d92bddd876407e8f2532492c5eb1d689c6c 100644 --- a/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs +++ b/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs @@ -34,6 +34,7 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.JSON; using TUGraz.VectoCore.InputData.Reader.DataObjectAdaper; +using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; using TUGraz.VectoCore.Models.SimulationComponent.Data; namespace TUGraz.VectoCore.Tests.Utils diff --git a/VectoCore/VectoCoreTest/Utils/ShiftPolygonDrawer.cs b/VectoCore/VectoCoreTest/Utils/ShiftPolygonDrawer.cs index 9518333dc48a7886043629e93de81ab97d45e33c..994b829230837f6f68883df95ca89af7567233a4 100644 --- a/VectoCore/VectoCoreTest/Utils/ShiftPolygonDrawer.cs +++ b/VectoCore/VectoCoreTest/Utils/ShiftPolygonDrawer.cs @@ -40,7 +40,7 @@ using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; -using Point = TUGraz.VectoCore.Utils.Point; +using Point = TUGraz.VectoCommon.Utils.Point; namespace TUGraz.VectoCore.Tests.Utils {