## Documentation Center |

Internal combustion engine with throttle and rotational inertia and time lag

The block represents a general internal combustion engine. Engine types include spark-ignition and diesel. Speed-power and speed-torque parameterizations are provided. A throttle physical signal input specifies the normalized engine torque. Optional dynamic parameters include crankshaft inertia and response time lag. A physical signal port outputs engine fuel consumption rate based on choice of fuel consumption model. An optional speed controller prevents engine stall and enables cruise control. See Generic Engine Model.

**Model parameterization**Select how to model the engine. The default is

`Normalized 3rd-order polynomial matched to peak power`.`Normalized 3rd-order polynomial matched to peak power`— Parametrize the engine with a power function controlled by power and speed characteristics.`Tabulated torque data`— Engine is parametrized by speed–torque table that you specify. If you select this option, the panel changes from its default.`Tabulated power data`— Engine is parametrized by speed-power table that you specify. If you select this option, the panel changes from its default.

**Inertia**Select how to model the rotational inertia of the engine block. The default is

`No inertia`.`No inertia`— Engine crankshaft is modeled with no inertia.`Specify inertia and initial velocity`— Engine crankshaft is modeled with rotational inertia and initial angular velocity. If you select this option, the panel changes from its default.

**Engine time constant**Select how to model the time lag of the engine response. The default is

`No time constant — Suitable for HIL simulation`.`No time constant — Suitable for HIL simulation`— Engine reacts with no time lag.`Specify engine time constant and initial throttle`— Engine reacts with a time lag. If you select this option, the panel changes from its default.

**Speed threshold**Width of the speed range over which the engine torque is blended to zero as Ω approaches the stall speed. The default is

`100`.From the drop-down list, choose units. The default is revolutions per minute (

`rpm`).

**Fuel consumption model**Select model to specify engine fuel consumption. Models range from simple to advanced parameterizations compatible with standard industrial data. The default model is

`Constant per revolution`.Fuel consumption by speed and torque

Brake specific fuel consumption by speed and torque

Brake specific fuel consumption by speed and brake mean effective pressure

**Idle speed control**Select speed control model. Options include

`No idle speed controller`and`Enable idle speed controller`.`No idle speed controller`— Omit idle speed controller. Throttle input is used directly.`Enable idle speed controller`— Include idle speed controller to prevent engine stalling. For more information, see Idle Speed Controller Model.**Idle speed reference**Enter the value of the speed reference below which speed increases, and above which speed decreases. The default value is

`1000`. The default unit is`rpm`.**Controller time constant**Enter the value of the time constant associated with an increase or decrease of the controlled throttle. The constant value must be positive. The default value is

`1`. The default unit is`s`.**Controller threshold speed**Parameter used to smooth the controlled throttle value when the engine's rotational speed crosses the idle speed reference. For more information, see Idle Speed Controller Model. Large values decrease controller responsiveness. Small values increase computational cost. This parameter must be positive. The default value is

`1`. The default unit is`rpm`.

By default, the Generic Engine model uses a programmed relationship between torque and speed, modulated by the throttle signal.

The engine model is specified by an *engine power demand* function *g*(Ω).
The function provides the maximum power available for a given engine
speed Ω. The block parameters (maximum power, speed at maximum
power, and maximum speed) normalize this function to physical maximum
torque and speed values.

The normalized throttle input signal *T* specifies
the actual engine power. The power is delivered as a fraction of the
maximum power possible in a steady state at a fixed engine speed.
It modulates the actual power delivered, *P*, from
the engine: *P*(Ω,*T*) = *T*·*g*(Ω).
The engine torque is *τ* = *P*/Ω.

The engine power is nonzero when the speed is limited to the
operating range, Ω_{min} ≤
Ω ≤ Ω_{max}.
The absolute maximum engine power *P*_{max} defines
Ω_{0} such that *P*_{max} = *g*(Ω_{0}).
Define *w* ≡ Ω/Ω_{0} and *g*(Ω)
≡ *P*_{max}·*p*(*w*).
Then *p*(1) = 1 and *dp*(1)/*dw* =
0. The torque function is:

*τ* = (*P*_{max}/Ω_{0})·[*p*(*w*)/*w*]
.

You can derive forms for *p*(*w*)
from engine data and models. Generic Engine uses a third-order polynomial
form:

*p*(*w*) = *p*_{1}·*w* + *p*_{2}·*w*^{2} – *p*_{3}·*w*^{3}

satisfying

*p*_{1} + *p*_{2}– *p*_{3} =
1 , *p*_{1} + 2*p*_{2}–
3*p*_{3} = 0 .

In typical engines, the *p*_{i} are
positive. This polynomial has three zeros, one at *w* =
0, and a conjugate pair. One of the pair is positive
and physical; the other is negative and unphysical:

**Typical Engine Power Demand Function**

For the engine power polynomial, there are restrictions on the polynomial coefficients

*p*_{i}, to achieve a valid power-speed curve. These restrictions are detailed below.If you use tabulated power or torque data, corresponding restrictions on

*P*(Ω) remain.

Set *w* = Ω/Ω_{0} and *p* = *P*(Ω)/*P*_{0},
and *w*_{min} =
Ω_{min}/Ω_{0} and *w*_{max} =
Ω_{max}/Ω_{0}.
Then:

The engine speed is restricted to a positive range above the minimum speed and below the maximum speed: 0 ≤

*w*_{min}≤*w*≤*w*_{max}.The engine power at minimum speed must be nonnegative:

*p*(*w*_{min}) ≥ 0. If you use the polynomial form, this condition is a restriction on the*p*_{i}:*p*(*w*_{min}) =*p*_{1}·*w*_{min}+*p*_{2}·*w*^{2}_{min}–*p*_{3}·*w*^{3}_{min}≥ 0 .The engine power at maximum speed must be nonnegative:

*p*(*w*_{max}) ≥ 0. If you use the polynomial form, this condition is a restriction on*w*_{max}:*w*_{max}≤*w*_{+}.

For the default parametrization, Generic Engine provides two choices of internal combustion engine types, each with different engine power demand parameters.

Power Demand Coefficient | Engine Type: | |
---|---|---|

Spark-Ignition | Diesel | |

p_{1} | 1 | 0.6526 |

p_{2} | 1 | 1.6948 |

p_{3} | 1 | 1.3474 |

The idle speed controller adjusts the throttle signal to increase engine rotation below a reference speed according to the following expressions:

where:

*Π*— Engine throttle*Π*— Input throttle (port T)_{i}*Π*— Controller throttle_{c}*ω*— Engine speed*ω*— Idle speed reference_{e}*ω*— Controller speed threshold_{t}*τ*— Controller time constant

The controlled throttle increases with a first-order lag from
zero to one when engine speed falls below the reference speed. When
the engine speed rises above the reference speed, the controlled throttle
decreases from one to zero. When the difference between engine velocity
and reference speed is smaller than the controller speed threshold,
the *tanh* function smooths the time derivative
of the controlled throttle. The controlled throttle is limited to
the range 0–1. The engine uses the larger of the input and
controlled throttle values. If engine time lag is included, the controller
changes the input *before* the lag is computed.

This block contains an engine time lag limitation.

Engines lag in their response to changing speed and throttle. The Generic Engine block optionally supports lag due to a changing throttle only. Time lag simulation increases model fidelity but reduces simulation performance.

Port | Description |
---|---|

B | Rotational conserving port representing the engine block |

F | Rotational Conserving port representing the engine crankshaft |

T | Physical signal input port specifying the normalized engine throttle level |

P | Physical signal output port reporting the instantaneous engine power |

FC | Physical signal output port reporting the fuel consumption rate |

Port T accepts a signal with values in the range 0–1. The signal specifies the engine torque as a fraction of the maximum torque possible in steady state at fixed engine speed. The signal saturates at zero and one. Values below zero are interpreted as zero. Values above one are interpreted as one.

Was this topic helpful?