libICEpost.src.engineModel.EngineGeometry.ConRod

@author: F. Ramognino <federico.ramognino@polimi.it> Last update: 12/06/2023

Attributes

_pistonPos

_pistonPosDerivative

Classes

ConRodGeometry

Geometry for engine piston.

Functions

pistonPosition(→ float | collections.abc.Iterable[float])

Returns the piston position at CA [m] (reference to TDC).

pistonPosDerivative(...)

Returns the time (in CA) derivative of instantaneous piston position at CA [m/CA].

Module Contents

libICEpost.src.engineModel.EngineGeometry.ConRod._pistonPos
libICEpost.src.engineModel.EngineGeometry.ConRod.pistonPosition(CA: float | collections.abc.Iterable[float], *, S: float, lam: float, delta: float) float | collections.abc.Iterable[float][source]

Returns the piston position at CA [m] (reference to TDC).

Parameters:
  • CA (float | Iterable[float]) – Time in CA

  • S (float) – Stroke [m]

  • lam (float) – conRodLen/crankRadius [-]

  • delta (float) – pinOffset/crankRadius [-]

Returns:

Piston position [m]

Return type:

float|Iterable[float]

libICEpost.src.engineModel.EngineGeometry.ConRod._pistonPosDerivative
libICEpost.src.engineModel.EngineGeometry.ConRod.pistonPosDerivative(CA: float | collections.abc.Iterable[float], *, S: float, lam: float, delta: float) float | collections.abc.Iterable[float][source]

Returns the time (in CA) derivative of instantaneous piston position at CA [m/CA].

Parameters:
  • CA (float | Iterable[float]) – Time in CA

  • S (float) – Stroke [m]

  • lam (float) – conRodLen/crankRadius [-]

  • delta (float) – pinOffset/crankRadius [-]

Returns:

ds/dCA [m/CA]

Return type:

float|Iterable[float]

class libICEpost.src.engineModel.EngineGeometry.ConRod.ConRodGeometry(*, bore: float, stroke: float, conRodLen: float, CR: float, pinOffset: float = 0.0, clearence: float = None, pistonCylAreaRatio: float = 1.0, headCylAreaRatio: float = 1.0)[source]

Bases: libICEpost.src.engineModel.EngineGeometry.EngineGeometry.EngineGeometry

Geometry for engine piston.

Attibutes:
  • CR (float): Compression ratio [-]

  • lam (float): conRodLen/crankRadius [-]

  • delta (float): pinOffset/crankRadius [-]

  • D (float): Bore [m]

  • S (float): Stroke [m]

  • l (float): connecting-rod length [m]

  • pinOffset (float): Piston pin offset [m]

  • clearence (float): TDC clearence [m]

  • cylArea (float): cylinder cross section [m^2]

  • pistonArea (float): piston surface area [m^2]

  • headArea (float): cylinder head area [m^2]

  • Vs (float): Displacement volume [m^3]

  • Vmin (float): Mimimum volume [m^3]

  • Vmax (float): Maximum volume [m^3]

  • patches (list[str]): List of patches names

_CR: float

The compression ratio

_D: float

Bore [m]

_S: float

Stroke [m]

_l: float

connecting-rod length [m]

_pinOffset: float = 0.0

Piston pin offset [m]

_clearence: float = None

TDC clearence [m]

_pistonCylAreaRatio: float = 1.0

piston surf. area / cyl. section

_headCylAreaRatio: float = 1.0

head surf. area / cyl. section

_patches: ClassVar[collections.abc.Iterable[str]] = ['liner', 'piston', 'head']

List of patches names

property CR: float

Compression ratio [-]

property D: float

Bore [m]

property S: float

Stroke [m]

property l: float

Connecting-rod length [m]

property pinOffset: float

Piston pin offset [m]

property clearence: float

TDC clearance [m]

property pistonCylAreaRatio: float

Piston surface area / cylinder section

property headCylAreaRatio: float

Head surface area / cylinder section

property patches: collections.abc.Iterable[str]

Returns the list of patches names.

Returns:

List of patches names

Return type:

Iterable[str]

property lam: float

lambda = R/L

property delta: float

delta = PO/R

property cylArea: float

Cylinder cross section area [m^2]

property pistonArea: float

Piston surface area [m^2]

property headArea: float

Cylinder head area [m^2]

property Vs: float

Displacement volume [m^3]

property Vmin: float

Minimum volume [m^3]

property Vmax: float

Maximum volume [m^3]

classmethod fromDictionary(inputDict: dict)[source]

Construct from dictionary containing the following parameters: - CR (float): Compression ratio [-] - bore (float): Bore [m] - stroke (float): Stroke [m] - conRodLen (float): connecting-rod length [m] - pinOffset (float): Piston pin offset [m] - clearence (float): TDC clearence [m] (optional) - pistonCylAreaRatio (float): piston surf. area / cyl. section (optional) - headCylAreaRatio (float): head surf. area / cyl. section (optional)

Parameters:

inputDict (dict) – Dictionary containing the parameters

__str__()[source]
__hash__()[source]
s(CA: float | collections.abc.Iterable[float]) float | numpy.ndarray[source]

Returns the piston position at CA [m] (reference to TDC)

Parameters:

CA (float | Iterable[float]) – Time in CA

Returns:

Piston position [m]

Return type:

float|np.ndarray

V(CA: float | collections.abc.Iterable[float]) float | numpy.ndarray[source]

Returns the instantaneous in-cylinder volume at CA

Parameters:

CA (float | Iterable[float]) – Time in CA

Returns:

In-cylinder volume [m^3]

Return type:

float|np.ndarray

dsdCA(CA: float | collections.abc.Iterable[float]) float | numpy.ndarray[source]

Returns the time (in CA) derivative of instantaneous piston position at CA [m/CA]. :param CA: Time in CA :type CA: float | Iterable[float]

Returns:

ds/dCA [m/CA]

Return type:

float|np.ndarray

dVdCA(CA: float | collections.abc.Iterable[float]) float | numpy.ndarray[source]

Returns the time (in CA) derivative of instantaneous in-cylinder volume at CA :param CA: Time in CA :type CA: float | Iterable[float]

Returns:

dV/dCA [m^3/CA]

Return type:

float|np.ndarray

linerArea(CA: float | collections.abc.Iterable[float]) float | numpy.ndarray[source]

Returns the liner area at CA [m^2]. :param CA: Time in CA :type CA: float | Iterable

Returns:

[m^2]

Return type:

float|np.ndarray

A(CA: float | collections.abc.Iterable[float]) float | numpy.ndarray[source]

Returns the chamber area at CA :param CA: Time in CA :type CA: float | Iterable[float]

Returns:

[m^2]

Return type:

float|np.ndarray

areas(CA: float | collections.abc.Iterable) pandas.DataFrame[source]

Get pandas.Dataframe with area of all patches at CA

Parameters:

CA (float | Iterable[float]) – Time in CA

Returns:

DataFrame of areas [m^2] at CA. Columns are patch names and CA.

Return type:

pandas.Dataframe