Source code for RCAIDE.Library.Components.Powertrain.Converters.Combustor

# RCAIDE/Library/Components/Propulsors/Converters/Combustor.py
# (c) Copyright 2023 Aerospace Research Community LLC
# 
# Created:  Feb 2024, M. Clarke

# ----------------------------------------------------------------------------------------------------------------------
#  IMPORT
# ---------------------------------------------------------------------------------------------------------------------- 
 # RCAIDE imports   
import RCAIDE
from .Converter  import Converter
from RCAIDE.Library.Methods.Powertrain.Converters.Combustor.append_combustor_conditions import  append_combustor_conditions
from RCAIDE.Library.Attributes.Gases.Air import Air

# ---------------------------------------------------------------------------------------------------------------------- 
#  Combustor
# ---------------------------------------------------------------------------------------------------------------------- 
[docs] class Combustor(Converter): """ A combustor component model for gas turbine engines that simulates the combustion process. Attributes ---------- tag : str Identifier for the combustor. Default is 'Combustor'. alphac : float Combustor entrance angle [rad]. Default is 0.0. turbine_inlet_temperature : float Temperature at turbine inlet [K]. Default is 1500. area_ratio : float Ratio of combustor exit to inlet area. Default is 1.0. axial_fuel_velocity_ratio : float Ratio of axial fuel velocity to inlet velocity. Default is 0.0. fuel_velocity_ratio : float Ratio of fuel velocity to inlet velocity. Default is 0.0. burner_drag_coefficient : float Drag coefficient of the burner. Default is 0.0. absolute_sensible_enthalpy : float Absolute sensible enthalpy [J/kg]. Default is 0.0. diameter : float Combustor diameter [m]. Default is 0.2. length : float Combustor length [m]. Default is 0.3. fuel_equivalency_ratio : float Fuel-to-air equivalency ratio. Default is 0.3. number_of_combustors : int Number of combustor cans. Default is 30. f_air_PZ : float Fraction of total air entering Primary Zone. Default is 0.18. FAR_st : float Stoichiometric Fuel to Air ratio. Default is 0.068. N_comb : int Number of can-annular combustors. Default is 10. N_PZ : int Number of PSR in the Primary Zone. Default is 8. A_PZ : float Primary Zone cross-sectional area [m²]. Default is 0.15. L_PZ : float Primary Zone length [m]. Default is 0.0153. N_SZ : int Number of dilution air inlets in the Secondary Zone. Default is 3. A_SZ : float Secondary Zone cross-sectional area [m²]. Default is 0.15. L_SZ : float Secondary Zone length [m]. Default is 0.075. phi_SZ : float Equivalence Ratio in the Secondary Zone. Default is 0.2. S_PZ : float Mixing parameter in the Primary Zone. Default is 0.6. F_SC : float Fuel scaler. Default is 0.425. number_of_assigned_PSR_1st_mixers : int Number of assigned PSRs to first row mixers. Default is 2. number_of_assigned_PSR_2nd_mixers : int Number of assigned mixers to second row mixers. Default is 2. Notes ----- The Combustor class models the combustion process in gas turbine engines, splitting the combustor into primary and secondary zones. It uses a Chemical Reactor Network (CRN) approach with Perfectly Stirred Reactors (PSR) and Plug Flow Reactors (PFR) for modeling the combustion process. **Definitions** 'PSR' Perfectly Stirred Reactor - A reactor model assuming perfect mixing 'PZ' Primary Zone - Initial combustion region 'SZ' Secondary Zone - Dilution region where the combustion is completed 'FAR' Fuel-to-Air Ratio 'PFR' Plug Flow Reactor - A reactor model assuming no mixing in axial direction See Also -------- RCAIDE.Library.Methods.Emissions.Chemical_Reaction_Network.evaluate_cantera """ def __defaults__(self): """This sets the default values for the component to function. Assumptions: None Source: None """ self.tag = 'Combustor' self.alphac = 0.0 self.turbine_inlet_temperature = 1500 self.area_ratio = 1.0 self.axial_fuel_velocity_ratio = 0.0 self.fuel_velocity_ratio = 0.0 self.burner_drag_coefficient = 0.0 self.absolute_sensible_enthalpy = 0.0 self.tag = 'CFM56-7B' # [-] Combustor tag self.volume = 0.0023 # [m**3] Combustor volume self.length = 0.2 # [m] Combustor Length self.number_of_combustors = 1 # [-] Number of Combustors for one engine self.F_SC = 1 # [-] Fuel scale factor self.N_PZ = 21 # [-] Number of PSR in the Primary Zone self.L_PZ = 0.05 # [m] Primary Zone length self.S_PZ = 0.39 # [-] Mixing parameter in the Primary Zone self.design_equivalence_ratio_PZ = 1.71 # [-] Design Equivalence Ratio in Primary Zone at Maximum Throttle self.N_SZ = 500 # [-] Number of discritizations in the Secondary Zone self.f_SM = 0.6 # [-] Slow mode fraction self.l_SA_SM = 0.4 # [-] Secondary air length fraction (of L_SZ) in slow mode self.l_SA_FM = 0.05 # [-] Secondary air length fraction (of L_SZ) in fast mode self.l_DA_start = 0.95 # [-] Dilution air start length fraction (of L_SZ) self.l_DA_end = 1.0 # [-] Dilution air end length fraction (of L_SZ) self.joint_mixing_fraction = 0.6 # [-] Joint mixing fraction self.design_equivalence_ratio_SZ = 0.61 # [-] Design Equivalence Ratio in Secondary Zone at Maximum Throttle self.air_mass_flow_rate_take_off = 40 # [kg/s] Air mass flow rate at take-off self.fuel_to_air_ratio_take_off = 0.025 # [-] Fuel to air ratio at take-off self.air_data = Air() # [-] Air object self.fuel_data = RCAIDE.Library.Attributes.Propellants.Jet_A1() # [-] Fuel object
[docs] def append_operating_conditions(self,segment,energy_conditions,noise_conditions=None): """ Appends operating conditions to the combustor. """ append_combustor_conditions(self,segment,energy_conditions) return