EPAVersion: 2018-06-04

2015 BMW 3.0L N57 Engine Diesel Fuel - ALPHA Generation Process

This document summarizes the process which utilized FEV's engine and chassis dynamometer test data to generate a full engine fuel consumption map for the BMW 3.0L N57 diesel engine from the 2015 BMW X5 Xdrive 35d tested on diesel fuel. The generated full engine map defines the complete operating boundaries of the engine which are needed for ALPHA modeling including idle, maximum torque, minimum torque, and maximum speed.

SUGGESTED CITATION:
2015 BMW 3.0L N57 Engine Diesel Fuel - ALPHA Map Package. Version 2018-06. Ann Arbor MI: US EPA National Vehicle and Fuel Emissions Laboratory, National Center for Advanced Technology, 2018.

Engine Physical Characteristics

engine = [];
engine.name = '2015 BMW 3.0L N57 Engine Diesel Fuel';
engine.combustion_type = enum_engine_combustion_type.compression_ignition;
engine.displacement_L = 2.993;
engine.num_cylinders = 6;
engine.compression_ratio = 10.6;
enigne.bore_mm = 84.0;
engine.stroke_mm = 90.0;

Test Data

Import FEV engine dynamameter test data from "2015 BMW 3.0L N57 Engine Diesel Fuel - Test Data Package. Version 2018-06. Ann Arbor, MI: US EPA, National Vehicle and Fuel Emissions Laboratory, National Center for Advanced Technology, 2018."

test_data = readtable2('4- 2015 BMW 3.0L N57 Engine Diesel Fuel - Test Data.xlsx','Sheet','Engine Mapping v2','VariableNamesLine',3,'VariableUnitsLine',4,'DataLine',5);
ss_test_data.name = 'SS Test Data 2';
ss_test_data.speed_rpm = test_data.Speed;
ss_test_data.torque_Nm = test_data.M_TRQENG;
ss_test_data.fuel_gps = test_data.M_FRFUEL * 1000/3600; % convert fuel flow from kg/hr to g/sec
ss_test_data.manifold_press_kPaA = test_data.P_INTAKE;

Additional Fueling Data

Add estimated point to provide more appropriate fueling near idle. This point was selected from the warmup data within the Test Data above.

est_data.name = 'Estimated Idle Data';
est_data.speed_rpm = [711];
est_data.torque_Nm = [3.15];
est_data.fuel_gps = [0.1767];

Maximum Torque (WOT) Curve Data

Maximum torque data is included in the Test Data described above.

Minimum Torque (Zero Accelerator Pedal) Curve Data

Minimum torque data was not collected, the default curve will be used.

Fuel Properties

Load fuel properties presented in the test report.

engine.fuel = class_REVS_fuel('FEV BMW X5');
disp(engine.fuel)
  class_REVS_fuel with properties:

                        id: 'FEV BMW X5'
               description: 'FEV BMW X5 Diesel'
          density_kgpL_15C: 0.848
      energy_density_MJpkg: 42.874
    carbon_weight_fraction: 0.8659
             cetane_number: 43.4
                  gCO2pgal: 10185
    energy_density_BTUplbm: 18433
          specific_gravity: 0.84881

Idle Speed

Set estimated speed determined from preliminary EPA testing on the 2015 BMW X5.

engine.idle_speed_radps =  550 * convert.rpm2radps ;

Build Fuel Map

Construct simulation input for the engine, combining all of the above inputs. Fit the fueling data onto a grid for simple interpolation and establish points that represent the maximum and minimum engine torque versus speed. Confirm the quality of fit between the input data and the resulting engine description by examining the resulting plots.

engine = REVS_build_engine(engine, {ss_test_data, est_data}, 'plot_bsfc','plot_efficiency');

Fuel Map Linearity

Confirm expected trends in the output fuel map, specifically in regions where data is unavailable. The trend of these curves matches behavior expected for a diesel engine.

REVS_plot_engine_fuel_linearity(engine);

Model Calibration Options

Calibrate additional properties of the ALPHA engine model which can be set to match observed behaviors during the validation process.

Note: Default values are used unless properties are specified below, which are derived from the composite set of EPA testing and model validation activities.

Accelerator Pedal Map

Apply default pedal mapping for passenger cars, which will linearly increase engine power with accelerator pedal position.

engine.pedal_map_type = enum_engine_pedal_map_type.max_engine_power;

Transient Fueling Adjustments

Utilize the default adjustment factors during the simulation, since there is no transient fueling data available.

File Description

Generate and write the created ALPHA engine definition into a file for later simulation.

write_REVS_engine( 'engine_2015_BMW_N57_3L0_Diesel.m', engine);

Engine Build: engine_2015_BMW_N57_3L0_Diesel.m


% ALPHA ENGINE DEFINITION
% Generated 04-Jun-2018 16:11:29

% Constructor
engine = class_REVS_engine();
engine.name =  '2015 BMW 3.0L N57 Engine Diesel Fuel'; 
engine.source_filename = mfilename;engine.matrix_vintage = enum_matrix_vintage.present;

% Physical Description
engine.displacement_L =  2.993; 
engine.num_cylinders =  6; 
engine.combustion_type = enum_engine_combustion_type.compression_ignition;
engine.compression_ratio =  10.6; 
engine.stroke_mm =  90; 

% Maximum Torque Curve
engine.full_throttle_speed_radps = [	    0.00000000000000000	;     104.86433278437430	;     130.82390245320809	;     157.03473816855254	;     183.27052661186670	;     209.42579394107420	;     235.64332795083516	;     261.79724020641140	;     287.99694180323229	;     314.23235953861331	;     366.51904060760842	;     392.69072150179380	;     418.88403152836105	;     460.76027523060725	;     483.79828899213766	;     506.83630275366801		]; 
engine.full_throttle_torque_Nm = [	    0.00000000000000000	;     310.21167000000003	;     479.76672400000001	;     544.83300799999995	;     557.97375499999998	;     557.11663799999997	;     573.09741199999996	;     575.54907200000002	;     575.24017300000003	;     564.20648200000005	;     527.55712900000003	;     480.57547000000000	;     444.79150399999997	;     365.25970500000005	;     313.07974714285723	;    0.00000000000000000		]; 
engine.naturally_aspirated_speed_radps = [	    0.00000000000000000	;     157.08576453523071	;     183.26149195738026	;     261.79436508626463	;     314.19149989412097	;     340.33783518037546	;     392.69804370080340	;     506.83630275366801		]; 
engine.naturally_aspirated_torque_Nm = [	     40205.102995264053	;     39121.546984618661	;     38946.027547761507	;     38433.145952177641	;     38072.396047882081	;     37881.664567226129	;     37478.478874746063	;     36556.822138008953		]; 

% Minimum Torque Curve
engine.closed_throttle_speed_radps = [	    0.00000000000000000	;     109.95574287564276	;     733.03828583761833		]; 
engine.closed_throttle_torque_Nm = [	    -23.871442424242424	;    -30.945806060606060	;    -64.920890909090915		]; 

% Fuel Map
engine.fuel_map_speed_radps = [	    0.00000000000000000	;     37.227872945039046	;     74.455745890078092	;     104.79678087764159	;     130.90368259788528	;     157.08576453523071	;     183.26149195738026	;     209.43404210282645	;     235.61595863601650	;     261.79436508626463	;     287.98178907838599	;     314.19149989412097	;     340.33783518037546	;     366.51842960448926	;     392.69804370080340	;     418.87972641777935	;     445.05785992365475	;     460.76955218915367	;     483.80292747141084	;     506.83630275366801		]; 
engine.fuel_map_torque_Nm = [	    -68.166935454545467	;    -32.508467727272730	;     3.1499999999999999	;     30.682870583333333	;     54.488906033333329	;     80.027642416666652	;     106.24930220000002	;     132.56692616666666	;     158.94145986666666	;     184.65891908333333	;     211.13304253333331	;     237.66751971428573	;     263.84184693333333	;     289.93824962500003	;     316.05958946666669	;     342.18909309999998	;     368.22778771428568	;     395.46424883333333	;     421.57924124999994	;     447.51940675000003	;     474.19751099999996	;     500.38633387499999	;     525.69727261111109	;     554.21899424999992	;     574.67331687499995	;     604.32652560000008		]; 
engine.fuel_map_gps = [
  0.061372267568686689	   0.00000000000000000	   0.00000000000000000	   0.00000000000000000	   0.00000000000000000	   0.00000000000000000	   0.00000000000000000	   0.00000000000000000	   0.00000000000000000	   0.00000000000000000	   0.00000000000000000	   0.00000000000000000	   0.00000000000000000	   0.00000000000000000	   0.00000000000000000	   0.00000000000000000	   0.00000000000000000	   0.00000000000000000	   0.00000000000000000	   0.00000000000000000	;
  0.047583434568176104	  0.051341237553726569	  0.049455848130710564	  0.034844913126411234	  0.022869063118103616	  0.018097299875899871	  0.029838394664572401	  0.063603922493774598	   0.11559119533322226	   0.17991953857768142	   0.25293054844837037	   0.33160709221924745	   0.41374973079415495	   0.49754631673698646	   0.57960214795370124	   0.65845893327151672	   0.73197927411343011	   0.77380399066319239	   0.83270787031879623	   0.89003790128101801	;
  0.036385058846764032	   0.10528619078046612	   0.17179954321750537	   0.19912027547672217	   0.23807235052768239	   0.26904409880778807	   0.32816743104705137	   0.41073904750995210	   0.51044104257813272	   0.61755685434707697	   0.73068303414669244	   0.85177921428879244	   0.98376609563771422	    1.1265535414205832	    1.2725009298511936	    1.4136570493293401	    1.5444467800210939	    1.6194723606695436	    1.7264215290172982	    1.8317031483286743	;
  0.032866706858440592	   0.14576471811524808	   0.24645891172145554	   0.31445961764747898	   0.40514712768440064	   0.47004168224712151	   0.58021211787679849	   0.69092321491707187	   0.81990287679094898	   0.95812803095387677	    1.0960270393868896	    1.2473871197030841	    1.4180920260417276	    1.6047149885591445	    1.8080710854890281	    1.9959437338943951	    2.1684045026283689	    2.2699852079229252	    2.4174595873275053	    2.5648866778431367	;
  0.034689701349711222	   0.18594728290565751	   0.32539765009240629	   0.43350550097935869	   0.54423975764794674	   0.66621057089682378	   0.81931444364731532	   0.94553549115707025	    1.0852015968230677	    1.2523852395900577	    1.4078285675717093	    1.5872113469498570	    1.7938002381722646	    2.0119459241154711	    2.2702632415349191	    2.4939502912415064	    2.7024472359086245	    2.8301616044468978	    3.0168875366944161	    3.2062503087791145	;
  0.044751059749971865	   0.23874793473869416	   0.42873487149503298	   0.58742213507133889	   0.73269078910467811	   0.90708037464112168	    1.0780260053252824	    1.2289864815693898	    1.3818437913644837	    1.5539719634036278	    1.7398780294935652	    1.9559133070849757	    2.1972589265867377	    2.4591091958232436	    2.7465965901609461	    3.0136882637312743	    3.2707318733446713	    3.4281343022383903	    3.6647956742144085	    3.9050739616961159	;
  0.070121891913381834	   0.30695923919409979	   0.55124021182651783	   0.75579935967871392	   0.93851252884062053	    1.1420779059567974	    1.3574146118109831	    1.5308244947907756	    1.6791924181664470	    1.8707917652451007	    2.0842587474128149	    2.3448712408699119	    2.6239106893239290	    2.9181753848204330	    3.2465744847605689	    3.5552942995767176	    3.8655796849999988	    4.0550747460027416	    4.3456585932876335	    4.6360087414387099	;
   0.11807148805627854	   0.39077901653590691	   0.68469499272860013	   0.94019595780555432	    1.1569504235747050	    1.3681695598353931	    1.6544748370659883	    1.8590836286671479	    2.0038973647111171	    2.2065162440311621	    2.4542028540113585	    2.7532550582709772	    3.0701743494716887	    3.4013570064698508	    3.7627786963382497	    4.1273161730327139	    4.4997917744246481	    4.7254126415475550	    5.0546431774132614	    5.3806002153124197	;
   0.19451566260683839	   0.49232201874224030	   0.82079949971060839	    1.1232892276542641	    1.3848387222510075	    1.6592677951174610	    1.9574712760658439	    2.1607612287246556	    2.3360750054371633	    2.5609157942302625	    2.8349681201038117	    3.1828952609852776	    3.5331592078677923	    3.8924651631261002	    4.3028783287448169	    4.7220341298572563	    5.1537136824934917	    5.4166822384684217	    5.7786522224952357	    6.1352134672995113	;
   0.29807276365488672	   0.61310319031862848	   0.95471198746336483	    1.2854827045233408	    1.5943692926096884	    1.9523655977803169	    2.2222823871260431	    2.4344419229212932	    2.6567016109892743	    2.9119622946659489	    3.2271823900674299	    3.6047052485089162	    3.9830708964252808	    4.3855086735595856	    4.8392737535657764	    5.3205844860136997	    5.7984124300378879	    6.0783690568751361	    6.4807451366606470	    6.8801984979574424	;
   0.43152779419483339	   0.76660868907323132	    1.1063861154332562	    1.4381282148438868	    1.7888974736997472	    2.1561058349434359	    2.4563011119534015	    2.7215333470427288	    2.9942276581834317	    3.2742518581887943	    3.6275029277318431	    4.0611247677576925	    4.4548976448202335	    4.8942403716344796	    5.3972062016455666	    5.9415355857205681	    6.4610618374463913	    6.7586685152294468	    7.2081639559383337	    7.6638939606711656	;
   0.58499929695072173	   0.95332381321555415	    1.2990764797546166	    1.5970509044193240	    1.9781909738482566	    2.3854651726637610	    2.7034144940406302	    3.0437026427245697	    3.3284076084396723	    3.6458928546391225	    4.0429636473440995	    4.5048380004095625	    4.9445893681567998	    5.4253957863725226	    5.9628981559803265	    6.5409231947182569	    7.1068842116022521	    7.4473406736924721	    7.9579850841917494	    8.4780576854480660	;
   0.74693068490938408	    1.1596624615762325	    1.5508511340032380	    1.8262604064620285	    2.1542563825977630	    2.5908818409110990	    2.9679041346303898	    3.3428084609717081	    3.6541337127802653	    4.0006914378794534	    4.4397073739756951	    4.9686853835468137	    5.4253146880633452	    5.9504380287714254	    6.5199013821088787	    7.1444262829955445	    7.7642727086117622	    8.1435011150395518	    8.7260804749668264	    9.3128356742314615	;
   0.91410422948323511	    1.3659357724364853	    1.8328041846925809	    2.1896004759213286	    2.3360175195597996	    2.7879843453809352	    3.2146152289008789	    3.6227385787092508	    3.9764740664013334	    4.3617760929405263	    4.8409649608629506	    5.3966126073597049	    5.9126413296695022	    6.4783689427816480	    7.0914978452392585	    7.7493601220586967	    8.4605676213137322	    8.8932628662175706	    9.5306546527338440	    10.168959853748319	;
    1.0861583214299455	    1.5554686012736560	    2.0499777253634939	    2.4369372547172130	    2.5460089046954031	    2.9901804070059983	    3.4641247005425271	    3.8880656322362785	    4.2815400772880379	    4.7062326726520176	    5.2237631121073891	    5.8528791168549903	    6.3889094322324489	    7.0106326355625095	    7.6767007085953161	    8.3672703701472297	    9.1832389517550190	    9.6649070679915781	    10.352166057433333	    11.037762313389040	;
    1.2594773410781641	    1.7215128505409270	    2.1742927055270234	    2.4873008847951312	    2.7236669033861105	    3.2122846915994190	    3.7128763827296973	    4.1607518598707829	    4.5919869611881747	    5.0626067229810694	    5.6290708637272271	    6.2808604175612048	    6.8894121401058213	    7.5470162197335720	    8.2630379940262273	    9.0391573046723988	    9.9006755128086752	    10.417257320859090	    11.164661244821245	    11.905695757907459	;
    1.4257104365120712	    1.8694126003939124	    2.2785754590491294	    2.5785543777947426	    2.9017065488597273	    3.4247442159266774	    3.9395706035147153	    4.4290487606125684	    4.9085108889896167	    5.4209909737509809	    6.0290144474874481	    6.7531354991348600	    7.3808047197380535	    8.0857222118266812	    8.8658203928568167	    9.7093679671316888	    10.629148211549357	    11.171877512206434	    11.966332956775569	    12.758430075366366	;
    1.5858352268055202	    2.0230262460723472	    2.4315278410965013	    2.7682032140938708	    3.1356467314615100	    3.6673293906984239	    4.1966489385410606	    4.7209145213666979	    5.2670887443390786	    5.8376177733939807	    6.4822261779741455	    7.2175632352424222	    7.9119083588933696	    8.6606491388727296	    9.5179359743346872	    10.435725639142468	    11.386094190292335	    11.960896954862186	    12.799033156465224	    13.632948130095333	;
    1.7257015201990678	    2.1839578070166135	    2.6360648100849411	    3.0305358485685154	    3.4183008292055299	    3.9006937485041506	    4.4633755363434959	    5.0359076658602868	    5.6468108119131983	    6.2430672266989085	    6.8990296453658528	    7.6953553696482215	    8.4172415928096971	    9.2082675407211099	    10.168216502262501	    11.156658071815217	    12.139550398086008	    12.728307134265972	    13.590947088654078	    14.453437389737347	;
    1.8560424702172662	    2.3596508240549792	    2.8759466877247819	    3.3307178533971831	    3.7417850127762131	    4.1144027204091769	    4.7410802363590232	    5.3539569528680833	    6.0063687700884971	    6.6410668264798902	    7.3330956721931084	    8.1324396643048527	    8.9216103047526349	    9.7972281970195958	    10.828093875618125	    11.889410501315515	    12.886021201232319	    13.485108414952395	    14.368318127399602	    15.255011542719078	;
    1.9866472674818469	    2.5512673122885290	    3.1329995424252135	    3.6233646710704059	    4.0309515301610510	    4.3486583497204947	    4.9721466934704486	    5.6079265698238938	    6.2839149005902479	    7.0158088255491258	    7.7462615567493653	    8.6287443955843948	    9.4530358643381653	    10.389694547440632	    11.503057965907637	    12.578306247766848	    13.620725081163565	    14.242995759073606	    15.155305113163621	    16.069236457210256	;
    2.1149064062643204	    2.7399373384056869	    3.3738209614954116	    3.8764170626729908	    4.2616822493156841	    4.5892036622649064	    5.1662612496412708	    5.8536897117575348	    6.5857819169217313	    7.3604684618914815	    8.1811288525717316	    9.1006300376942466	    10.012223267951114	    11.009466365301211	    12.121921642361315	    13.227208020626094	    14.316446621828190	    14.965305348554651	    15.912602028631252	    16.858325402503851	;
    2.2393263819218414	    2.9151495386617343	    3.5891163834278856	    4.1139077704781952	    4.5336562031369256	    4.9489282060833419	    5.4714189166699683	    6.1769494980352855	    6.9261718035664286	    7.7236154697162318	    8.5992531008514810	    9.6232864211867408	    10.571666990969803	    11.596267488786511	    12.716235447609526	    13.850478302905701	    14.977792523766857	    15.650163355861315	    16.631342257112077	    17.609729064206054	;
    2.3789258303247021	    3.1019514319616226	    3.8186242398946475	    4.3940610287433080	    4.8970560545988633	    5.4246849348728530	    5.8900998306630852	    6.5885968099921977	    7.3589047953870779	    8.1925486416630093	    9.1462630871833497	    10.241993188537096	    11.253010921770240	    12.304070345792280	    13.417332252630059	    14.564191423829360	    15.720719586204893	    16.414224935234291	    17.429110284322125	    18.442403932294635	;
    2.4781316556036255	    3.2324841214164559	    3.9832406590715883	    4.5988784906241564	    5.1426912903294753	    5.6932551424277982	    6.2283112935935421	    6.9205040481421385	    7.7198872067461046	    8.5486761170697925	    9.5229828614791021	    10.664530356892241	    11.730205676424397	    12.811807774045890	    13.931908519149578	    15.084988254541681	    16.256134055156853	    16.961690349012077	    17.997429755120059	    19.033469098702476	;
    2.6208467879448651	    3.4196753080346660	    4.2240819088506463	    4.8940914195822458	    5.4808443183073843	    6.0813850963462386	    6.7193392320782417	    7.4216780606959967	    8.2148235477093383	    9.0998316897816256	    10.113594125485477	    11.238891251797678	    12.390394256111854	    13.538199236581727	    14.685505548341895	    15.849154390300633	    17.036226969204495	    17.756229387648297	    18.818682905745348	    19.885052554382526	]; 

% Fuel Properties
engine.fuel = class_REVS_fuel('FEV BMW X5');

% Idle Speed
engine.idle_speed_radps = class_REVS_dynamic_lookup;
engine.idle_speed_radps.axis_1.signal =  'veh_spd_mps'; 
engine.idle_speed_radps.axis_1.breakpoints = [	    0.00000000000000000	    10.000000000000000		]; 
engine.idle_speed_radps.table = [	     57.595865315812873	;     57.595865315812873		]; 

% Pedal Calibration
engine.pedal_map_type = enum_engine_pedal_map_type.max_engine_power;

% Calibration Adjustment Factors
% -- None --