|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Functions | |
| Dict[str, object] | carbon_oxidation (float T_s, float P_static, Dict[str, float] composition, float MW_mix, float g0, GraphiteInsertConfig cfg) |
| Dict[str, object] | graphite_surface_state (float T_s, gas, contour, Dict[str, float] composition, GraphiteInsertConfig cfg) |
| float | calculate_throat_heuristic_multiplier (float chamber_pressure, float chamber_velocity, float throat_velocity, float chamber_heat_flux, float gamma=1.2) |
| Dict[str, float] | compute_graphite_recession (float net_heat_flux, float throat_temperature, float gas_temperature, GraphiteInsertConfig graphite_config, float throat_area, float pressure, Optional[float] gas_density=None, Optional[float] gas_viscosity=None, Optional[float] oxygen_mass_fraction=None, Optional[float] characteristic_length=None, Optional[float] gas_velocity=None, Optional[float] heat_transfer_coefficient=None, Optional[float] backside_temperature=None, Optional[float] effective_thickness=None, gas_state=None, contour=None, Optional[Dict[str, float]] throat_composition=None) |
Variables | |
| float | R_GAS = 8.314462618 |
| float | MW_C = 12.0107 |
| float | ATM = 101325.0 |
| dict | CARBON_OXIDISERS |
Graphite throat insert: surface chemistry and recession. The throat oxidisers of a LOX/hydrocarbon engine are H2O, CO2 and OH; their reactions with carbon are endothermic. See carbon_oxidation.
| float engine.pipeline.thermal.graphite_cooling.calculate_throat_heuristic_multiplier | ( | float | chamber_pressure, |
| float | chamber_velocity, | ||
| float | throat_velocity, | ||
| float | chamber_heat_flux, | ||
| float | gamma = 1.2 ) |
Calculate throat recession multiplier based on local flow conditions using a heuristic scaling.
Throat recession is typically 1.2-2.5x higher than chamber due to:
1. Higher velocity → Higher convective heat transfer
2. Sonic conditions → Maximum heat flux
3. Pressure gradient → Enhanced mass transfer
4. Turbulence amplification near throat
Heuristic scaling for heat flux ratio:
q_throat / q_chamber ∝ (V_throat / V_chamber)^0.8 × (P_throat / P_chamber)^0.2
WARNING: This is not a formal Bartz correlation. Real throat heat transfer depends on
geometry (D_t, curvature), viscosity/Pr, and boundary layer state. If
heat_transfer_coefficient at the throat is already available from a CFD or
boundary-layer code, this heuristic multiplier should not be used.
Parameters:
-----------
chamber_pressure : float
Chamber pressure [Pa]
chamber_velocity : float
Chamber gas velocity [m/s]
throat_velocity : float
Throat gas velocity (sonic) [m/s]
chamber_heat_flux : float
Chamber wall heat flux [W/m²] (used for validation, not in calculation)
gamma : float
Specific heat ratio
Returns:
--------
multiplier : float
Throat recession multiplier (typically 1.2-2.5)
Definition at line 91 of file graphite_cooling.py.
| Dict[str, object] engine.pipeline.thermal.graphite_cooling.carbon_oxidation | ( | float | T_s, |
| float | P_static, | ||
| Dict[str, float] | composition, | ||
| float | MW_mix, | ||
| float | g0, | ||
| GraphiteInsertConfig | cfg ) |
Carbon mass flux [kg/(m^2 s)] off a graphite surface at T_s and the heat it absorbs. Each oxidiser attacks at 1/(1/m_kin + 1/m_diff). Diffusion limit (unit Lewis number, film theory): m_diff = g * MW_C nu X / MW_mix with g the mass-transfer conductance h/cp, reduced by blowing g = g0 ln(1+B)/B, B = m_C/g0. Kinetics (Bradley et al. 1984, via Thakre & Yang, J. Propulsion Power 24(4), 2008): A T^b exp(-E/RT) p^n, p in atm; O2 and O are diffusion-limited.
Definition at line 31 of file graphite_cooling.py.
References max.
Referenced by graphite_surface_state().
| Dict[str, float] engine.pipeline.thermal.graphite_cooling.compute_graphite_recession | ( | float | net_heat_flux, |
| float | throat_temperature, | ||
| float | gas_temperature, | ||
| GraphiteInsertConfig | graphite_config, | ||
| float | throat_area, | ||
| float | pressure, | ||
| Optional[float] | gas_density = None, | ||
| Optional[float] | gas_viscosity = None, | ||
| Optional[float] | oxygen_mass_fraction = None, | ||
| Optional[float] | characteristic_length = None, | ||
| Optional[float] | gas_velocity = None, | ||
| Optional[float] | heat_transfer_coefficient = None, | ||
| Optional[float] | backside_temperature = None, | ||
| Optional[float] | effective_thickness = None, | ||
| gas_state = None, | |||
| contour = None, | |||
| Optional[Dict[str, float]] | throat_composition = None ) |
Carbon recession of the graphite throat at the surface temperature ``throat_temperature``. The surface temperature is an INPUT: it comes from the insert's transient conduction (engine.pipeline.thermal.wall_conduction), not from a guess. Chemistry is graphite_surface_state: H2O, CO2, OH, O2 and O from the CEA throat composition, each at the lesser of its kinetic and diffusion-limited rate. ``gas_state`` is a gas_side.HotGasState, ``contour`` a gas_side.WallContour and ``throat_composition`` the CEA throat mole fractions with the throat 'MW'. The older arguments (net_heat_flux, gas_density, oxygen_mass_fraction, ...) are accepted and unused. With ``simplified_graphite_oxidation`` the configured constant rate is returned instead.
Definition at line 160 of file graphite_cooling.py.
References graphite_surface_state().
| Dict[str, object] engine.pipeline.thermal.graphite_cooling.graphite_surface_state | ( | float | T_s, |
| gas, | |||
| contour, | |||
| Dict[str, float] | composition, | ||
| GraphiteInsertConfig | cfg ) |
Gas-side balance at the throat for a graphite surface at T_s: Bartz convection (blown), gas radiation, and the heat the surface chemistry absorbs. q_net goes into the insert.
Definition at line 73 of file graphite_cooling.py.
References carbon_oxidation().
Referenced by compute_graphite_recession().
| float engine.pipeline.thermal.graphite_cooling.ATM = 101325.0 |
Definition at line 15 of file graphite_cooling.py.
| dict engine.pipeline.thermal.graphite_cooling.CARBON_OXIDISERS |
Definition at line 22 of file graphite_cooling.py.
| float engine.pipeline.thermal.graphite_cooling.MW_C = 12.0107 |
Definition at line 14 of file graphite_cooling.py.
| float engine.pipeline.thermal.graphite_cooling.R_GAS = 8.314462618 |
Definition at line 13 of file graphite_cooling.py.