Engee documentation

Piston Engine

A reciprocating internal combustion engine with a variable number of pistons.

blockType: Engee1DMechanical.Engines.MultiPiston

Path in the library:

/Physical Modeling/1D Mechanical/Engines & Motors/Piston Engine

Description

Block Piston Engine It is a reciprocating internal combustion engine with multiple cylinders. The piston model takes into account the instantaneous torque transmitted to the crankshaft of the engine. The instantaneous torque allows you to simulate vibrations in the transmission that occur when the piston rotates. To simulate only the piston mechanism of an internal combustion engine, use the block Piston.

Port B is a translationally moving piston, and port F is a rotating crankshaft. The force acting on the piston is determined by the pressure in the cylinder and the cross-sectional area. The unit receives the combustion pressure from an interpolation table, parameterized depending on the angle of rotation of the crank and, if necessary, the angular velocity of the crank and the throttle opening level of the engine.

The torque of the crank depends on the force acting on the piston, the angle of rotation of the crank, as well as the length of the crank and connecting rod. In terms of these parameters, the ratio of the torque of the crankshaft to the force acting on the piston is expressed as follows:

where

  • — the instantaneous force acting on the piston connected to the drive port B;

  • — instantaneous torque of the crank connected to the slave port F;

  • — crank length;

  • — instantaneous crank rotation angle;

  • — connecting rod length.

_ Dimensions of the piston_

piston engine en

The input port T allows you to set the throttle level of the engine as a fraction of 0 before 1. This fraction corresponds to a percentage of the total power. The unit uses the input port whenever the pressure interpolation table in the unit parameter window is parameterized only by the angle of rotation of the crank.

Dependencies for a group of fuel consumption parameters

The table shows how the parameter values are Fuel consumption model they affect the availability of dependent parameters.

Fuel Consumption

Fuel consumption model

No fuel consumption

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

Fuel consumption per pistons revolution

Speed vector

Torque vector

Brake mean effective pressure vector

Fuel consumption table

Brake specific fuel consumption table

Interpolation method — select Linear or Smooth

Ports

Input

# T — normalized engine throttle opening level, dimensionless
a non-negative scalar

Details

The required torque of the engine in the form of a fraction of the maximum possible torque.

Data types

Float64

Complex numbers support

I don’t

Conserving

# B — the leading port connected to the piston
translational mechanics

Details

A non-directional port connecting to the engine block.

Program usage name

base_flange

# F — engine crankshaft
rotational mechanics

Details

The slave port of the engine. The crankshaft transmits the power generated during the combustion of fuel. As a rule, it is to him that the clutch and gearbox are attached.

Program usage name

follower_flange

Output

# FC — fuel consumption, kg/s
scalar

Details

Fuel consumption consumed by the engine.

Dependencies

To use this port, set the parameter Fuel consumption model one of the following values:

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

Data types

Float64

Complex numbers support

I don’t

Parameters

Pistons

# Number of pistons — number of pistons in an internal combustion engine

Details

The number of pistons in an internal combustion engine.

Default value

4

Program usage name

piston_count

Evaluatable

Yes

# Offset angle vector — top dead center offset for each piston
rad | deg | rev | mrad | arcsec | arcmin | gon

Details

The vector of the piston displacement angles. The displacement angle determines the point in the engine cycle when the piston reaches the top dead center. The engine’s operating cycle covers a range of angles from before degrees, where — the number of cycles per cycle.

The size of the vector must match the number of pistons. The default vector corresponds to a four-stroke, four-piston engine.

Units

rad | deg | rev | mrad | arcsec | arcmin | gon

Default value

[0.0, 180.0, 360.0, -180.0] deg

Program usage name

phi_offset_vector

Evaluatable

Yes

# Cylinder bore — the inner diameter of the piston cylinder wall
m | um | mm | cm | km | in | ft | yd | mi | nmi

Details

The inner diameter of the piston cylinder wall. The unit uses this parameter to calculate the torque interpolation table. You must specify a value greater than zero.

Units

m | um | mm | cm | km | in | ft | yd | mi | nmi

Default value

0.1 m

Program usage name

cylinder_bore

Evaluatable

Yes

# Piston stroke — the length of the forward stroke of the piston
m | um | mm | cm | km | in | ft | yd | mi | nmi

Details

The distance from the fully retracted to the fully extended position of the piston. The unit uses this parameter to convert the pressure on the piston into torque values. You must specify a value greater than zero.

Units

m | um | mm | cm | km | in | ft | yd | mi | nmi

Default value

0.06 m

Program usage name

stroke_piston

Evaluatable

Yes

# Piston rod length — connecting rod length between piston and crankshaft
m | um | mm | cm | km | in | ft | yd | mi | nmi

Details

The distance from the center of the piston pin hole to the center of the crankshaft hole in the connecting rod of the piston. The unit uses this parameter to convert the pressure on the piston into torque. You must specify a value greater than zero.

Units

m | um | mm | cm | km | in | ft | yd | mi | nmi

Default value

0.1 m

Program usage name

rod_length

Evaluatable

Yes

# Number of strokes per cycle — the number of piston strokes required to complete one combustion cycle

Details

The number of piston strokes required for intake, compression, combustion, and exhaust of combustion products. Usually engines are two-stroke or four-stroke. You must use a multiple of two.

Default value

4

Program usage name

strokes_per_cycle_count

Evaluatable

Yes

# Pressure parameterization — determination of the pressure applied to the piston
By crank angle | By crank angle and throttle | By crank angle, throttle and crank velocity

Details

A group of parameters that the block should use to parameterize pressure data.

Values

By crank angle | By crank angle and throttle | By crank angle, throttle and crank velocity

Default value

By crank angle

Program usage name

parameterization

Evaluatable

No

# Crank angle vector — different angles of rotation of the piston crank
rad | deg | rev | mrad | arcsec | arcmin | gon

Details

The angle of rotation of the piston crank, starting from the minimum angle or higher and ending with the maximum angle or lower. The minimum or maximum angle can be calculated by multiplying the number of cycles by −90 degrees or 90 degrees, respectively. At least two values must be specified.

Each element of the parameter Crank angle vector corresponds to the parameter element Pressure vector (gauge) or -th line of the parameter Pressure matrix (gauge) or each parameter matrix Pressure matrix 3D (gauge).

Units

rad | deg | rev | mrad | arcsec | arcmin | gon

Default value

[-360.0, -90.0, -30.0, 10.0, 30.0, 90.0, 160.0, 360.0] deg

Program usage name

phi_crank_vector

Evaluatable

Yes

# Pressure vector (gauge) — parameterized pressure values depending on the angle of rotation of the crank
Pa | uPa | hPa | kPa | MPa | GPa | kgf/m^2 | kgf/cm^2 | kgf/mm^2 | mbar | bar | kbar | atm | ksi | psi | mmHg | inHg

Details

The vector of pressure values corresponding to the different positions of the crank rotation angle.

Dependencies

To use this parameter, set for the parameter Pressure parameterization meaning By crank angle.

Units

Pa | uPa | hPa | kPa | MPa | GPa | kgf/m^2 | kgf/cm^2 | kgf/mm^2 | mbar | bar | kbar | atm | ksi | psi | mmHg | inHg

Default value

[0.0, 3.0, 20.0, 50.0, 20.0, 10.0, 8.0, 0.0] bar

Program usage name

p_vector

Evaluatable

Yes

# Throttle vector — different throttle positions

Details

Different throttle positions corresponding to the pressure in the parameters Pressure matrix (gauge) or Pressure matrix 3D (gauge). The throttle position must remain in the range of [0, 1], where 0 means the throttle valve is fully closed, and 1 — fully open throttle valve.

Each element of the parameter Throttle vector respond -the th column of the parameter Pressure matrix (gauge) or each parameter matrix Pressure matrix 3D (gauge).

Dependencies

To use this parameter, set for the parameter Pressure parameterization meaning By crank angle and throttle or By crank angle, throttle and crank velocity.

Default value

[0.0, 0.3, 0.8, 1.0]

Program usage name

throttle_position_vector

Evaluatable

Yes

# Pressure matrix (gauge) — parameterized pressure values depending on the angle of rotation of the crank and the position of the throttle valve
Pa | uPa | hPa | kPa | MPa | GPa | kgf/m^2 | kgf/cm^2 | kgf/mm^2 | mbar | bar | kbar | atm | ksi | psi | mmHg | inHg

Details

A matrix of pressure values corresponding to different combinations of crank angle and throttle position.

Parameter Elements Crank angle vector correspond to parameter lines Pressure matrix (gauge). Parameter Elements Throttle vector correspond to parameter columns Pressure matrix (gauge).

Dependencies

To use this parameter, set for the parameter Pressure parameterization meaning By crank angle and throttle.

Units

Pa | uPa | hPa | kPa | MPa | GPa | kgf/m^2 | kgf/cm^2 | kgf/mm^2 | mbar | bar | kbar | atm | ksi | psi | mmHg | inHg

Default value

[0.0 0.0 0.0 0.0; 0.0 0.9 2.4 3.0; 0.0 6.0 16.0 20.0; 0.0 15.0 40.0 50.0; 0.0 6.0 16.0 20.0; 0.0 3.0 8.0 10.0; 0.0 2.4 6.4 8.0; 0.0 0.0 0.0 0.0] bar

Program usage name

p_matrix

Evaluatable

Yes

# Crank velocity vector — different angular velocities
rad/s | deg/s | rad/min | deg/min | rpm | rps

Details

Different crank rotation speeds corresponding to the pressures in the parameter Pressure matrix 3D (gauge).

Each element of the parameter Crank velocity vector corresponds to one of the -parameter matrices Pressure matrix 3D (gauge).

Dependencies

To use this parameter, set for the parameter Pressure parameterization meaning By crank angle, throttle and crank velocity.

Units

rad/s | deg/s | rad/min | deg/min | rpm | rps

Default value

[0.0, 1000.0, 6000.0] rpm

Program usage name

w_vector

Evaluatable

Yes

# Pressure matrix 3D (gauge) — parameterized pressure values depending on the angle of rotation of the crank, throttle position and crank rotation speed
Pa | uPa | hPa | kPa | MPa | GPa | kgf/m^2 | kgf/cm^2 | kgf/mm^2 | mbar | bar | kbar | atm | ksi | psi | mmHg | inHg

Details

A combined matrix of pressure values corresponding to different combinations of crank angle, throttle position, and crank rotation speed.

Parameter Elements Crank angle vector correspond to lines. Parameter Elements Throttle vector correspond to columns. Parameter Elements Crank velocity vector correspond to the matrices that you combine along the dimension .

By default , and .

Dependencies

To use this parameter, set for the parameter Pressure parameterization meaning By crank angle, throttle and crank velocity.

Units

Pa | uPa | hPa | kPa | MPa | GPa | kgf/m^2 | kgf/cm^2 | kgf/mm^2 | mbar | bar | kbar | atm | ksi | psi | mmHg | inHg

Default value

[0.0 0.0 0.0 0.0; 0.0 0.9 2.4 3.0; 0.0 6.0 16.0 20.0; 0.0 15.0 40.0 50.0; 0.0 6.0 16.0 20.0; 0.0 3.0 8.0 10.0; 0.0 2.4 6.4 8.0; 0.0 0.0 0.0 0.0;;; 0.0 0.0 0.0 0.0; 0.0 0.9 2.4 3.0; 0.0 6.0 16.0 20.0; 0.0 15.0 40.0 50.0; 0.0 6.0 16.0 20.0; 0.0 3.0 8.0 10.0; 0.0 2.4 6.4 8.0; 0.0 0.0 0.0 0.0;;; 0.0 0.0 0.0 0.0; 0.0 0.9 2.4 3.0; 0.0 6.0 16.0 20.0; 0.0 15.0 40.0 50.0; 0.0 6.0 16.0 20.0; 0.0 3.0 8.0 10.0; 0.0 2.4 6.4 8.0; 0.0 0.0 0.0 0.0] bar

Program usage name

p_array

Evaluatable

Yes

Crankshaft

# Shaft dynamics — enabling shaft dynamics simulation parameters

Details

The option to parameterize the shaft dynamics.

Default value

false (switched off)

Program usage name

enable_shaft_dynamics

Evaluatable

No

# Base and follower bearing viscous friction coefficients — characteristics of friction in the system
N*m/(rad/s) | ft*lbf/(rad/s)

Details

Coefficients of viscous friction for the drive and driven bearings, in the specified order.

Units

N*m/(rad/s) | ft*lbf/(rad/s)

Default value

[0.0, 0.0] N*m/(rad/s)

Program usage name

viscous_coefficient_vector

Evaluatable

Yes

# Initial crank angle — the initial position of the crank
rad | deg | rev | mrad | arcsec | arcmin | gon

Details

The angle of rotation of the crank at time zero relative to the position of the upper dead center. The engine’s operating cycle covers a range of angles from before degrees, where — the number of cycles per cycle.

Units

rad | deg | rev | mrad | arcsec | arcmin | gon

Default value

90.0 deg

Program usage name

phi_start

Evaluatable

Yes

# Stiffness — engine crankshaft stiffness coefficient
N*m/rad | mN*m/rad | kN*m/rad | kgf*m/rad | lbf*ft/rad | N*m/deg | mN*m/deg | kN*m/deg | kgf*m/deg | lbf*ft/deg | W*s/rad | HP_DIN/rpm | HP_DIN*s/rad

Details

Translational stiffness of the engine crankshaft spring. The stiffness of the spring takes into account the accumulation of elastic energy in the crankshaft due to the malleability of the material.

The stiffness coefficient of the engine crankshaft. This parameter takes into account the deformation resistance of the shaft.

Dependencies

To use this option, check the box Shaft dynamics.

Units

N*m/rad | mN*m/rad | kN*m/rad | kgf*m/rad | lbf*ft/rad | N*m/deg | mN*m/deg | kN*m/deg | kgf*m/deg | lbf*ft/deg | W*s/rad | HP_DIN/rpm | HP_DIN*s/rad

Default value

1.0e6 N*m/rad

Program usage name

k

Evaluatable

Yes

# Damping — the ability to lose energy in the system
N*m/(rad/s) | ft*lbf/(rad/s)

Details

Translational damping of the engine crankshaft. Damping takes into account the dissipation of energy in the crankshaft due to the malleability of the material.

Dependencies

To use this option, check the box Shaft dynamics.

Units

N*m/(rad/s) | ft*lbf/(rad/s)

Default value

1000.0 N*m/(rad/s)

Program usage name

C

Evaluatable

Yes

# Inertia — the moment of inertia of the crankshaft
kg*m^2 | g*m^2 | kg*cm^2 | g*cm^2 | lbm*in^2 | lbm*ft^2 | slug*in^2 | slug*ft^2

Details

The moment of inertia of the crankshaft relative to its axis of rotation. This parameter takes into account the resistance to sudden changes in movement.

Dependencies

To use this option, check the box Shaft dynamics.

Units

kg*m^2 | g*m^2 | kg*cm^2 | g*cm^2 | lbm*in^2 | lbm*ft^2 | slug*in^2 | slug*ft^2

Default value

0.02 kg*m^2

Program usage name

I

Evaluatable

Yes

# Initial angular deflection — initial angular deformation of the crankshaft
rad | deg | rev | mrad | arcsec | arcmin | gon

Details

The angle of deflection between the main and connecting rod neck of the crankshaft at zero time. The deflection angle measures the angular deformation of the crankshaft due to torsion.

Dependencies

To use this option, check the box Shaft dynamics.

Units

rad | deg | rev | mrad | arcsec | arcmin | gon

Default value

0.0 deg

Program usage name

delta_phi_start

Evaluatable

Yes

# Initial angular velocity — initial angular velocity of the crankshaft
rad/s | deg/s | rad/min | deg/min | rpm | rps

Details

The angular velocity of the crankshaft at zero time.

Dependencies

To use this option, check the box Shaft dynamics.

Units

rad/s | deg/s | rad/min | deg/min | rpm | rps

Default value

0.0 rpm

Program usage name

w_start

Evaluatable

Yes

Fuel Consumption

# Fuel consumption model — activating fuel consumption simulation parameters
No fuel consumption | 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

Details

A model for calculating fuel consumption based on available data. Select the model to calculate the fuel consumption of the engine. The methods allow the use of parameters corresponding to typical industrial data. Choose one of the following options:

  • No fuel consumption (by default);

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

If for the parameter Fuel consumption model value selected No fuel consumption The unit will not calculate fuel consumption even when the FC port is connected to another unit. Selecting this value increases the simulation speed.

Values

No fuel consumption | 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

Default value

No fuel consumption

Program usage name

fuel_consumption_model

Evaluatable

No

# Fuel consumption per pistons revolution — fuel consumption per crank revolution
mg/rev | kg/rad

Details

Constant fuel consumption rate as a function of the number of revolutions of the crankshaft. Enter the amount of fuel consumed per revolution of the crankshaft.

Dependencies

To use this parameter, set for the parameter Fuel consumption model meaning Constant per revolution.

Units

mg/rev | kg/rad

Default value

25.0 mg/rev

Program usage name

fuel_consumption_per_revolution

Evaluatable

Yes

# Speed vector — engine speed data
rad/s | deg/s | rad/min | deg/min | rpm | rps

Details

The vector of engine torques corresponding to rows of the fuel consumption table.

Dependencies

To use this parameter, set for the parameter Fuel consumption model meaning Fuel consumption by speed and torque, Brake specific fuel consumption by speed and torque or Brake specific fuel consumption by speed and brake mean effective pressure.

Units

rad/s | deg/s | rad/min | deg/min | rpm | rps

Default value

[1000.0, 2000.0, 3000.0, 4000.0, 5000.0, 6000.0] rpm

Program usage name

w_fuel_consumption_vector

Evaluatable

Yes

# Torque vector — engine torque data
N*m | uN*m | mN*m | kN*m | MN*m | GN*m | kgf*m | lbf*in | lbf*ft

Details

The vector of engine torques corresponding to columns of the fuel consumption table.

Dependencies

To use this parameter, set for the parameter Fuel consumption model meaning Fuel consumption by speed and torque or Brake specific fuel consumption by speed and torque.

Units

N*m | uN*m | mN*m | kN*m | MN*m | GN*m | kgf*m | lbf*in | lbf*ft

Default value

[0.0, 80.0, 160.0, 200.0, 240.0, 320.0, 360.0, 400.0] N*m

Program usage name

T_fuel_consumption_vector

Evaluatable

Yes

# Fuel consumption table — engine fuel consumption data
kg/s | kg/hr | kg/min | g/hr | g/min | g/s | t/hr | lbm/hr | lbm/min | lbm/s

Details

A matrix of fuel consumption values corresponding to the engine speed and torque vectors. The number of rows must be equal to the number of elements in the parameter. Speed vector. The number of columns must be equal to the number of elements in the parameter. Torque vector.

Dependencies

To use this parameter, set for the parameter Fuel consumption model meaning Fuel consumption by speed and torque.

Units

kg/s | kg/hr | kg/min | g/hr | g/min | g/s | t/hr | lbm/hr | lbm/min | lbm/s

Default value

[0.5 0.9 1.4 1.6 1.9 2.7 3.4 4.4; 1.0 1.7 2.7 3.1 3.6 5.0 6.0 7.4; 1.4 2.7 4.0 4.8 5.6 7.5 8.5 10.5; 2.0 3.6 5.8 6.7 8.0 10.4 11.7 13.3; 2.5 4.8 7.9 9.4 10.8 14.0 16.2 18.6; 3.1 6.0 10.3 11.9 13.8 18.4 22.0 26.5] g/s

Program usage name

fuel_consumption_matrix

Evaluatable

Yes

# Interpolation method — an interpolation method for calculating fuel consumption
Linear | Smooth

Details

An interpolation method for calculating fuel consumption at intermediate values of rotational speed and torque. Fuel consumption remains constant outside the range indicated in the interpolation table.

Dependencies

To use this parameter, set for the parameter Fuel consumption model meaning Fuel consumption by speed and torque, Brake specific fuel consumption by speed and torque or Brake specific fuel consumption by speed and brake mean effective pressure.

Values

Linear | Smooth

Default value

Linear

Program usage name

fuel_consumption_interpolation_type

Evaluatable

No

# Brake specific fuel consumption table — data on specific fuel consumption during braking
s^2/ft^2 | s^2/m^2 | g/(hr*kW)

Details

When selecting a value Brake specific fuel consumption by speed and torque for the parameter Fuel consumption model This parameter is a matrix of indicators of specific fuel consumption during braking, which corresponds to the vectors of engine speed and torque. Specific fuel consumption is the ratio of fuel consumption to power output. The number of rows must be equal to the number of elements in the parameter. Speed vector. The number of columns must be equal to the number of items in the parameter. Torque vector.

When selecting a value Brake specific fuel consumption by speed and brake mean effective pressure for the parameter Fuel consumption model This parameter is a matrix of indicators of specific fuel consumption during braking, which corresponds to the vectors of engine speed and average effective pressure during braking. The average effective braking pressure is the ratio of fuel consumption to power output. The number of rows must be equal to the number of elements in the parameter. Speed vector. The number of columns must be equal to the number of items in the parameter. Brake mean effective pressure vector.

Dependencies

To use this parameter, set for the parameter Fuel consumption model meaning Brake specific fuel consumption by speed and torque or Brake specific fuel consumption by speed and brake mean effective pressure.

Units

s^2/ft^2 | s^2/m^2 | g/(hr*kW)

Default value

[410.0 380.0 300.0 280.0 270.0 290.0 320.0 380.0; 410.0 370.0 290.0 270.0 260.0 270.0 285.0 320.0; 415.0 380.0 290.0 275.0 265.0 270.0 270.0 300.0; 420.0 390.0 310.0 290.0 285.0 280.0 280.0 285.0; 430.0 410.0 340.0 320.0 310.0 300.0 310.0 320.0; 450.0 430.0 370.0 340.0 330.0 330.0 350.0 380.0] g/(hr*kW)

Program usage name

BSFC_matrix

Evaluatable

Yes

# Brake mean effective pressure vector — the average pressure in the cylinder required to create a given torque
Pa | uPa | hPa | kPa | MPa | GPa | kgf/m^2 | kgf/cm^2 | kgf/mm^2 | mbar | bar | kbar | atm | ksi | psi | mmHg | inHg

Details

The vector of values of the average effective braking pressure. The values of the average effective braking pressure satisfy the expression

where

  • — output torque;

  • — number of cycles per revolution;

  • — the working volume of the cylinder.

Dependencies

To use this parameter, set for the parameter Fuel consumption model meaning Brake specific fuel consumption by speed and brake mean effective pressure.

Units

Pa | uPa | hPa | kPa | MPa | GPa | kgf/m^2 | kgf/cm^2 | kgf/mm^2 | mbar | bar | kbar | atm | ksi | psi | mmHg | inHg

Default value

[0.0, 250.0, 500.0, 625.0, 750.0, 1000.0, 1150.0, 1250.0] kPa

Program usage name

BMEP_vector

Evaluatable

Yes