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 ...@@ -182,10 +182,10 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
var isDoubleDecker = completedVehicle.VehicleCode.IsDoubleDeckerBus(); var isDoubleDecker = completedVehicle.VehicleCode.IsDoubleDeckerBus();
var hvacConfiguration = completedVehicle.Components.BusAuxiliaries.HVACAux.SystemConfiguration; var hvacConfiguration = completedVehicle.Components.BusAuxiliaries.HVACAux.SystemConfiguration;
var hvacBusLength = hvacConfiguration == BusHVACSystemConfiguration.Configuration2 var hvacBusLength = hvacConfiguration == BusHVACSystemConfiguration.Configuration2
? 2 * Constants.BusParameters.DriverCompartmentLength ? 2 * Constants.BusParameters.DriverCompartmentLength // OK
: completedVehicle.Length; : completedVehicle.Length;
var hvacBusHeight = DeclarationData.BusAuxiliaries.CalculateInternalHeight(completedVehicle.VehicleCode, completedVehicle.Height); var hvacBusHeight = DeclarationData.BusAuxiliaries.CalculateInternalHeight(completedVehicle.VehicleCode, completedVehicle.RegisteredClass, completedVehicle.Height);
var hvacBusWidth = DeclarationData.BusAuxiliaries.CorrectedBusWidth(completedVehicle.Width); var hvacBusWidth = DeclarationData.BusAuxiliaries.CorrectedBusWidth(completedVehicle.Width);
var coolingPower = CalculateMaxCoolingPower(completedVehicle, mission); var coolingPower = CalculateMaxCoolingPower(completedVehicle, mission);
...@@ -276,7 +276,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter ...@@ -276,7 +276,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
var length = DeclarationData.BusAuxiliaries.CalculateInternalLength( var length = DeclarationData.BusAuxiliaries.CalculateInternalLength(
completedVehicle.Length , completedVehicle.VehicleCode, completedVehicle.Length , completedVehicle.VehicleCode,
completedVehicle.NumberOfPassengersLowerDeck); 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 volume = length * height * completedVehicle.Width;
var driver = DeclarationData.BusAuxiliaries.HVACMaxCoolingPower.DriverMaxCoolingPower( var driver = DeclarationData.BusAuxiliaries.HVACMaxCoolingPower.DriverMaxCoolingPower(
......
...@@ -300,7 +300,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter ...@@ -300,7 +300,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
var hvacBusLength = busParams.HVACConfiguration == BusHVACSystemConfiguration.Configuration2 var hvacBusLength = busParams.HVACConfiguration == BusHVACSystemConfiguration.Configuration2
? 2 * Constants.BusParameters.DriverCompartmentLength // OK ? 2 * Constants.BusParameters.DriverCompartmentLength // OK
: busParams.VehicleLength; // missing: correction length for low floor buses : 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 coolingPower = CalculateMaxCoolingPower(null, mission);
var retVal = GetDefaulSSMInputs(heatingFuel); var retVal = GetDefaulSSMInputs(heatingFuel);
...@@ -395,7 +395,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter ...@@ -395,7 +395,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
var length = DeclarationData.BusAuxiliaries.CalculateInternalLength( var length = DeclarationData.BusAuxiliaries.CalculateInternalLength(
busParams.VehicleLength, busParams.VehicleCode, busParams.VehicleLength, busParams.VehicleCode,
busParams.NumberPassengersLowerDeck); 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 volume = length * height * busParams.VehicleWidth;
var driver = DeclarationData.BusAuxiliaries.HVACMaxCoolingPower.DriverMaxCoolingPower( var driver = DeclarationData.BusAuxiliaries.HVACMaxCoolingPower.DriverMaxCoolingPower(
......
...@@ -299,7 +299,7 @@ namespace TUGraz.VectoCore.Models.Declaration ...@@ -299,7 +299,7 @@ namespace TUGraz.VectoCore.Models.Declaration
return CalculateInternalLength(vehicleLength, vehicleCode, numPassLowFloor); 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()) { if (vehicleCode.IsDoubleDeckerBus()) {
return Constants.BusParameters.InternalHeightDoubleDecker; return Constants.BusParameters.InternalHeightDoubleDecker;
...@@ -307,11 +307,15 @@ namespace TUGraz.VectoCore.Models.Declaration ...@@ -307,11 +307,15 @@ namespace TUGraz.VectoCore.Models.Declaration
switch (vehicleCode.GetFloorType()) { switch (vehicleCode.GetFloorType()) {
case FloorType.LowFloor: case FloorType.LowFloor:
return vehicleHeight; return bodyHeight;
case FloorType.HighFloor: 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"); 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