From 41662570be550279abad31753036256d1a81b718 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20L=C3=B3pez=20Rivera?= Date: Sat, 18 May 2024 23:46:31 +0200 Subject: [PATCH] Implemented bleed channel --- huracan/components/__init__.py | 3 +- huracan/components/{static.py => channels.py} | 37 ++++++++++++++++++- 2 files changed, 36 insertions(+), 4 deletions(-) rename huracan/components/{static.py => channels.py} (78%) 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