libICEpost.src.engineModel.HeatTransferModel
@author: F. Ramognino <federico.ramognino@polimi.it> Last update: 12/06/2023
Package with models for describing heat losses at walls.
Submodules
Classes
Base class for modeling of wall heat transfer. |
|
Class for computation of wall heat transfer with Woschni model: |
Package Contents
- class libICEpost.src.engineModel.HeatTransferModel.HeatTransferModel[source]
Bases:
libICEpost.src.base.BaseClass.BaseClassBase class for modeling of wall heat transfer.
- classmethod fromDictionary(dictionary: dict) Self[source]
Construct from dictionary with heat transfer model parameters (to be overloaded for docstring)
- Returns:
instance of selected heatTransferModel
- Return type:
Self
- abstractmethod h(*, engine: libICEpost.src.engineModel.EngineModel.EngineModel.EngineModel, CA: float | collections.abc.Iterable | None = None, **kwargs) float[source]
Compute wall heat transfer coefficient at walls. To be overwritten.
- Parameters:
engine (EngineModel) – The engine model from which taking data.
CA (float | Iterable | None, optional) – Time for which computing heat transfer. If None, uses engine.time.time. Defaults to None.
- Returns:
convective wall heat transfer coefficient [W/(m^2 K)]
- Return type:
float
- class libICEpost.src.engineModel.HeatTransferModel.Woschni(/, *, nwos: float = 1.32, C1: float = 3.26, C2cv: float = 2.28, C2ge: float = 6.18, C2corrcv: float = 0.308, C2corrge: float = 0.417, C3comp: float = 0.0, C3comb: float = 0.00324, useTurbulence: bool = False)[source]
Bases:
libICEpost.src.engineModel.HeatTransferModel.HeatTransferModel.HeatTransferModelClass for computation of wall heat transfer with Woschni model:
h = C1 * (p/1000.)^.8 * T^(-0.53) * D^(-0.2) * uwos^(0.8) C2Prime = C2 + C2corr * (u’/upMean) uwos = C2Prime * upMean + C3 * (p - p_mot) * Vs * T0 / (p0 * V0) p_mot = p * ( V0 / V )**nwos
Vs: Displacement volume upMean: Mean piston speed
- Where:
C2 changes depending if at closed-valves (C2cv) or during gas-exchange (C2ge)
C3 changes depending if during compression (C3comp) or during combustion/expansion (C3comb)
Reference conditions (0) are at IVC or startTime if it is in closed-valve region.
- Attibutes:
- coeffs: dict
Container for model constants
- classmethod fromDictionary(dictionary: dict) Woschni[source]
Construct from dictionary.
- Parameters:
dictionary (dict) – the input dictionary, containing: nwos (float, default 1.32) C1 (float, default 3.26) C2cv (float, default 2.28) C2ge (float, default 6.18) C2corrcv(float, default 0.308) C2corrge(float, default 0.417) C3comp (float, default 0.0) C3comb (float, default 3.24e-3) useTurbulence (bool, False)
- Returns:
Instance of this class
- Return type:
- coeffs
- h(*, engine: libICEpost.src.engineModel.EngineModel.EngineModel.EngineModel, CA: float | collections.abc.Iterable | None = None, **kwargs) float[source]
Compute convective wall heat transfer with Woschni correlation:
h = C1 * (p/1000.)^.8 * T^(-0.53) * D^(-0.2) * uwos^(0.8) C2Prime = C2 + C2corr * (u’/upMean) uwos = C2Prime * upMean + C3 * (p - p_mot) * Vs * T0 / (p0 * V0) p_mot = p * ( V0 / V )**nwos
Vs: Displacement volume upMean: Mean piston speed
- Where:
C2 changes depending if at closed-valves (C2cv) or during gas-exchange (C2ge)
C3 changes depending if during compression (C3comp) or during combustion/expansion (C3comb)
Reference conditions (0) are at IVC or startTime if it is in closed-valve region.
C2corr changes depending if at closed-valves (C2corrcv) or during gas-exchange (C2corrge)
- Parameters:
engine (EngineModel) – The engine model from which taking data.
CA (float | Iterable | None, optional) – Time for which computing heat transfer. If None, uses engine.time.time. Defaults to None.
- Returns:
convective wall heat transfer coefficient [W/(m^2 K)]
- Return type:
float
- uwos(engine: libICEpost.src.engineModel.EngineModel.EngineModel.EngineModel, *, CA: float | collections.abc.Iterable | None = None) float[source]
uwos = C2Prime * upMean + C3 * (p - p_mot) * Vs * T0 / (p0 * V0) C2Prime = C2 + C2corr * (u’/upMean) p_mot = p * ( V0 / V )**nwos
Vs: Displacement volume upMean: Mean piston speed
- Where:
C2 changes depending if at closed-valves (C2cv) or during gas-exchange (C2ge)
C3 changes depending if during compression (C3comp) or during combustion/expansion (C3comb)
Reference conditions (0) are at IVC or startTime if it is in closed-valve region.
C2corr changes depending if at closed-valves (C2corrcv) or during gas-exchange (C2corrge)
- Parameters:
engine (EngineModel) – The engine model from which taking data.
CA (float | Iterable | None, optional) – Time for which computing heat transfer. If None, uses engine.time.time. Defaults to None.