The fuel consumption [l/100 km] of a vehicle is directly linked with its CO2 [g/km] emissions. By reducing the overall CO2 emissions of a vehicle, the fuel consumption is also reduced.
Around the world there are a number of laws and regulations which are being put in place in order to limit the CO2 emission of road vehicles (passenger cars and commercial vehicles). The main reason is that CO2 is a greenhouse effect gas which contributes to the overall climate change (global warming).
In European Union CO2 emissions of new passenger cars (PCs) are monitored in order to meet the objectives stated in the Regulation EC 443/2009, which limits the average CO2 emissions of new PCs registered in EU to 130 g/km by 2015 and 95 g/km in 2020.
CO2 emission targets that vehicle manufacturers have to meet by 2021 are based on the old NEDC (New European Driving Cycle) test. Starting with September 2017, with the introduction of WLTP (Worldwide Harmonised Light Vehicle Test Procedure), the measured CO2 values will be translated back to NEDC-equivalent values to monitor compliance against the CO2 targets set by the European Union (backward compatibility).The issue with the NEDC cycle is that is not representative for real world driving conditions. For this reason, the type approval (advertised by the manufacturer) fuel consumption values (and air pollutant emissions) are most of the time much lower that the actual (real world/in-use) fuel consumption values. Several studies have been done with the main objective of developing functions (mathematical models) that may enable prediction of in-use (real world) fuel consumption values, based on vehicle specifications.
In this article we are going to use Scilab and the mathematical models developed in [1], to calculate the real world fuel consumption for a petrol (gasoline) and a diesel powered vehicle, and compare the results with the type approval (manufacturer) fuel consumption values.
Vehicle and engine parameters used for the real world fuel consumption calculation
For our examples we are going to use 2 vehicles, one petrol (gasoline) engine and one diesel engine. The vehicle and engine parameters are listed in the table below.
Fuel type | Petrol | Diesel |
Model year | 2015 | |
Fuel system | direct injection | |
Air system | turbocharged | |
Emission level | EURO 5 | |
Engine capacity [cm3] | 1984 | 1598 |
Empty mass [kg] | 1525 | 1280 |
Maximum engine power [kW] | 165 | 81 |
Drag coefficient [-] | 0.28 | 0.30 |
Frontal area [m2] | 2.20 | 2.13 |
Fuel consumption – urban [l/100 km] | 7.8 | 3.8 |
Fuel consumption – extra-urban [l/100 km] | 4.8 | 3.0 |
Fuel consumption – combined [l/100 km] | 5.9 | 3.2 |
Rolling resistance coefficient, r0 [-] | 9.91 ⋅ 10-3 | |
Rolling resistance coefficient, r1 [s/m] | 1.95 ⋅ 10-5 |
M1. Simplified models of in-use (real world) passenger car fuel consumption
The basic objective of the study [1] is to derive a function for calculating the real world fuel consumption based on either vehicle and engine parameters, or to include the type approval (specified by the manufacturer) fuel consumption as well. The study finds one simplified equation for the calculation of the real world (type approval) fuel consumption as:
\[\text{FCIU} = c_{1}+c_{2} \cdot \text{CC} + c_{3} \cdot m_{v} + c_{4} \cdot \text{FCTA} \tag{1}\]where:
FCIU [l/100 km] – in-use (real world) fuel consumption
CC [cm3] – engine cubic capacity
mv [kg] – vehicle mass (empty + 75 kg, driver + 20 kg, fuel)
FCTA [l/100 km] – type approval fuel consumption
c1,2,3,4 – coefficients function of fuel type
The coefficients are summarised in the table below:
Fuel type | c1 | c2 | c3 | c4 |
Petrol | 1.15 | 0.000392 | 0.00119 | 0.643 |
Diesel | 0.133 | 0.000253 | 0.00145 | 0.654 |
The difference [%] between the type approval (manufacturer) fuel consumption and the in-use (real world) fuel consumption is calculated with the formula:
\[\text{FC}_{\text{diff}} \text{ [%]} = 100 \cdot \frac{\text{FCIU}}{\text{FCTA}} – 100 \tag{2}\]Using Scilab we can calculate the in-use (real world) fuel consumption based on equation (1).
clear clc eng.fuel = ["petrol"; "diesel"]; eng.cc = [1984; 1598]; // [cm^3] veh.m = [1525; 1280]+75+20; // [kg] eng.P = [165; 81]; // [kW] veh.Cd = [0.28; 0.30]; // [-] veh.A = [2.20; 2.13]; // [m^2] veh.FCTA = [7.8 4.8 5.9; 3.8 3.0 3.2]; // [l/100 km] veh.r0 = [9.91*1e-3]; // [-] veh.r1 = [1.95*1e-5]; // [s/m] veh.cat = [2 2]; // [-] fuel.rho = [0.75; 0.83]; // [kg/l] disp(veh.fcta) // 4.1 Simplified models of in-use passenger car fuel consumption // Petrol veh.FCIU(1,1:3) = 1.15+0.000392*eng.cc(1)+0.00119*veh.m(1)+0.643.*veh.FCTA(1,1:3); // [l/100 km] // Diesel veh.FCIU(2,1:3) = 0.133+0.000253*eng.cc(2)+0.00145*veh.m(2)+0.654.*veh.FCTA(2,1:3); // [l/100 km] disp(veh.FCIU) // Difference between in-use and type approval veh.diff1 = (veh.FCIU./veh.FCTA)*100-100; disp(veh.diff1)
Using the results of the Scilab script, we can compare the type approval (manufacturer) fuel consumption with the in-use (real world) fuel consumption. Also we can calculate the increase in [%] of the real world fuel consumption compared with the manufacturer values.
Fuel consumption | Type approval | Real world | Difference [%] | |||
Petrol | Diesel | Petrol | Diesel | Petrol | Diesel | |
Urban [l/100 km] | 7.8 | 3.8 | 8.87 | 5.02 | 13.73 | 32.00 |
Extra-urban [l/100 km] | 4.8 | 3.0 | 6.94 | 4.49 | 44.62 | 49.77 |
Combined [l/100 km] | 5.9 | 3.2 | 7.64 | 4.62 | 29.65 | 44.50 |
As you can see, there are significant differences between the type approval (manufacturer) fuel consumption and the in-use (real world) fuel consumption. The lowest difference, 13.73 % is for the petrol engine, urban fuel consumption and the highest is 49.77 % for the diesel engine, extra-urban fuel consumption.
M2. Detailed models of in-use passenger car fuel consumption
M2.1 Model FC-1
This model does not include type approval (manufacturer) fuel consumption but is taking into account detailed vehicle specifications (engine power, aerodynamic losses, rolling resistance losses). The model is applicable to EURO 5 vehicles, correction factors for EURO 0 to EURO 4 have to be applied separately.
\[\text{FCX}_{1} = c_{1} + c_{2} \cdot P_{e} + c_{3} \cdot C_{d} \cdot A + c_{4} \cdot \left ( r_{0} + 18 \cdot r_{1} \right ) + c_{5} \cdot m_{v} \tag{3}\]where:
FCX1 [g/km] – in-use (real world) fuel consumption
Pe [kW] – maximum engine power
Cd [-] – drag coefficient
A [m2] – maximum vehicle cross-sectional area
r0, r1 [-] – rolling resistance coefficients
mv [kg] – vehicle mass (empty + 75 kg, driver + 20 kg, fuel)
c1,2,3,4,5 – coefficients function of fuel type
The vehicle speed used in equation (3) is 18 m/s, which is equal to 64.8 km/h and 40.26 mph.
The coefficients are summarised in the table below:
Fuel type | c1 | c2 | c3 | c4 | c5 |
Petrol | 2.49 | 0.327 | 14.99 | 532.64 | 0.01 |
Diesel | -6.17 | 0.3 | 16.5 | 939.4 | 0.0085 |
To convert the fuel consumption from [g/km] to [l/100 km] we need to take into account the density of the fuel. For petrol (gasoline) is 0.75 kg/l and for diesel is 0.83 kg/l.
\[ \text{FC [l/100 km]} = \frac{\text{FC [g/km]} \cdot 10^{-3}}{\rho_{fuel}} \cdot 100 \tag{4}\]where ρfuel [kg/l] is fuel density.
Using Scilab we can compute the in-use (real world) fuel economy for the vehicle and engine parameters presented above.
// 4.2 Detailed models of in-use passenger car fuel consumption // Model FCG-1 veh.FCX1(1,1) = 2.49+0.327*eng.P(1)+14.99*veh.Cd(1)*veh.A(1)+532.64*(veh.r0+18*veh.r1)+0.01*veh.m(1); // [g/km] veh.FCX1(1,1) = (veh.FCX1(1,1)*1e-3./fuel.rho(1))*100; // [l/100 km] // Model FCD-1 veh.FCX1(1,2) = -6.17+0.3*eng.P(2)+16.5*veh.Cd(2)*veh.A(2)+939.4*(veh.r0+18*veh.r1)+0.0085*veh.m(2); // [g/km] veh.FCX1(1,2) = (veh.FCX1(1,2)*1e-3./fuel.rho(2))*100; // [l/100 km] disp(veh.FCX1)
For example, if the engine power is set to maximum value, the fuel consumption will be:
- petrol: 11.65 l/100 km @ 165 kW engine power and 18 m/s vehicle speed
- diesel: 6.02 l/100 km @ 81 kW engine power and 18 m/s vehicle speed
To visualise the fuel consumption function of engine power we are going to define two vectors, one for each fuel type, which start at 10% of maximum engine power and ends up at maximum engine power. Then, equation (3) is run through all the values of the engine power. The vehicle speed is assumed to be constant at 18 m/s.
eng.Px = [linspace(0.1*eng.P(1),eng.P(1),10);linspace(0.1*eng.P(2),eng.P(2),10)]; for i=1:max(size(eng.Px)) veh.FCX1(1,i) = 2.49+0.327*eng.Px(1,i)+14.99*veh.Cd(1)*veh.A(1)+532.64*(veh.r0+18*veh.r1)+0.01*veh.m(1); veh.FCX1(1,i) = (veh.FCX1(1,i)*1e-3./fuel.rho(1))*100; veh.FCX1(2,i) = -6.17+0.3*eng.Px(2,i)+16.5*veh.Cd(2)*veh.A(2)+939.4*(veh.r0+18*veh.r1)+0.0085*veh.m(2); veh.FCX1(2,i) = (veh.FCX1(2,i)*1e-3./fuel.rho(2))*100; end
The calculated real world fuel consumption is plotted against the engine power.
M2.2 Model FC-2
This model does not include type approval (manufacturer) fuel consumption and is restricted to variables which can most likely be made available for a national fleet of new vehicle registrations. Similar to FC-1, this model is applicable to EURO 5 cars, while correction factors for EURO 0 to EURO 4 have to be applied separately.
\[\text{FCX}_{2} = c_{1} + c_{2} \cdot P_{e} + c_{3} \cdot m_{v} + c_{4} \cdot \text{CAT} \tag{4}\]where:
FCX2 [g/km] – in-use (real world) fuel consumption
Pe [kW] – rated engine power
mv [kg] – vehicle mass (empty + 75 kg, driver + 20 kg, fuel)
CAT – vehicle category (small cars = 1, medium cars = 2, SUVs = 3)
c1,2,3,4 – coefficients function of fuel type
The coefficients are summarised in the table below:
Fuel type | c1 | c2 | c3 | c4 |
Petrol | 11.01 | 0.354 | 0.013 | -0.39 |
Diesel | 1.045 | 0.374 | 0.018 | -3.91 |
Using Scilab we can compute the in-use (real world) fuel economy for the vehicle and engine parameters presented above.
// Model FCG-2 veh.FCX2(1,1) = 11.01 + 0.354*eng.P(1) + 0.013*veh.m(1) - 0.39*veh.cat(1); // [g/km] veh.FCX2(1,1) = (veh.FCX2(1,1)*1e-3./fuel.rho(1))*100; // [l/100 km] // Model FCD-2 veh.FCX2(1,2) = 1.045 + 0.374*eng.P(2) + 0.018*veh.m(2) - 3.91*veh.cat(2); // [g/km] veh.FCX2(1,2) = (veh.FCX2(1,2)*1e-3./fuel.rho(2))*100; // [l/100 km] disp(veh.FCX2)
For this example the vehicle category is: medium cars, CAT = 2. The engine power is the maximum engine power given in the vehicle and engine parameters table. Running the Scilab code gives the following results:
- petrol (gasoline): 11.96 l/100 km @ 165 kW engine power
- diesel: 5.82 l/100 km @ 81 kW engine power
Similar to model FC-1, we can run the expression (4) from 10% of maximum engine power up to maximum engine power.
for i=1:max(size(eng.Px)) veh.FCX2(1,i) = 11.01 + 0.354*eng.Px(1,i) + 0.013*veh.m(1) - 0.39*veh.cat(1); veh.FCX2(1,i) = (veh.FCX2(1,i)*1e-3./fuel.rho(1))*100; veh.FCX2(2,i) = 1.045 + 0.374*eng.Px(2,i) + 0.018*veh.m(2) - 3.91*veh.cat(2); veh.FCX2(2,i) = (veh.FCX2(2,i)*1e-3./fuel.rho(2))*100; end
The calculated real world fuel consumption is plotted against the engine power.
The real world fuel consumption given by the model FC-2 are similar with FC-1. For an easier comparison, we can plot the fuel consumption values function of engine power, for both models, on the same graph.
M2.3 Model FC-3
This model includes the type approval (manufacturer) fuel consumption value and vehicle mass.
\[\text{FCX}_{3} = c_{1} + c_{2} \cdot \text{FCTA} + c_{3} \cdot m_{v} \text{ [g/km]} \tag{5}\]where:
FCTA [g/km] – fuel consumption type approval (manufacturer)
mv [kg] – vehicle mass (empty + 75 kg, driver + 20 kg, fuel)
Before using expression (5), we need to convert the type approval fuel consumption from [l/100 km] to [g/km].
\[\text{FC [g/km]} = \frac{\text{FC [l/100 km]} \cdot \rho_{fuel}}{0.1} \tag{6}\]The coefficients are summarised in the table below:
Fuel type | c1 | c2 | c3 |
Petrol | 8.11 | 0.869 | 0.0043 |
Diesel | 2.981 | 0.895 | 0.0056 |
Using the results of the Scilab script, we can compare the type approval (manufacturer) fuel consumption with the in-use (real world) fuel consumption. Also we can calculate the increase in [%] of the real world fuel consumption compared with the manufacturer values.
// Model FCG-3 veh.FCTA = [7.8 4.8 5.9; 3.8 3.0 3.2]; // [l/100 km] for i=1:2 veh.FCTA(i,:) = (veh.FCTA(i,:)*fuel.rho(i))/0.1; // [g/km] end disp("FCTA [g/km]") disp(veh.FCTA) veh.FCX3(1,:) = 8.11 + 0.869*veh.FCTA(1,:) + 0.0043*veh.m(1); // [g/km] veh.FCX3(1,:) = (veh.FCX3(1,:)*1e-3./fuel.rho(1))*100; // [l/100 km] // Model FCD-3 veh.FCX3(2,:) = 2.981 + 0.895*veh.FCTA(2,:) + 0.0056*veh.m(1); // [g/km] veh.FCX3(2,:) = (veh.FCX3(2,:)*1e-3./fuel.rho(2))*100; // [l/100 km] disp("FCX3 [l/100 km]") disp(veh.FCX3) veh.FCTA = [7.8 4.8 5.9; 3.8 3.0 3.2]; // [l/100 km] veh.diff2 = (veh.FCX3./veh.FCTA)*100-100; disp("Differences [%]") disp(veh.diff2)
After running the Scilab script we can compare the type approval fuel consumption values with the real world values.
Fuel consumption | Type approval | Real world | Difference [%] | |||
Petrol | Diesel | Petrol | Diesel | Petrol | Diesel | |
Urban [l/100 km] | 7.8 | 3.8 | 8.79 | 4.85 | 12.67 | 27.71 |
Extra-urban [l/100 km] | 4.8 | 3.0 | 6.18 | 4.14 | 28.78 | 37.91 |
Combined [l/100 km] | 5.9 | 3.2 | 7.14 | 4.32 | 20.97 | 34.88 |
As you can see, there are significant differences between the type approval (manufacturer) fuel consumption and the in-use (real world) fuel consumption. The lowest difference, 12.67 % is for the petrol engine, urban fuel consumption and the highest is 37.91 % for the diesel engine, extra-urban fuel consumption.
M2.4 Speed dependant fuel consumption model
To develop a speed dependent function for the real world fuel consumption of the passenger car and the light commercial vehicle fleets, basic physics have been considered, since the important vehicle parameters have different effects over the vehicle speed and acceleration ranges. If effects of road gradient, tyre slip, losses in the transmission system and power demand of auxiliaries (such as air conditioning systems) are neglected, only the rolling, the air, and the inertial resistances account for the actual engine power demand.
\[\text{FCS} = \text{Fe} \cdot b_{e} \cdot 0.000278 \left [ m_{v} (9.81 r_{0} + 1.05 \text{bea}) + \left ( \frac{V_{v}}{3.6} \right ) m_{v} g r_{1} + \left ( \frac{V_{v}}{3.6} \right )^{2} 0.6 C_{d} A \right ] \tag{7}\]where:
Fe [-] – ratio of engine fuel efficiency compared to Euro 5; for Euro 5 vehicles Fe = 1
bea [m/s2] – brake equivalent acceleration
be [g/kWh] – brake-specific fuel consumption
mv [kg] – vehicle mass (empty + 75 kg, driver + 20 kg, fuel)
Vv [kph] – vehicle speed
Cd [-] – drag coefficient
A [m2] – maximum vehicle cross-sectional area
r0, r1 [-] – rolling resistance coefficients
g [m/s2] – gravitational acceleration
For passenger cars (PC), the values of be and bea are calculated as:
- gasoline (petrol)
\[b_{e} = 1339 \cdot V_{v}^{-0.305} \tag{8}\]
\[\text{bea} = 0.45 – 0.007 \cdot V_{v} + 0.000028 \cdot V_{v}^{2} \tag{9}\]
- diesel
\[b_{e} = 1125 \cdot V_{v}^{-0.300} \tag{10}\]
\[\text{bea} = 0.40 – 0.006 \cdot V_{v} + 0.000023 \cdot V_{v}^{2} \tag{11}\]
To run expression (7), we need to define a speed vector between 10 and 250 kph. The complete Scilab script for the speed dependant model calculation is:
// Speed dependent model veh.V = [10:10:250]; be(1,:) = 1339*veh.V.^(-0.305); be(2,:) = 1125*veh.V.^(-0.300); bea(1,:) = 0.45-0.007*veh.V+0.000028*veh.V.^(2); bea(2,:) = 0.40-0.006*veh.V+0.000023*veh.V.^(2); eng.fei = [1.00; 1.00]; veh.g = 9.81; // [m/s^2] veh.FCS(1,:) = eng.fei(1)*be(1,:)*0.000278 .* (veh.m(1)*(9.81*veh.r0 + 1.05*bea(1,:)).. + (veh.V./3.6)*veh.m(1)*veh.g*veh.r1 + (veh.V./3.6).^2*0.6*veh.Cd(1)*veh.A(1)); veh.FCS(1,:) = (veh.FCS(1,:)*1e-3./fuel.rho(1))*100; veh.FCS(2,:) = eng.fei(2)*be(2,:)*0.000278 .* (veh.m(2)*(9.81*veh.r0 + 1.05*bea(2,:)).. + (veh.V./3.6)*veh.m(2)*veh.g*veh.r1 + (veh.V./3.6).^2*0.6*veh.Cd(2)*veh.A(2)); veh.FCS(2,:) = (veh.FCS(2,:)*1e-3./fuel.rho(2))*100;
Running the Scilab script give the image below:
The minimum real world fuel consumption is obtained at 80 kph for the diesel vehicle and 90 kph for the petrol (gasoline) vehicle.
The same models can be used for the calculation of the real world fuel consumption of other vehicles. The user must adjust the input parameters and run again the Scilab scripts. The examples presented in this article are for EURO 5 vehicles. For lower EURO type approval vehicles consult [1] for the proper adjustment of some coefficients.
Abbreviations:
FCIU – fuel consumption in-use (real world)
FCTA – fuel consumption type approval (manufacturer)
FCX – fuel consumption (gasoline or diesel)
FCG – fuel consumption gasoline (petrol)
FCD – fuel consumption diesel
References:
[1] G. Mellios, S. Hausberger, M. Keller, C. Samaras, L. Ntziachristos, Parameterisation of fuel consumption and CO2 emissions of passenger cars and light commercial vehicles for modelling purposes, Joint Research Centre Institute for Energy and Transport, 2011.