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

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

correct calculation of internal height

parent ed6b595a
No related branches found
No related tags found
No related merge requests found
......@@ -182,10 +182,10 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
var isDoubleDecker = completedVehicle.VehicleCode.IsDoubleDeckerBus();
var hvacConfiguration = completedVehicle.Components.BusAuxiliaries.HVACAux.SystemConfiguration;
var hvacBusLength = hvacConfiguration == BusHVACSystemConfiguration.Configuration2
? 2 * Constants.BusParameters.DriverCompartmentLength
: completedVehicle.Length;
var hvacBusHeight = DeclarationData.BusAuxiliaries.CalculateInternalHeight(completedVehicle.VehicleCode, completedVehicle.Height);
? 2 * Constants.BusParameters.DriverCompartmentLength // OK
: completedVehicle.Length;
var hvacBusHeight = DeclarationData.BusAuxiliaries.CalculateInternalHeight(completedVehicle.VehicleCode, completedVehicle.RegisteredClass, completedVehicle.Height);
var hvacBusWidth = DeclarationData.BusAuxiliaries.CorrectedBusWidth(completedVehicle.Width);
var coolingPower = CalculateMaxCoolingPower(completedVehicle, mission);
......@@ -276,7 +276,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
var length = DeclarationData.BusAuxiliaries.CalculateInternalLength(
completedVehicle.Length , completedVehicle.VehicleCode,
completedVehicle.NumberOfPassengersLowerDeck);
var height = DeclarationData.BusAuxiliaries.CalculateInternalHeight(completedVehicle.VehicleCode, completedVehicle.Height);
var height = DeclarationData.BusAuxiliaries.CalculateInternalHeight(completedVehicle.VehicleCode, completedVehicle.RegisteredClass, completedVehicle.Height);
var volume = length * height * completedVehicle.Width;
var driver = DeclarationData.BusAuxiliaries.HVACMaxCoolingPower.DriverMaxCoolingPower(
......
......@@ -300,7 +300,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
var hvacBusLength = busParams.HVACConfiguration == BusHVACSystemConfiguration.Configuration2
? 2 * Constants.BusParameters.DriverCompartmentLength // OK
: busParams.VehicleLength; // missing: correction length for low floor buses
var hvacBusheight = DeclarationData.BusAuxiliaries.CalculateInternalHeight(mission.BusParameter.VehicleCode, busParams.BodyHeight);
var hvacBusheight = DeclarationData.BusAuxiliaries.CalculateInternalHeight(mission.BusParameter.VehicleCode, RegistrationClass.II, busParams.BodyHeight);
var coolingPower = CalculateMaxCoolingPower(null, mission);
var retVal = GetDefaulSSMInputs(heatingFuel);
......@@ -395,7 +395,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
var length = DeclarationData.BusAuxiliaries.CalculateInternalLength(
busParams.VehicleLength, busParams.VehicleCode,
busParams.NumberPassengersLowerDeck);
var height = DeclarationData.BusAuxiliaries.CalculateInternalHeight(busParams.VehicleCode, busParams.BodyHeight);
var height = DeclarationData.BusAuxiliaries.CalculateInternalHeight(busParams.VehicleCode, RegistrationClass.II, busParams.BodyHeight);
var volume = length * height * busParams.VehicleWidth;
var driver = DeclarationData.BusAuxiliaries.HVACMaxCoolingPower.DriverMaxCoolingPower(
......
......@@ -299,7 +299,7 @@ namespace TUGraz.VectoCore.Models.Declaration
return CalculateInternalLength(vehicleLength, vehicleCode, numPassLowFloor);
}
public static Meter CalculateInternalHeight(VehicleCode vehicleCode, Meter vehicleHeight)
public static Meter CalculateInternalHeight(VehicleCode vehicleCode, RegistrationClass registrationClass, Meter bodyHeight)
{
if (vehicleCode.IsDoubleDeckerBus()) {
return Constants.BusParameters.InternalHeightDoubleDecker;
......@@ -307,11 +307,15 @@ namespace TUGraz.VectoCore.Models.Declaration
switch (vehicleCode.GetFloorType()) {
case FloorType.LowFloor:
return vehicleHeight;
return bodyHeight;
case FloorType.HighFloor:
return vehicleHeight - Constants.BusParameters.HeightLuggageCompartment;
if ((registrationClass == RegistrationClass.II_III && bodyHeight > 3.1.SI<Meter>()) ||
registrationClass == RegistrationClass.III || registrationClass == RegistrationClass.B) {
return Constants.BusParameters.InternalHeightDoubleDecker;
}
return bodyHeight - Constants.BusParameters.HeightLuggageCompartment;
}
throw new VectoException("Internal height for vehicle floor type '{0}' {1} not defined", vehicleCode.GetFloorType().ToString(), vehicleCode.IsDoubleDeckerBus() ? "double decker" : "single decker");
}
......
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