Compressionignition engine model using lookup tables
Powertrain Blockset / Propulsion / Combustion Engines
Vehicle Dynamics Blockset / Powertrain / Propulsion
The Mapped CI Engine block implements a mapped compressionignition (CI) engine model using power, air mass flow, fuel flow, exhaust temperature, efficiency, and emission performance lookup tables. You can use the block for:
Hardwareintheloop (HIL) engine control design
Vehiclelevel fuel economy and performance simulations
The lookup tables, developed with the ModelBased Calibration Toolbox™, are functions of injected fuel mass, F, engine torque, T, engine speed, N, and engine temperature, Temp_{Eng}.
Input Command Setting  Input Engine Temperature Parameter Setting  Lookup Tables 

Fuel mass  off  ƒ(F,N) 
on  ƒ(F,N,Temp_{Eng})  
Torque  off  ƒ(T,N) 
on  ƒ(T,N,Temp_{Eng}) 
The block enables you to specify lookup tables for these engine characteristics:
Power
Air
Fuel
Temperature
Efficiency
Hydrocarbon (HC) emissions
Carbon monoxide (CO) emissions
Nitric oxide and nitrogen dioxide (NOx) emissions
Carbon dioxide (CO_{2}) emissions
Particulate matter (PM) emissions
To bound the Mapped CI Engine block output, the block does not extrapolate the lookup table data.
If you have ModelBased Calibration Toolbox, click Calibrate Maps to virtually calibrate the 2D lookup tables using measured data. The dialog box steps through these tasks.
Task  Description  

Import firing data  Import this loss data from a file. For example, open
For more information, see Using Data (ModelBased Calibration Toolbox).
Collect firing data at steadystate operating conditions when injectors deliver the fuel. Data should cover the engine speed and torque operating range. ModelBased Calibration Toolbox uses the firing data boundary as the maximum torque. To filter or edit the data, select Edit in Application. The ModelBased Calibration Toolbox Data Editor opens.  
Import nonfiring data  Import this nonfiring data from a file. For example, open
Collect nonfiring (motoring) data at steadystate operating conditions when fuel is cut off. All nonfiring torque points must be less than zero. Nonfiring data is a function of engine speed only.  
Generate response models  For both firing and nonfiring data, the ModelBased Calibration Toolbox uses test plans to fit data to Gaussian process models (GPMs). To assess or adjust the response model fit, select Edit in Application. The ModelBased Calibration Toolbox Model Browser opens. For more information, see Model Assessment (ModelBased Calibration Toolbox).  
Generate calibration  ModelBased Calibration Toolbox calibrates the firing and nonfiring response models and generates calibrated tables. To assess or adjust the calibration, select Edit in Application. The ModelBased Calibration Toolbox CAGE Browser opens. For more information, see Calibration Lookup Tables (ModelBased Calibration Toolbox).  
Update block parameters  Update the block lookup table and breakpoint parameters with the calibration. 
The block calculates the normalized cylinder air mass using these equations.
$$\begin{array}{l}{M}_{Nom}=\frac{{P}_{std}{V}_{d}}{{N}_{cyl}{R}_{air}{T}_{std}}\\ L=\frac{\left(\frac{60s}{min}\right)Cps\cdot {\dot{m}}_{air}}{\left(\frac{1000g}{Kg}\right){N}_{cyl}\cdot N\cdot {M}_{Nom}}\end{array}$$
The equations use these variables.
L  Normalized cylinder air mass 
${M}_{Nom}$  Nominal engine cylinder air mass at standard temperature and pressure, piston at bottom dead center (BDC) maximum volume, in kg 
$$Cps$$  Crankshaft revolutions per power stroke, rev/stroke 
${P}_{std}$  Standard pressure 
${T}_{std}$  Standard temperature 
${R}_{air}$  Ideal gas constant for air and burned gas mixture 
${V}_{d}$  Displaced volume 
${N}_{cyl}$  Number of engine cylinders 
N  Engine speed 
${\dot{m}}_{intk}$  Engine air mass flow, in g/s 
To model turbocharger lag, select Include turbocharger lag effect. Turbocharger lag limits the maximum fuel mass per injection. To model the maximum fuel mass per injection, the block uses a firstorder system with a time constant. At low torque, the engine does not require boost to provide sufficient air flow. When the requested fuel mass requires boost, the block uses a time constant to determine the maximum fuel mass per injection. The block uses these equations for the specified Input command setting.
Calculation  Input command Parameter Setting  

Fuel mass  Torque  
Dynamic torque 
$$\frac{d{F}_{max}}{dt}=\frac{1}{{\tau}_{eng}}({F}_{cmd}{F}_{max})$$

$$\frac{d{T}_{max}}{dt}=\frac{1}{{\tau}_{eng}}({T}_{cmd}{T}_{max})$$

Fuel mass per injection or torque  with turbocharger lag 
$$F=\{\begin{array}{c}{F}_{cmd}\text{when}{F}_{cmd}{F}_{\mathrm{max}}\\ {F}_{max}\text{when}{F}_{cmd}\ge {F}_{\mathrm{max}}\end{array}$$

$${T}_{target}=\{\begin{array}{c}{T}_{cmd}\text{when}{T}_{cmd}{T}_{\mathrm{max}}\\ {T}_{max}\text{when}{T}_{cmd}\ge {T}_{\mathrm{max}}\end{array}$$

Fuel mass per injection or torque without turbocharger lag 
$$F={F}_{cmd}={F}_{max}$$

$${T}_{target}={T}_{cmd}={T}_{max}$$

Boost time constant 
$${\tau}_{bst}=\{\begin{array}{c}{\tau}_{bst,rising}\text{when}{F}_{cmd}{F}_{\mathrm{max}}\\ {\tau}_{bst,falling}\text{when}{F}_{cmd}\le {F}_{\mathrm{max}}\end{array}$$

$${\tau}_{bst}=\{\begin{array}{c}{\tau}_{bst,rising}\text{when}{T}_{cmd}{T}_{\mathrm{max}}\\ {\tau}_{bst,falling}\text{when}{T}_{cmd}\le {T}_{\mathrm{max}}\end{array}$$

Final time constant 
$${\tau}_{eng}=\{\begin{array}{c}{\tau}_{nat}\text{when}{T}_{brake}{f}_{bst}(N)\\ {\tau}_{bst}\text{when}{T}_{brake}\ge {f}_{bst}(N)\end{array}$$

The equations use these variables.
T_{brake} 
Brake torque 
F 
Fuel mass per injection 
F_{cmd}, F_{max} 
Commanded and maximum fuel mass per injection, respectively 
T_{target}, T_{cmd}, T_{max} 
Target, commanded, and maximum torque, respectively 
τ_{bst} 
Boost time constant 
τ_{bst,rising}, τ_{bst,falling} 
Boost rising and falling time constant, respectively 
τ_{eng} 
Final time constant 
τ_{nat}  Time constant below the boost torque speed line 
ƒ_{bst}(N)  Boost torque/speed line 
N  Engine speed 
To calculate the fuel economy for highfidelity models, the block uses the volumetric fuel flow.
$${Q}_{fuel}=\frac{{\dot{m}}_{fuel}}{\left(\frac{1000kg}{{m}^{3}}\right)S{g}_{fuel}}$$
The equation uses these variables.
$${\dot{m}}_{fuel}$$  Fuel mass flow 
Sg_{fuel}  Specific gravity of fuel 
Q_{fuel}  Volumetric fuel flow 
For the power accounting, the block implements these equations.
Bus Signal  Description  Equations  



 Crankshaft power  ${\tau}_{eng}\omega $ 

 Fuel input power  ${\dot{m}}_{fuel}LHV$  
 Power loss  ${\tau}_{eng}\omega {\dot{m}}_{fuel}LHV$  
 Not used 
The equations use these variables.
LHV  Fuel lower heating value 
ω  Engine speed, rad/s 
$${\dot{m}}_{fuel}$$  Fuel mass flow 
τ_{eng}  Fuel mass per injection time constant 