Reciprocating combustion engine with variable number of pistons

Engines

This block represents a reciprocating combustion engine with multiple cylinders. The piston model accounts for the instantaneous torque transmitted to the engine drive shaft. The instantaneous torque enables you to model vibrations in the drivetrain due to piston revolution. To model just the piston mechanism of a combustion engine, use the Piston block.

Port B represents the translating piston and port F the rotating crankshaft. The piston force follows from the cylinder pressure and cross-sectional area. The block obtains the combustion pressure from a lookup table parameterized in terms of the crank angle and, optionally, the crank angular velocity and engine throttle level.

The crank torque follows from the piston force and crank angle as well as the crank and connecting rod lengths. In terms of these inputs, the ratio of the piston force and crank torque is

$$\frac{{T}_{\text{F}}}{{F}_{\text{B}}}=-\text{c}\left(sin(\theta )+\frac{sin(2\theta )}{2\sqrt{{\left(\frac{\text{r}}{\text{c}}\right)}^{2}-{\mathrm{sin}}^{2}(\theta )}}\right),$$

where:

*F*_{B}is the instantaneous piston force associated with the base port.*T*_{F}is the instantaneous crank torque associated with the follower port.*c*is the crank length.*θ*is the instantaneous crank angle.*r*is the connecting rod length.

**Piston Dimensions**

Physical signal port T lets you specify the engine throttle level as a fraction between 0 and 1. This fraction corresponds to the percentage of full power generated. The block uses the physical signal input whenever the pressure lookup table in the block dialog box is parameterized only in terms of the crank angle.

**Number of pistons**Number of pistons in the combustion engine. The default number is

`4`

.**Offset angle vector**Vector of piston offset angles. The offset angle specifies the point in the engine cycle when the piston reaches top dead center. The engine cycle spans in angle from -

*S**180 to +*S**180 degrees, where*S*is the number of strokes per cycle.The vector size must be the same as the number of pistons. The default vector is

`[0.0, 180.0, 360.0, -180.0]`

, corresponding to a four-stroke, four-piston engine.

**Cylinder bore**Internal diameter of the engine cylinder that the piston travels in. The default value is

`0.10`

m.**Piston stroke**Distance between the top dead center and bottom dead center piston positions. The default value is

`0.06`

m.**Piston rod length**Length of the connecting rod located between the engine piston and the crankshaft. The default value is

`0.10`

m.**Number of strokes per cycle**Number of strokes required to complete one engine cycle. One stroke corresponds to a full extension or retraction of the engine piston. A typical automobile engine is based on a four-stroke cycle with induction, compression, power, and exhaust stages. The default value is

`4`

**Pressure parameterization**Engine variables that the cylinder pressure depends on. Options include

`By crank angle`

,`By crank angle and throttle`

,`By crank angle, throttle, and crank velocity`

. The default setting is`By crank angle`

.**Crank angle vector***M*-element vector of crank angles at which to specify the cylinder pressure. A zero angle corresponds to a piston at top dead center. The vector must range from -*S**180 to +*S**180 degrees, where*S*is the number of strokes per cycle. The default vector is an eight-element vector ranging in value from -360 to +360 deg, corresponding to a four-stroke cycle.**Throttle vector***N*-element vector of engine throttle settings at which to specify the cylinder pressure. A value of`0`

corresponds to no throttle and a value of`1`

to full throttle. This parameter is active only when**Pressure parameterization**is set to`By crank angle and throttle`

and`By crank angle, throttle, and crank velocity`

. The default vector is`[0.0, 0.3, 0.8, 1.0]`

.**Crank velocity vector***L*-element vector of crankshaft angular velocities at which to specify the cylinder pressure. This parameter is active only when**Pressure parameterization**is set to`By crank angle, throttle, and crank velocity`

. The default vector is`[0.0, 1000.0, 6000.0]`

rpm.**Pressure vector***M*-element vector of cylinder pressures corresponding to the crank angles specified in the**Crank angle vector**parameter. This parameter is active only when**Pressure parameterization**is set to`By crank angle`

.**Pressure matrix (gauge)***M*-by-*N*matrix of cylinder pressures corresponding to the crank angles and throttle settings specified in the**Crank angle vector**and**Throttle vector**parameters. This parameter is active only when**Pressure parameterization**is set to`By crank angle and throttle`

. The default matrix is an 8–by-4 matrix ranging in value from 0 to 50 bar.**Pressure matrix 3D (gauge)***M*-by-*N*-by-*L*matrix of cylinder pressures corresponding to the crank angles, throttle settings, and crank angular velocity values specified in the**Crank angle vector**,**Throttle vector**, and**Crank velocity vector**parameters. This parameter is active only when**Pressure parameterization**is set to`By crank angle, throttle, and crank velocity`

. The default matrix is an 8–by-4–by-3 matrix ranging in value from 0 to 50 bar.

**Shaft dynamics**Optional shaft dynamics parameters. Options include

`No shaft dynamics — Suitable for HIL simulation`

and`Specify shaft stiffness, damping, and inertia`

**Stiffness**Stiffness coefficient of the engine crankshaft. This parameter accounts for resistance to shaft deformation. This parameter is active only when the

**Shaft dynamics**parameter is set to`Specify shaft stiffness, damping, and inertia`

. The default value is`1e6`

N*m/rad.**Damping**Damping coefficients of the engine crankshaft. This parameter accounts for energy dissipation due to shaft deformation. This parameter is active only when the

**Shaft dynamics**parameter is set to`Specify shaft stiffness, damping, and inertia`

. The default value is`1000`

N*m/(rad/s).**Inertia**Moment of inertia of the crankshaft about its rotational axis. This parameter accounts for resistance to sudden changes in motion. This parameter is active only when the

**Shaft dynamics**parameter is set to`Specify shaft stiffness, damping, and inertia`

. The default value is`0.02`

kg*m^2.**Initial angular deflection**Deflection angle between the base and follower ends of the crankshaft at time zero. The deflection angle measures the angular deformation of the crankshaft due to torsion. This parameter is active only when the

**Shaft dynamics**parameter is set to`Specify shaft stiffness, damping, and inertia`

. The default value is`0`

deg.**Initial angular velocity**Angular velocity of the crankshaft at time zero. This parameter is active only when the

**Shaft dynamics**parameter is set to`Specify shaft stiffness, damping, and inertia`

. The default value is`0`

rpm.**Base and follower bearing viscous friction coefficients**Two-element vector with the viscous friction coefficients of the base and follower shaft bearings. The block uses viscous friction to account for energy losses between the base and follower shafts. The default vector is

`[0.0, 0.0]`

N*m/(rad/s), corresponding to zero damping.**Initial crank angle**Crank angle at time zero relative to a top dead center position. The default value is

`90`

deg.

B — Conserving rotational port representing the engine block

F — Conserving rotational port representing the engine crankshaft

T — Physical signal input port for specifying the engine throttle setting

Was this topic helpful?