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 --