From 3e92ef906709c883419c2a5a12bf5bb770e89bf2 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Wed, 5 Aug 2020 09:48:48 +0200 Subject: [PATCH] update passenger density for primary bus low loading (interurban cycle only) --- .../UnitTests/SSMTOOLTests.vb | 26 ++++++++++--------- ...larationDataAdapterCompletedBusSpecific.cs | 4 ++- .../DeclarationDataAdapterPrimaryBus.cs | 2 +- .../DeclarationDataAdapterSingleBus.cs | 4 ++- .../Declaration/CompletedBusSegments.cs | 3 ++- .../VectoCore/Models/Declaration/Mission.cs | 3 ++- .../Models/Declaration/PrimaryBusSegments.cs | 21 +++++++++------ .../PrimaryBusSegmentationTable.csv | 20 +++++++------- VectoCore/VectoCore/VectoCore.csproj | 4 +-- ...eclarationSegmentComplete2AxleBusesTest.cs | 6 +++-- ...eclarationSegmentComplete3AxleBusesTest.cs | 6 +++-- ...eclarationSegmentComplete4AxleBusesTest.cs | 6 +++-- .../DeclarationSegmentHeavyBusesTest.cs | 20 +++++++------- 13 files changed, 72 insertions(+), 53 deletions(-) diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb index c939cd7f37..2cab94f3f5 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb @@ -73,16 +73,17 @@ Namespace UnitTests <TestCase("AuxHeater")> Public Sub InstantiateDefaultSSMGenInputsTest(section As String) - Dim mission As New Mission With{ - .BusParameter = New BusParameters() with { + Dim mission As New Mission With { + .BusParameter = New BusParameters() With { .HVACCompressorType = ACCompressorType.TwoStage, - .HVACAuxHeaterPower = 30e3.SI(Of Watt), + .HVACAuxHeaterPower = 30000.0.SI(Of Watt), .HVACConfiguration = BusHVACSystemConfiguration.Configuration6, .DoubleDecker = False, .VehicleWidth = 2.55.SI(Of Meter), - .VehicleLength = 10.655.SI(Of meter), + .VehicleLength = 10.655.SI(Of Meter), .BodyHeight = 2.275.SI(Of Meter), - .PassengerDensity = 3.SI(Of PerSquareMeter) + .PassengerDensityRef = 3.SI(Of PerSquareMeter), + .PassengerDensityLow = 3.SI(Of PerSquareMeter) }, .MissionType = MissionType.Urban } @@ -578,18 +579,19 @@ Namespace UnitTests Const filePath As String = "SSMTOOLTestSaveRetreive.json" Dim success As Boolean - - Dim mission As New Mission With{ + + Dim mission As New Mission With { .MissionType = MissionType.HeavyUrban, - .BusParameter = New BusParameters() with { + .BusParameter = New BusParameters() With { .HVACCompressorType = ACCompressorType.TwoStage, - .HVACAuxHeaterPower = 18e3.SI(Of Watt), + .HVACAuxHeaterPower = 18000.0.SI(Of Watt), .HVACConfiguration = BusHVACSystemConfiguration.Configuration6, - .DoubleDecker = false, - .BodyHeight = 2.7.SI(of Meter), + .DoubleDecker = False, + .BodyHeight = 2.7.SI(Of Meter), .VehicleWidth = 2.55.SI(Of Meter), .VehicleLength = 12.SI(Of Meter), - .PassengerDensity = 3.SI(Of PerSquareMeter) + .PassengerDensityLow = 3.SI(Of PerSquareMeter), + .PassengerDensityRef = 3.SI(Of PerSquareMeter) } } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs index f2562ff750..abbf37a718 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs @@ -344,7 +344,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter protected double GetNumberOfPassengers(Mission mission, Meter length, Meter width, double registeredPassengers, LoadingType loading) { var busFloorArea = DeclarationData.BusAuxiliaries.CalculateBusFloorSurfaceArea(length, width); - var passengerCountRef = busFloorArea * mission.BusParameter.PassengerDensity; + var passengerCountRef = busFloorArea * (loading == LoadingType.LowLoading + ? mission.BusParameter.PassengerDensityLow + : mission.BusParameter.PassengerDensityRef); //var passengerCountDecl = completedVehicle.NuberOfPassengersUpperDeck + completedVehicle.NumberOfPassengersLowerDeck; if (loading != LoadingType.ReferenceLoad && loading != LoadingType.LowLoading) { throw new VectoException("Unhandled loading type: {0}", loading); diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs index a706bf7a27..af5dbf6893 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs @@ -319,7 +319,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter retVal.UValue = DeclarationData.BusAuxiliaries.UValue(busParams.VehicleCode.GetFloorType()); retVal.NumberOfPassengers = DeclarationData.BusAuxiliaries.CalculateBusFloorSurfaceArea(internalLength, busParams.VehicleWidth) * - busParams.PassengerDensity * + (loadingType == LoadingType.LowLoading ? mission.BusParameter.PassengerDensityLow : mission.BusParameter.PassengerDensityRef) * (loadingType == LoadingType.LowLoading ? mission.MissionType.GetLowLoadFactorBus() : 1.0) + 1; // add driver for 'heat input' retVal.VentilationRate = DeclarationData.BusAuxiliaries.VentilationRate(busParams.HVACConfiguration, false); retVal.VentilationRateHeating = DeclarationData.BusAuxiliaries.VentilationRate(busParams.HVACConfiguration, true); diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterSingleBus.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterSingleBus.cs index 84f9ca2546..f9122c83ac 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterSingleBus.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterSingleBus.cs @@ -29,7 +29,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter var busFloorArea = DeclarationData.BusAuxiliaries.CalculateBusFloorSurfaceArea( CompletedVehicle.Length, CompletedVehicle.Width); - var passengerCountRef = busFloorArea * mission.BusParameter.PassengerDensity; + var passengerCountRef = busFloorArea * (loading.Key == LoadingType.LowLoading + ? mission.BusParameter.PassengerDensityLow + : mission.BusParameter.PassengerDensityRef); var passengerCountDecl = CompletedVehicle.NumberOfPassengersUpperDeck + CompletedVehicle.NumberOfPassengersLowerDeck; //var refLoad = passengerCount * mission.MissionType.GetAveragePassengerMass(); diff --git a/VectoCore/VectoCore/Models/Declaration/CompletedBusSegments.cs b/VectoCore/VectoCore/Models/Declaration/CompletedBusSegments.cs index b0cf0b6e74..a8474e19b2 100644 --- a/VectoCore/VectoCore/Models/Declaration/CompletedBusSegments.cs +++ b/VectoCore/VectoCore/Models/Declaration/CompletedBusSegments.cs @@ -140,7 +140,8 @@ namespace TUGraz.VectoCore.Models.Declaration DefaultCDxA = row.ParseDouble("cdxastandard").SI<SquareMeter>(), BusParameter = new BusParameters { BusGroup = VehicleClassHelper.Parse(row.Field<string>("hdvgroup")), - PassengerDensity = row.ParseDouble(missionType.ToString()).SI<PerSquareMeter>(), + PassengerDensityLow = row.ParseDouble(missionType.ToString()).SI<PerSquareMeter>(), + PassengerDensityRef = row.ParseDouble(missionType.ToString()).SI<PerSquareMeter>(), AirDragMeasurementAllowed = row.ParseBoolean("airdragmeasurement"), ElectricalConsumers = GetVehicleEquipment(row), DoubleDecker = row.Field<string>("vehiclecode").ParseEnum<VehicleCode>().IsDoubleDeckerBus(), diff --git a/VectoCore/VectoCore/Models/Declaration/Mission.cs b/VectoCore/VectoCore/Models/Declaration/Mission.cs index 7b7c669ba9..535e36a5e2 100644 --- a/VectoCore/VectoCore/Models/Declaration/Mission.cs +++ b/VectoCore/VectoCore/Models/Declaration/Mission.cs @@ -131,7 +131,8 @@ namespace TUGraz.VectoCore.Models.Declaration public bool HVACAdjustableAuxHeater { get; internal set; } public bool HVACSeparateAirDistributionDucts { get; internal set; } - public PerSquareMeter PassengerDensity { get; internal set; } + public PerSquareMeter PassengerDensityLow { get; internal set; } + public PerSquareMeter PassengerDensityRef { get; internal set; } public VehicleClass BusGroup { get; internal set; } //Completed Bus diff --git a/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs b/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs index eb45fecc19..32dc84845e 100644 --- a/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs +++ b/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs @@ -94,9 +94,13 @@ namespace TUGraz.VectoCore.Models.Declaration var busFloorArea = DeclarationData.BusAuxiliaries.CalculateBusFloorSurfaceArea(row.ParseDouble("length").SI<Meter>(), row.ParseDouble("width").SI<Meter>()); - var passengerDensity = row.ParseDouble(missionType.ToString()).SI<PerSquareMeter>(); - var passengerCount = busFloorArea * passengerDensity; // weight of driver is included in curb mass - var refLoad = passengerCount * missionType.GetAveragePassengerMass(); + var passDensities = row.Field<string>(missionType.ToString()).Split('/'); + + var passengerDensityRef = passDensities.Last().ToDouble().SI<PerSquareMeter>(); + var passengerDensityLow = passDensities.First().ToDouble().SI<PerSquareMeter>(); + var passengerCountLow = busFloorArea * passengerDensityLow; // weight of driver is included in curb mass + var passengerCountRef = busFloorArea * passengerDensityRef; // weight of driver is included in curb mass + //var refLoad = passengerCountRef * missionType.GetAveragePassengerMass(); var mission = new Mission { MissionType = missionType, CrossWindCorrectionParameters = row.Field<string>("crosswindcorrection"), @@ -111,11 +115,11 @@ namespace TUGraz.VectoCore.Models.Declaration Trailer = new List<MissionTrailer>(), MinLoad = null, MaxLoad = null, - LowLoad = refLoad * missionType.GetLowLoadFactorBus(), - RefLoad = refLoad, + LowLoad = passengerCountLow * missionType.GetAveragePassengerMass() * missionType.GetLowLoadFactorBus(), + RefLoad = passengerCountRef * missionType.GetAveragePassengerMass(), VehicleHeight = row.ParseDouble("bodyheight").SI<Meter>() + 0.3.SI<Meter>(), //row.ParseDouble("height").SI<Meter>(), - PassengersRefLoad = passengerCount, - PassengersLowLoad = passengerCount * missionType.GetLowLoadFactorBus(), + PassengersRefLoad = passengerCountRef, + PassengersLowLoad = passengerCountLow * missionType.GetLowLoadFactorBus(), TotalCargoVolume = 0.SI<CubicMeter>(), DefaultCDxA = row.ParseDouble("cdxastandard").SI<SquareMeter>(), BusParameter = new BusParameters() { @@ -125,7 +129,8 @@ namespace TUGraz.VectoCore.Models.Declaration BodyHeight = row.ParseDouble("bodyheight").SI<Meter>(), NumberPassengersLowerDeck = row.ParseDouble("passengerslowerdeck"), NumberPassengersUpperDeck = row.ParseDouble("passengersupperdeck"), - PassengerDensity = passengerDensity, + PassengerDensityLow = passengerDensityLow, + PassengerDensityRef = passengerDensityRef, DoubleDecker = row.ParseBoolean("doubledecker"), LowEntry = GetLowEntry(row.Field<string>("lowentry")), EntranceHeight = row.ParseDouble("entranceheight").SI(Unit.SI.Milli.Meter).Cast<Meter>(), diff --git a/VectoCore/VectoCore/Resources/Declaration/PrimaryBusSegmentationTable.csv b/VectoCore/VectoCore/Resources/Declaration/PrimaryBusSegmentationTable.csv index b569e4e215..0932a99beb 100644 --- a/VectoCore/VectoCore/Resources/Declaration/PrimaryBusSegmentationTable.csv +++ b/VectoCore/VectoCore/Resources/Declaration/PrimaryBusSegmentationTable.csv @@ -2,25 +2,25 @@ HDV group , Production Stage , Vehicle Category , HDV SuperGroup , Articulated , ## Heavy Bus Primary Vehicles P31SD , 1 , HeavyBus , P31_32 , - , 2 , 7.4 , 999 , 0 , CE , 0 , 100 , , Bus.vacc , CoachBus , 4.9 , 37.5/62.5 , 2.55 , 12 , 2.8 , 340 , 11975 , 80 , 0 , 3 , 3 , 3 , , , 3 , 2 , 0 , 0 , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 P31DD , 1 , HeavyBus , P31_32 , - , 2 , 7.4 , 999 , 1 , CF , 0 , 100 , , Bus.vacc , CoachBus , 6.2 , 37.5/62.5 , 2.55 , 10.5 , 3.8 , 340 , 12350 , 60 , 40 , 3.7 , 3.7 , 3.7 , , , 3 , 3 , 0 , 0 , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 -P32SD , 1 , HeavyBus , P31_32 , - , 2 , 7.4 , 999 , 0 , CA , - , 100 , , Bus.vacc , CoachBus , 3.45 , 37.5/62.5 , 2.55 , 12 , 3.15 , 340 , 13150 , 45 , 0 , , , , 1.8 , 1.4 , 2 , 2 , 0.5 , 0.5 , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 -P32DD , 1 , HeavyBus , P31_32 , - , 2 , 7.4 , 999 , 1 , CB , - , 100 , , Bus.vacc , CoachBus , 3.9 , 37.5/62.5 , 2.55 , 10.5 , 3.7 , 340 , 13400 , 25 , 35 , , , , 2.5 , 2 , 1 , 2 , 1 , 1 , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 +P32SD , 1 , HeavyBus , P31_32 , - , 2 , 7.4 , 999 , 0 , CA , - , 100 , , Bus.vacc , CoachBus , 3.45 , 37.5/62.5 , 2.55 , 12 , 3.15 , 340 , 13150 , 45 , 0 , , , , 2.2/1.8 , 1.4 , 2 , 2 , 0.5 , 0.5 , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 +P32DD , 1 , HeavyBus , P31_32 , - , 2 , 7.4 , 999 , 1 , CB , - , 100 , , Bus.vacc , CoachBus , 3.9 , 37.5/62.5 , 2.55 , 10.5 , 3.7 , 340 , 13400 , 25 , 35 , , , , 3/2.5 , 2 , 1 , 2 , 1 , 1 , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 ## P33SD , 1 , HeavyBus , P33_34 , 0 , 3 , 7.4 , 999 , 0 , CE , 0 , 100 , , Bus.vacc , CoachBus , 5.0 , 27.3/45.4/27.3 , 2.55 , 14.2 , 2.8 , 340 , 14175 , 104 , 0 , 3 , 3 , 3 , , , 3 , 2 , 0 , 0 , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 P33DD , 1 , HeavyBus , P33_34 , 0 , 3 , 7.4 , 999 , 1 , CF , 0 , 100 , , Bus.vacc , CoachBus , 6.3 , 27.3/45.4/27.3 , 2.55 , 13.5 , 3.8 , 340 , 14725 , 78 , 52 , 3.7 , 3.7 , 3.7 , , , 3 , 3 , 0 , 0 , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 -P34SD , 1 , HeavyBus , P33_34 , 0 , 3 , 7.4 , 999 , 0 , CA , - , 100 , , Bus.vacc , CoachBus , 3.53 , 27.3/45.4/27.3 , 2.55 , 13.8 , 3.15 , 340 , 15213 , 59 , 0 , , , , 1.8 , 1.4 , 2 , 2 , 0.5 , 0.5 , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 -P34DD , 1 , HeavyBus , P33_34 , 0 , 3 , 7.4 , 999 , 1 , CB , - , 100 , , Bus.vacc , CoachBus , 3.98 , 27.3/45.4/27.3 , 2.55 , 14 , 3.7 , 340 , 17850 , 33 , 46 , , , , 2.5 , 2 , 1 , 4 , 1 , 1.5 , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 +P34SD , 1 , HeavyBus , P33_34 , 0 , 3 , 7.4 , 999 , 0 , CA , - , 100 , , Bus.vacc , CoachBus , 3.53 , 27.3/45.4/27.3 , 2.55 , 13.8 , 3.15 , 340 , 15213 , 59 , 0 , , , , 2.2/1.8 , 1.4 , 2 , 2 , 0.5 , 0.5 , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 +P34DD , 1 , HeavyBus , P33_34 , 0 , 3 , 7.4 , 999 , 1 , CB , - , 100 , , Bus.vacc , CoachBus , 3.98 , 27.3/45.4/27.3 , 2.55 , 14 , 3.7 , 340 , 17850 , 33 , 46 , , , , 3/2.5 , 2 , 1 , 4 , 1 , 1.5 , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 # P35SD , 1 , HeavyBus , P35_36 , 1 , 3 , 7.4 , 999 , 0 , CG , 0 , 100 , , Bus.vacc , CoachBus , 5.1 , 24.3/35.2/40.5 , 2.55 , 18.2 , 2.8 , 340 , 17800 , 104 , 0 , 3 , 3 , 3 , , , 3 , 3 , 0 , 0 , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 P35DD , 1 , HeavyBus , P35_36 , 1 , 3 , 7.4 , 999 , 1 , CH , 0 , 100 , , Bus.vacc , CoachBus , 6.4 , 24.3/35.2/40.5 , 2.55 , 18.2 , 3.8 , 340 , 20250 , 78 , 52 , 3.7 , 3.7 , 3.7 , , , , , , , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 -P36SD , 1 , HeavyBus , P35_36 , 1 , 3 , 7.4 , 999 , 0 , CC , - , 100 , , Bus.vacc , CoachBus , 3.60 , 24.3/35.2/40.5 , 2.55 , 18.2 , 3.15 , 340 , 19267 , 59 , 0 , , , , 1.8 , 1.4 , , , , , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 -P36DD , 1 , HeavyBus , P35_36 , 1 , 3 , 7.4 , 999 , 1 , CD , - , 100 , , Bus.vacc , CoachBus , 4.05 , 24.3/35.2/40.5 , 2.55 , 18.2 , 3.7 , 340 , 21375 , 33 , 46 , , , , 2.5 , 2 , , , , , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 +P36SD , 1 , HeavyBus , P35_36 , 1 , 3 , 7.4 , 999 , 0 , CC , - , 100 , , Bus.vacc , CoachBus , 3.60 , 24.3/35.2/40.5 , 2.55 , 18.2 , 3.15 , 340 , 19267 , 59 , 0 , , , , 2.2/1.8 , 1.4 , , , , , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 +P36DD , 1 , HeavyBus , P35_36 , 1 , 3 , 7.4 , 999 , 1 , CD , - , 100 , , Bus.vacc , CoachBus , 4.05 , 24.3/35.2/40.5 , 2.55 , 18.2 , 3.7 , 340 , 21375 , 33 , 46 , , , , 3/2.5 , 2 , , , , , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 ## P37SD , 1 , HeavyBus , P37_38 , 0 , 4 , 7.4 , 999 , 0 , CE , 0 , 100 , , Bus.vacc , CoachBus , 5.1 , 21.4/21.4/35.8/21.4 , 2.55 , 15 , 2.8 , 340 , 15000 , 125 , 0 , 3 , 3 , 3 , , , , , , , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 P37DD , 1 , HeavyBus , P37_38 , 0 , 4 , 7.4 , 999 , 1 , CF , 0 , 100 , , Bus.vacc , CoachBus , 6.4 , 21.4/21.4/35.8/21.4 , 2.55 , 15 , 3.8 , 340 , 18700 , 94 , 62 , 3.7 , 3.7 , 3.7 , , , , , , , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 -P38SD , 1 , HeavyBus , P37_38 , 0 , 4 , 7.4 , 999 , 0 , CA , - , 100 , , Bus.vacc , CoachBus , 3.60 , 21.4/21.4/35.8/21.4 , 2.55 , 15 , 3.15 , 340 , 17500 , 70 , 0 , , , , 1.8 , 1.4 , , , , , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 -P38DD , 1 , HeavyBus , P37_38 , 0 , 4 , 7.4 , 999 , 1 , CB , - , 100 , , Bus.vacc , CoachBus , 4.05 , 21.4/21.4/35.8/21.4 , 2.55 , 15 , 3.7 , 340 , 21200 , 39 , 55 , , , , 2.5 , 2 , , , , , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 +P38SD , 1 , HeavyBus , P37_38 , 0 , 4 , 7.4 , 999 , 0 , CA , - , 100 , , Bus.vacc , CoachBus , 3.60 , 21.4/21.4/35.8/21.4 , 2.55 , 15 , 3.15 , 340 , 17500 , 70 , 0 , , , , 2.2/1.8 , 1.4 , , , , , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 +P38DD , 1 , HeavyBus , P37_38 , 0 , 4 , 7.4 , 999 , 1 , CB , - , 100 , , Bus.vacc , CoachBus , 4.05 , 21.4/21.4/35.8/21.4 , 2.55 , 15 , 3.7 , 340 , 21200 , 39 , 55 , , , , 3/2.5 , 2 , , , , , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 # P39SD , 1 , HeavyBus , P39_40 , 1 , 4 , 7.4 , 999 , 0 , CG , 0 , 100 , , Bus.vacc , CoachBus , 5.2 , 20.0/28.2/32.4/19.4 , 2.55 , 21 , 2.6 , 340 , 19600 , 125 , 0 , 3 , 3 , 3 , , , 3 , 3 , 0 , 0 , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 P39DD , 1 , HeavyBus , P39_40 , 1 , 4 , 7.4 , 999 , 1 , CH , 0 , 100 , , Bus.vacc , CoachBus , 6.5 , 20.0/28.2/32.4/19.4 , 2.55 , 21 , 3.8 , 340 , 24800 , 94 , 62 , 3.7 , 3.7 , 3.7 , , , , , , , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 -P40SD , 1 , HeavyBus , P39_40 , 1 , 4 , 7.4 , 999 , 0 , CC , - , 100 , , Bus.vacc , CoachBus , 3.68 , 20.0/28.2/32.4/19.4 , 2.55 , 21 , 3.15 , 340 , 20950 , 70 , 0 , , , , 1.8 , 1.4 , , , , , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 -P40DD , 1 , HeavyBus , P39_40 , 1 , 4 , 7.4 , 999 , 1 , CD , - , 100 , , Bus.vacc , CoachBus , 4.13 , 20.0/28.2/32.4/19.4 , 2.55 , 21 , 3.7 , 340 , 24600 , 39 , 55 , , , , 2.5 , 2 , , , , , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 +P40SD , 1 , HeavyBus , P39_40 , 1 , 4 , 7.4 , 999 , 0 , CC , - , 100 , , Bus.vacc , CoachBus , 3.68 , 20.0/28.2/32.4/19.4 , 2.55 , 21 , 3.15 , 340 , 20950 , 70 , 0 , , , , 2.2/1.8 , 1.4 , , , , , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 +P40DD , 1 , HeavyBus , P39_40 , 1 , 4 , 7.4 , 999 , 1 , CD , - , 100 , , Bus.vacc , CoachBus , 4.13 , 20.0/28.2/32.4/19.4 , 2.55 , 21 , 3.7 , 340 , 24600 , 39 , 55 , , , , 3/2.5 , 2 , , , , , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj index d3b90e3a46..d99e8defef 100644 --- a/VectoCore/VectoCore/VectoCore.csproj +++ b/VectoCore/VectoCore/VectoCore.csproj @@ -906,11 +906,11 @@ <SubType>Designer</SubType> </EmbeddedResource> <EmbeddedResource Include="Resources\Declaration\CompletedBusSegmentationTable.csv" /> - <EmbeddedResource Include="Resources\Declaration\GenericBusData\EngineConsumptionMap_CI_Normed.vmap" /> - <EmbeddedResource Include="Resources\Declaration\GenericBusData\EngineConsumptionMap_PI_Normed.vmap" /> <EmbeddedResource Include="Resources\Declaration\VAUXBus\SP-AxleFactor.csv" /> <EmbeddedResource Include="Resources\Declaration\VAUXBus\SP-Axles_Bus.csv" /> <EmbeddedResource Include="Resources\Declaration\VAUXBus\SP-Factors_Bus.csv" /> + <EmbeddedResource Include="Resources\Declaration\GenericBusData\EngineConsumptionMap_CI_normalized.vmap" /> + <EmbeddedResource Include="Resources\Declaration\GenericBusData\EngineConsumptionMap_PI_normalized.vmap" /> <None Include="Utils\VectoVersionCore.tt"> <Generator>TextTemplatingFileGenerator</Generator> <LastGenOutput>VectoVersionCore.cs</LastGenOutput> diff --git a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete2AxleBusesTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete2AxleBusesTest.cs index f8c598653e..9d4aae5bdf 100644 --- a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete2AxleBusesTest.cs +++ b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete2AxleBusesTest.cs @@ -408,11 +408,13 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration case MissionType.Suburban: case MissionType.Interurban: var currentValue = passengerDensity[0]; - Assert.AreEqual(currentValue, busParameters.PassengerDensity.Value()); + Assert.AreEqual(currentValue, busParameters.PassengerDensityRef.Value()); + Assert.AreEqual(currentValue, busParameters.PassengerDensityLow.Value()); break; case MissionType.Coach: var coachValue = passengerDensity[1]; - Assert.AreEqual(coachValue, busParameters.PassengerDensity.Value()); + Assert.AreEqual(coachValue, busParameters.PassengerDensityRef.Value()); + Assert.AreEqual(coachValue, busParameters.PassengerDensityLow.Value()); break; } diff --git a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete3AxleBusesTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete3AxleBusesTest.cs index 232c0de95e..006ed08fee 100644 --- a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete3AxleBusesTest.cs +++ b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete3AxleBusesTest.cs @@ -480,11 +480,13 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration case MissionType.Suburban: case MissionType.Interurban: var currentValue = passengerDensity[0]; - Assert.AreEqual(currentValue, busParameters.PassengerDensity.Value()); + Assert.AreEqual(currentValue, busParameters.PassengerDensityRef.Value()); + Assert.AreEqual(currentValue, busParameters.PassengerDensityLow.Value()); break; case MissionType.Coach: var coachValue = passengerDensity[1]; - Assert.AreEqual(coachValue, busParameters.PassengerDensity.Value()); + Assert.AreEqual(coachValue, busParameters.PassengerDensityRef.Value()); + Assert.AreEqual(coachValue, busParameters.PassengerDensityLow.Value()); break; } diff --git a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete4AxleBusesTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete4AxleBusesTest.cs index 96f8ab52d6..6563fdf8be 100644 --- a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete4AxleBusesTest.cs +++ b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete4AxleBusesTest.cs @@ -127,11 +127,13 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration case MissionType.Suburban: case MissionType.Interurban: var currentValue = passengerDensity[0]; - Assert.AreEqual(currentValue, busParameters.PassengerDensity.Value()); + Assert.AreEqual(currentValue, busParameters.PassengerDensityRef.Value()); + Assert.AreEqual(currentValue, busParameters.PassengerDensityLow.Value()); break; case MissionType.Coach: var coachValue = passengerDensity[1]; - Assert.AreEqual(coachValue, busParameters.PassengerDensity.Value()); + Assert.AreEqual(coachValue, busParameters.PassengerDensityRef.Value()); + Assert.AreEqual(coachValue, busParameters.PassengerDensityLow.Value()); break; } diff --git a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentHeavyBusesTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentHeavyBusesTest.cs index 9f8b59c660..8c4e5f43d5 100644 --- a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentHeavyBusesTest.cs +++ b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentHeavyBusesTest.cs @@ -145,7 +145,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration height: 3.15, curbMass: 13150, refLoad: 3519.612, - lowLoad: 879.903, + lowLoad: 1075.437, axleWeightDistribution: new[] { 0.375, 0.625 }, expVehicleEquipment: GetExpectedVehicleEquipment(2, 2, 0.5, 0.5) ); @@ -172,7 +172,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration height: 3.7, curbMass: 13400, refLoad: 4209.4125, - lowLoad: 1052.353125, + lowLoad: 1262.82375, axleWeightDistribution: new[] { 0.375, 0.625 }, expVehicleEquipment: GetExpectedVehicleEquipment(1, 2, 1, 1) ); @@ -250,7 +250,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration height: 3.15, curbMass: 15213, refLoad: 4106.214, - lowLoad: 1026.5535, + lowLoad: 1254.6765, axleWeightDistribution: new[] { 0.273, 0.454, 0.273 }, expVehicleEquipment: GetExpectedVehicleEquipment(2, 2, 0.5, 0.5) ); @@ -277,7 +277,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration height: 3.7, curbMass: 17850, refLoad: 5793.6, - lowLoad: 1448.4, + lowLoad: 1738.08, axleWeightDistribution: new[] { 0.273, 0.454, 0.273 }, expVehicleEquipment: GetExpectedVehicleEquipment(1, 4, 1, 1.5) ); @@ -355,7 +355,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration height: 3.15, curbMass: 19267, refLoad: 5540.130, - lowLoad: 1385.0325, + lowLoad: 1692.8175, axleWeightDistribution: new[] { 0.243, 0.352, 0.405 }, expVehicleEquipment: GetExpectedVehicleEquipment(null, null, null, null) ); @@ -381,7 +381,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration height: 3.7, curbMass: 21375, refLoad: 7694.625, - lowLoad: 1923.65625, + lowLoad: 2308.3875, axleWeightDistribution: new[] { 0.243, 0.352, 0.405 }, expVehicleEquipment: GetExpectedVehicleEquipment(null, null, null, null) ); @@ -459,7 +459,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration height: 3.15, curbMass: 17500, refLoad: 4497.282, - lowLoad: 1124.3205, + lowLoad: 1374.1695, axleWeightDistribution: new[] { 0.214, 0.214, 0.358, 0.214 }, expVehicleEquipment: GetExpectedVehicleEquipment(null, null, null, null) ); @@ -486,7 +486,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration height: 3.7, curbMass: 21200, refLoad: 6246.225, - lowLoad: 1561.55625, + lowLoad: 1873.8675, axleWeightDistribution: new[] { 0.214, 0.214, 0.358, 0.214 }, expVehicleEquipment: GetExpectedVehicleEquipment(null, null, null, null) ); @@ -564,7 +564,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration height: 3.15, curbMass: 20950, refLoad: 6452.622, - lowLoad: 1613.1555, + lowLoad: 1971.6345, axleWeightDistribution: new[] { 0.200, 0.282, 0.324, 0.194 }, expVehicleEquipment: GetExpectedVehicleEquipment(null, null, null, null) ); @@ -591,7 +591,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration height: 3.7, curbMass: 24600, refLoad: 8961.975, - lowLoad: 2240.49375, + lowLoad: 2688.5925, axleWeightDistribution: new[] { 0.200, 0.282, 0.324, 0.194 }, expVehicleEquipment: GetExpectedVehicleEquipment(null, null, null, null) ); -- GitLab