Source code for RCAIDE.Library.Attributes.Propellants.Propellant
# RCAIDE/Library/Attributes/Propellants.py
#
#
# Created: Sep 2023, M. Clarke
# Modified:
# ----------------------------------------------------------------------------------------------------------------------
# IMPORT
# ----------------------------------------------------------------------------------------------------------------------
from RCAIDE.Framework.Core import Data
from RCAIDE.Library.Components.Mass_Properties import Mass_Properties
# ----------------------------------------------------------------------------------------------------------------------
# Propellant
# ----------------------------------------------------------------------------------------------------------------------
[docs]
class Propellant(Data):
"""
Base class for defining propellant properties and characteristics in propulsion systems.
Attributes
----------
tag : str
Identifier for the specific propellant type
reactant : str
Primary oxidizer used for combustion
density : float
Fuel density in kg/m³
specific_energy : float
Specific energy content in J/kg
energy_density : float
Energy density in J/m³
lower_heating_value : float
Lower heating value in J/kg
mass_properties : Mass_Properties
Object containing mass-related properties
max_mass_fraction : Data
Maximum fuel-to-oxidizer mass ratios
- Air : float
Maximum mass fraction with air
- O2 : float
Maximum mass fraction with pure oxygen
temperatures : Data
Critical temperatures in K
- flash : float
Flash point temperature
- autoignition : float
Autoignition temperature
- freeze : float
Freezing point temperature
- boiling : float
Boiling point temperature
emission_indices : Data
Emission indices in kg/kg fuel
- Production : float
CO2 production rate
- CO2 : float
Carbon dioxide emissions
- H2O : float
Water vapor emissions
- SO2 : float
Sulfur dioxide emissions
- NOx : float
Nitrogen oxides emissions
- Soot : float
Particulate matter emissions
global_warming_potential_100 : Data
100-year global warming potentials
- CO2 : float
Carbon dioxide impact
- H2O : float
Water vapor impact
- SO2 : float
Sulfur dioxide impact
- NOx : float
Nitrogen oxides impact
- Soot : float
Particulate matter impact
- Contrails : float
Contrail formation impact
Notes
-----
This base class provides a standardized structure for defining propellant
properties, including physical characteristics, combustion parameters, and
environmental impacts. It serves as a template for specific propellant
implementations.
**Definitions**
'Emission Index'
Mass of pollutant produced per unit mass of fuel burned
'Global Warming Potential'
Relative measure of heat trapped in atmosphere compared to CO2
'Lower Heating Value'
Heat of combustion excluding latent heat of water vapor
"""
def __defaults__(self):
"""This sets the default values.
Assumptions:
None
Source:
None
"""
self.tag = 'Propellant'
self.reactant = 'O2'
self.density = 0.0 # kg/m^3
self.specific_energy = 0.0 # MJ/kg
self.energy_density = 0.0 # MJ/m^3
self.lower_heating_value = 0.0 # MJ/kg
self.mass_properties = Mass_Properties()
self.max_mass_fraction = Data({'Air' : 0.0, 'O2' : 0.0}) # kg propellant / kg oxidizer
self.temperatures = Data()
self.temperatures.flash = 0.0 # K
self.temperatures.autoignition = 0.0 # K
self.temperatures.freeze = 0.0 # K
self.temperatures.boiling = 0.0 # K
self.stoichiometric_fuel_air_ratio = 0 # [-] Stoichiometric Fuel to Air ratio
self.heat_of_vaporization = 0 # [J/kg] Heat of vaporization at standard conditions
self.temperature = 0 # [K] Temperature of fuel
self.pressure = 0 # [Pa] Pressure of fuel
self.fuel_surrogate_S1 = {} # [-] Mole fractions of fuel surrogate species
self.kinetic_mechanism = '' # [-] Kinetic mechanism for fuel surrogate species
self.oxidizer = ''
# Emission Indices
self.emission_indices = Data()
self.emission_indices.Production = 0
self.emission_indices.CO2 = 0
self.emission_indices.H2O = 0
self.emission_indices.SO2 = 0
self.emission_indices.NOx = 0
self.emission_indices.Soot = 0
self.global_warming_potential_100 = Data()
self.global_warming_potential_100.CO2 = 0
self.global_warming_potential_100.H2O = 0
self.global_warming_potential_100.SO2 = 0
self.global_warming_potential_100.NOx = 0
self.global_warming_potential_100.Soot = 0
self.global_warming_potential_100.Contrails = 0