Feature request : Adaptation of Bus Curb Weight in Factor Method for low weight buses in groups 31 and 32, based on TPMLM
Summary
For Buses in group 31 and 32, it has been identified that the generic body mass currently used can be very different from actual body mass, which can lead to strong extrapolation errors in the estimation of vehicle consumption through the factor method. The generic body curb weight defined for these groups is indeed around 12.5 tons while manufacturer should be able to define buses with curb weight of 5 tons of minimum curb weight. It has been shown that such a mass difference between the completed vehicle and the generic one can lead to 10 to 20% error in the estimation of vehicle consumption, in the specific case where generic curb weight is higher than completed vehicle curb weight. As a consequence, it is required to adapt the curb weight of generic body for this specific case, based on the TPMLM given by the manufacturer in the Primary vehicle input file.
Main Equations
In the current VECTO version, the generic vehicle curb weight is read in a table, based on vehicle group.
Main principle in this request is to check this value is coherent with TPMLM given by the manufacturer.
A first estimate should be given for comparison with the following equation
M_{curb,eval} = \alpha_{group} * TPMLM_{PRIM}
where :
-
M_{curb,eval}is the estimate for generic vehicle curb weight -
TPMLM_{PRIM}is the TPMLM value given by the manufacturer in the Primary vehicle input file -
\alpha_{group}is a constant, dependant of the vehicle group with\alpha_{group=31}=0.7\alpha_{group=32}=0.75
Implementation
The correction should be applied to the curb mass read in the table with the following algorithm :
IF TPMLM_{PRIM} * \alpha_{group} \le M_{curb,generic,table}
THEN M_{curb} = TPMLM_{PRIM} * \alpha_{group} // Simple approach for exotic small buses (all powertrain types, no further corrections)
ELSE (as already implemented)
Where :
-
M_{curb}is the curb mass applied to generic vehicle -
M_{curb,generic,table}is curb the mass read in the reference table for generic vehicle
Issue #208 has also highlighted the fact that the Generic vehicle curb weight should not be compared to primary Vehicle TPMLM as it is the case in current version.
Basically, this means removing the commented lines that throw an exception in the file VehicleDataAdapter.cs located in VectoCore\InputData\Reader\DataObjectAdapter\SimulationComponents in the following code of CompletedBusGenericVehicleDataAdapter
internal class CompletedBusGenericVehicleDataAdapter : PrimaryBusVehicleDataAdapter
{
#region Overrides of PrimaryBusVehicleDataAdapter
protected override VehicleData DoCreateVehicleData(IVehicleDeclarationInputData data, Segment segment, Mission mission, Kilogram loading,
double? passengerCount, bool allowVocational)
{
var retVal = base.DoCreateVehicleData(data, segment, mission, loading, passengerCount, allowVocational);
retVal.GrossVehicleMass = data.GrossVehicleMassRating;
/*if (retVal.TotalVehicleMass.IsGreater(retVal.GrossVehicleMass))
{
throw new VectoException("Total Vehicle Mass exceeds Gross Vehicle Mass for completed bus generic ({0}/{1})", retVal.TotalVehicleMass, retVal.GrossVehicleMass);
}*/
return retVal;
}
#endregion
}