libICEpost.src.engineModel.EngineGeometry.ConRod ================================================ .. py:module:: libICEpost.src.engineModel.EngineGeometry.ConRod .. autoapi-nested-parse:: @author: F. Ramognino Last update: 12/06/2023 Attributes ---------- .. autoapisummary:: libICEpost.src.engineModel.EngineGeometry.ConRod._pistonPos libICEpost.src.engineModel.EngineGeometry.ConRod._pistonPosDerivative Classes ------- .. autoapisummary:: libICEpost.src.engineModel.EngineGeometry.ConRod.ConRodGeometry Functions --------- .. autoapisummary:: libICEpost.src.engineModel.EngineGeometry.ConRod.pistonPosition libICEpost.src.engineModel.EngineGeometry.ConRod.pistonPosDerivative Module Contents --------------- .. py:data:: _pistonPos .. py:function:: pistonPosition(CA: float | collections.abc.Iterable[float], *, S: float, lam: float, delta: float) -> float | collections.abc.Iterable[float] Returns the piston position at CA [m] (reference to TDC). :param CA: Time in CA :type CA: float | Iterable[float] :param S: Stroke [m] :type S: float :param lam: conRodLen/crankRadius [-] :type lam: float :param delta: pinOffset/crankRadius [-] :type delta: float :returns: Piston position [m] :rtype: float|Iterable[float] .. py:data:: _pistonPosDerivative .. py:function:: pistonPosDerivative(CA: float | collections.abc.Iterable[float], *, S: float, lam: float, delta: float) -> float | collections.abc.Iterable[float] Returns the time (in CA) derivative of instantaneous piston position at CA [m/CA]. :param CA: Time in CA :type CA: float | Iterable[float] :param S: Stroke [m] :type S: float :param lam: conRodLen/crankRadius [-] :type lam: float :param delta: pinOffset/crankRadius [-] :type delta: float :returns: ds/dCA [m/CA] :rtype: float|Iterable[float] .. py:class:: ConRodGeometry(*, bore: float, stroke: float, conRodLen: float, CR: float, pinOffset: float = 0.0, clearence: float = None, pistonCylAreaRatio: float = 1.0, headCylAreaRatio: float = 1.0) Bases: :py:obj:`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 .. py:attribute:: _CR :type: float The compression ratio .. py:attribute:: _D :type: float Bore [m] .. py:attribute:: _S :type: float Stroke [m] .. py:attribute:: _l :type: float connecting-rod length [m] .. py:attribute:: _pinOffset :type: float :value: 0.0 Piston pin offset [m] .. py:attribute:: _clearence :type: float :value: None TDC clearence [m] .. py:attribute:: _pistonCylAreaRatio :type: float :value: 1.0 piston surf. area / cyl. section .. py:attribute:: _headCylAreaRatio :type: float :value: 1.0 head surf. area / cyl. section .. py:attribute:: _patches :type: ClassVar[collections.abc.Iterable[str]] :value: ['liner', 'piston', 'head'] List of patches names .. py:property:: CR :type: float Compression ratio [-] .. py:property:: D :type: float Bore [m] .. py:property:: S :type: float Stroke [m] .. py:property:: l :type: float Connecting-rod length [m] .. py:property:: pinOffset :type: float Piston pin offset [m] .. py:property:: clearence :type: float TDC clearance [m] .. py:property:: pistonCylAreaRatio :type: float Piston surface area / cylinder section .. py:property:: headCylAreaRatio :type: float Head surface area / cylinder section .. py:property:: patches :type: collections.abc.Iterable[str] Returns the list of patches names. :returns: List of patches names :rtype: Iterable[str] .. py:property:: lam :type: float lambda = R/L .. py:property:: delta :type: float delta = PO/R .. py:property:: cylArea :type: float Cylinder cross section area [m^2] .. py:property:: pistonArea :type: float Piston surface area [m^2] .. py:property:: headArea :type: float Cylinder head area [m^2] .. py:property:: Vs :type: float Displacement volume [m^3] .. py:property:: Vmin :type: float Minimum volume [m^3] .. py:property:: Vmax :type: float Maximum volume [m^3] .. py:method:: fromDictionary(inputDict: dict) :classmethod: 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) :param inputDict: Dictionary containing the parameters :type inputDict: dict .. py:method:: __str__() .. py:method:: __hash__() .. py:method:: s(CA: float | collections.abc.Iterable[float]) -> float | numpy.ndarray Returns the piston position at CA [m] (reference to TDC) :param CA: Time in CA :type CA: float | Iterable[float] :returns: Piston position [m] :rtype: float|np.ndarray .. py:method:: V(CA: float | collections.abc.Iterable[float]) -> float | numpy.ndarray Returns the instantaneous in-cylinder volume at CA :param CA: Time in CA :type CA: float | Iterable[float] :returns: In-cylinder volume [m^3] :rtype: float|np.ndarray .. py:method:: dsdCA(CA: float | collections.abc.Iterable[float]) -> float | numpy.ndarray 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] :rtype: float|np.ndarray .. py:method:: dVdCA(CA: float | collections.abc.Iterable[float]) -> float | numpy.ndarray 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] :rtype: float|np.ndarray .. py:method:: linerArea(CA: float | collections.abc.Iterable[float]) -> float | numpy.ndarray Returns the liner area at CA [m^2]. :param CA: Time in CA :type CA: float | Iterable :returns: [m^2] :rtype: float|np.ndarray .. py:method:: A(CA: float | collections.abc.Iterable[float]) -> float | numpy.ndarray Returns the chamber area at CA :param CA: Time in CA :type CA: float | Iterable[float] :returns: [m^2] :rtype: float|np.ndarray .. py:method:: areas(CA: float | collections.abc.Iterable) -> pandas.DataFrame Get pandas.Dataframe with area of all patches at CA :param CA: Time in CA :type CA: float | Iterable[float] :returns: DataFrame of areas [m^2] at CA. Columns are patch names and CA. :rtype: pandas.Dataframe