Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit a9c5e466 authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

bus: low loading depends on mission profile

parent 2f8a1a24
No related branches found
No related tags found
No related merge requests found
......@@ -278,7 +278,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
UValue = DeclarationData.BusAuxiliaries.UValue(busParams.FloorType),
NumberOfPassengers =
DeclarationData.BusAuxiliaries.CalculateBusFloorSurfaceArea(hvacBusLength, busParams.VehicleWidth) *
busParams.PassengerDensity * (loadingType == LoadingType.LowLoading ? mission.MissionType.GetPassengerDensityLowLoadFactor() : 1.0) + 1, // add driver for 'heat input'
busParams.PassengerDensity * (loadingType == LoadingType.LowLoading ? mission.MissionType.GetLowLoadFactorBus() : 1.0) + 1, // add driver for 'heat input'
VentilationRate = DeclarationData.BusAuxiliaries.VentilationRate(busParams.HVACConfiguration, false),
VentilationRateHeating = DeclarationData.BusAuxiliaries.VentilationRate(busParams.HVACConfiguration, true),
......
......@@ -23,21 +23,20 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
{
var busFloorArea = DeclarationData.BusAuxiliaries.CalculateBusFloorSurfaceArea(CompletedVehicle.Length,
CompletedVehicle.Width);
var passengerCount = VectoMath.Min(
busFloorArea * mission.BusParameter.PassengerDensity,
CompletedVehicle.NuberOfPassengersUpperDeck + CompletedVehicle.NumberOfPassengersLowerDeck);
var refLoad = passengerCount * mission.MissionType.GetAveragePassengerMass();
var passengerCountRef = busFloorArea * mission.BusParameter.PassengerDensity;
var passengerCountDecl = CompletedVehicle.NuberOfPassengersUpperDeck + CompletedVehicle.NumberOfPassengersLowerDeck);
//var refLoad = passengerCount * mission.MissionType.GetAveragePassengerMass();
if (loading.Key != LoadingType.ReferenceLoad && loading.Key != LoadingType.LowLoading) {
throw new VectoException("Unhandled loading type: {0}", loading.Key);
}
var payload = loading.Key == LoadingType.ReferenceLoad ? refLoad : refLoad * 0.2;
var payload =
(loading.Key == LoadingType.ReferenceLoad
? VectoMath.Min(passengerCountRef, passengerCountDecl)
: passengerCountRef * mission.MissionType.GetLowLoadFactorBus()) * mission.MissionType.GetAveragePassengerMass();
var retVal = base.CreateNonExemptedVehicleData(vehicle, mission, payload);
retVal.CurbMass = CompletedVehicle.CurbMassChassis;
//retVal.Length = CompletedVehicle.Length;
//retVal.Width = CompletedVehicle.Width;
//retVal.Height = CompletedVehicle.Height;
return retVal;
}
......
......@@ -116,7 +116,7 @@ namespace TUGraz.VectoCore.Models.Declaration
Trailer = new List<MissionTrailer>(),
MinLoad = null,
MaxLoad = null,
LowLoad = refLoad * 0.2,
LowLoad = refLoad * missionType.GetLowLoadFactorBus(),
RefLoad = refLoad,
VehicleHeight = 0.SI<Meter>(), //row.ParseDouble("height").SI<Meter>(),
TotalCargoVolume = 0.SI<CubicMeter>(),
......
......@@ -129,13 +129,13 @@ namespace TUGraz.VectoCore.Models.Declaration
}
}
public static double GetPassengerDensityLowLoadFactor(this MissionType self)
public static double GetLowLoadFactorBus(this MissionType self)
{
switch (self) {
case MissionType.HeavyUrban:
case MissionType.Urban:
case MissionType.Suburban: return 0.2;
case MissionType.Interurban: return 0.3;
case MissionType.Interurban:
case MissionType.Coach: return 0.4;
default: return 0.1;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment