Main Content

Simple Engine

Simplified engine model using lookup tables

Since R2021b

  • Simple Engine block

Libraries:
Powertrain Blockset / Propulsion / Combustion Engines
Vehicle Dynamics Blockset / Powertrain / Propulsion

Description

The Simple Engine block implements a simplified engine model using a maximum torque vs engine speed table, two scalar fuel mass properties, and one scalar engine efficiency parameter to estimate engine torque and fuel flow. You can use the block for:

  • Hardware-in-the-loop (HIL) engine control design

  • Vehicle-level fuel economy and performance simulations

Ports

Input

expand all

Torque, in N·m.

Engine speed, in rpm.

Output

expand all

Bus signal containing these block calculations.

SignalDescriptionUnits

IntkGasMassFlw (zeroed out intentionally)

Engine air mass flow output

kg/s

NrmlzdAirChrg (zeroed out intentionally)

Normalized engine cylinder air mass

N/A

Afr (zeroed out intentionally)

Air-fuel ratio (AFR)

N/A

FuelMassFlw

Engine fuel flow output

kg/s

FuelVolFlw

Volumetric fuel flow

m3/s

ExhManGasTemp (zeroed out intentionally)

Engine exhaust gas temperature

K

EngTrq

Engine torque output

N·m

EngSpd

Engine speed

rpm

CrkAng (zeroed out intentionally)

Engine crankshaft absolute angle

0(360)CpsEngSpd18030dθ

where Cps is crankshaft revolutions per power stroke.

deg

Bsfc

Engine brake-specific fuel consumption (BSFC)

g/kWh

EoHC (zeroed out intentionally)

Engine out hydrocarbon emission mass flow

kg/s

EoCO (zeroed out intentionally)

Engine out carbon monoxide emission mass flow rate

kg/s

EoNOx (zeroed out intentionally)

Engine out nitric oxide and nitrogen dioxide emissions mass flow

kg/s

EoCO2 (zeroed out intentionally)

Engine out carbon dioxide emission mass flow

kg/s

EoPM (zeroed out intentionally)

Engine out particulate matter emission mass flow

kg/s

PwrInfoPwrTrnsfrdPwrCrkshft

Crankshaft power

W
PwrNotTrnsfrdPwrFuel

Fuel input power

W
PwrLoss

Power loss

W
PwrStored

Not used

Engine brake torque, in N·m.

Parameters

expand all

Breakpoints, in N·m.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: f_tqmax
Values: vector
Data Types: double

Breakpoints, in rpm.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: f_tqmax_n_bpt
Values: vector
Data Types: double

Fuel lower heating value, in J/kg.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: Lhv
Values: 4.6E+7 (default) | scalar
Data Types: double

Specific gravity of fuel, dimensionless.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: Sg
Values: 0.745 (default) | scalar
Data Types: double

Average brake specific fuel consumption, in g/kwh.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

To get the block parameter value programmatically, use the get_param function.

Parameter: BsfcAvg
Values: 350 (default) | scalar
Data Types: double

Extended Capabilities

expand all

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2021b