diff --git a/huracan/components/__init__.py b/huracan/components/__init__.py index f5d8f1f..1f31dfa 100644 --- a/huracan/components/__init__.py +++ b/huracan/components/__init__.py @@ -6,9 +6,8 @@ ------------------------- """ -from huracan.components.static import intake, inlet, nozzle +from huracan.components.channels import intake, inlet, nozzle, bleed_duct from huracan.components.rotary import fan, prop, propfan, compressor, turbine from huracan.components.power.combustion import combustion_chamber, afterburner from huracan.components.power.sinks import electrical_system from huracan.components.heat_exchangers import intercooler - diff --git a/huracan/components/static.py b/huracan/components/channels.py similarity index 78% rename from huracan/components/static.py rename to huracan/components/channels.py index eac472d..40b8f87 100644 --- a/huracan/components/static.py +++ b/huracan/components/channels.py @@ -2,8 +2,8 @@ # SPDX-License-Identifier: vGPL-3.0-only """ -Static components ------------------ +Engine channels +--------------- """ from huracan.engine import component @@ -56,6 +56,39 @@ def __init__(self, assert not isinstance(eta, type(None)) or not isinstance(PI, type(None)) or not isinstance(TAU, type(None)) +class bleed_duct(component): + """ + Bleed duct + ---------- + """ + def __init__(self, + t01, + eta, + PI=1, + ): + """ + :param t01: Temperature after the bleed duct. + :param eta: Isentropic efficiency. + :param PI: Pressure ratio. + """ + + self.t01 = t01 + self.eta = eta + self.PI = PI + + def tf(self, gas): + + dt = self.t01 - gas.t0 + + self.Q_out = dt*gas.mf*gas.cp(gas.t0) / self.eta + + return gas.heat_exchange(eta=self.eta, + PI=self.PI, + cp=gas.cp(gas.t0), + Q_ex=self.Q_out, + ) + + class nozzle(component): """ Nozzle