|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Functions | |
| float | _gas_radiation (Dict[str, float] gas_props, float Tg, float P, float Tw, float D, float eps_wall) |
| float | calculate_gas_viscosity_huzel (float temperature, float molecular_weight) |
| float | calculate_channel_hydraulic_diameter (float width, float height) |
| float | calculate_friction_factor (float Re, float d_hyd, float roughness=0.0) |
| float | delta_p_regen_channels (float mdot, float rho, float mu, RegenCoolingConfig config, float P_tank) |
| dict | calculate_regen_velocity_profile (float mdot, float rho, RegenCoolingConfig config) |
| Dict[str, float] | compute_regen_heat_transfer (float mdot_coolant, Dict[str, float] coolant_props, Dict[str, float] gas_props, RegenCoolingConfig config, float mdot_total) |
Regenerative cooling channel pressure drop model
|
protected |
Net gas-to-wall radiation of the chamber gas (Leckner gray gas, beam length 0.95 D). Needs the CEA mole fractions x_H2O and x_CO2 in ``gas_props``.
Definition at line 31 of file regen_cooling.py.
References min.
Referenced by compute_regen_heat_transfer().
| float engine.pipeline.thermal.regen_cooling.calculate_channel_hydraulic_diameter | ( | float | width, |
| float | height ) |
Calculate hydraulic diameter for rectangular channel.
d_hyd = 4 × A / P_wetted
For rectangle: d_hyd = 2 × w × h / (w + h)
Parameters:
-----------
width : float
Channel width [m]
height : float
Channel height [m]
Returns:
--------
d_hyd : float
Hydraulic diameter [m]
Definition at line 98 of file regen_cooling.py.
Referenced by compute_regen_heat_transfer(), and delta_p_regen_channels().
| float engine.pipeline.thermal.regen_cooling.calculate_friction_factor | ( | float | Re, |
| float | d_hyd, | ||
| float | roughness = 0.0 ) |
Calculate Darcy-Weisbach friction factor.
For smooth pipes (roughness = 0): Blasius correlation
f = 0.316 / Re^0.25 (for Re < 10^5)
For rough pipes: Colebrook equation (iterative)
Or Swamee-Jain approximation
Parameters:
-----------
Re : float
Reynolds number
d_hyd : float
Hydraulic diameter [m]
roughness : float
Surface roughness [m] (default: 0 = smooth)
Returns:
--------
f : float
Friction factor
Definition at line 124 of file regen_cooling.py.
Referenced by delta_p_regen_channels().
| float engine.pipeline.thermal.regen_cooling.calculate_gas_viscosity_huzel | ( | float | temperature, |
| float | molecular_weight ) |
Calculate gas dynamic viscosity using Huzel's empirical correlation.
Formula: μ = (46.6 × 10^-10) × M^0.5 × T^0.6
Where:
- M = molecular weight [lb/lb-mol] (same as kg/kmol numerically)
- T = temperature [°R] (Rankine)
- Result: μ [lb·s/in²], converted to [Pa·s]
This correlation is specifically for combustion gases and accounts for:
- Temperature dependence (T^0.6)
- Molecular weight dependence (M^0.5)
Parameters
----------
temperature : float
Gas temperature [K]
molecular_weight : float
Molecular weight [kg/kmol] (same as lb/lb-mol numerically)
Returns
-------
viscosity : float
Dynamic viscosity [Pa·s]
References
----------
Huzel & Huang, "Design of Liquid Propellant Rocket Engines"
Equation (4-16) for combustion gas viscosity estimation
Definition at line 47 of file regen_cooling.py.
Referenced by compute_regen_heat_transfer().
| dict engine.pipeline.thermal.regen_cooling.calculate_regen_velocity_profile | ( | float | mdot, |
| float | rho, | ||
| RegenCoolingConfig | config ) |
Calculate velocity profile through regen cooling system.
Returns velocities at each section for diagnostics.
Parameters:
-----------
mdot : float
Total mass flow rate [kg/s]
rho : float
Fluid density [kg/m³]
config : RegenCoolingConfig
Regenerative cooling configuration
Returns:
--------
velocities : dict
Dictionary with velocities at each section [m/s]
Definition at line 325 of file regen_cooling.py.
| Dict[str, float] engine.pipeline.thermal.regen_cooling.compute_regen_heat_transfer | ( | float | mdot_coolant, |
| Dict[str, float] | coolant_props, | ||
| Dict[str, float] | gas_props, | ||
| RegenCoolingConfig | config, | ||
| float | mdot_total ) |
Calculate heat-transfer coupling for regenerative cooling channels.
Definition at line 369 of file regen_cooling.py.
References _gas_radiation(), calculate_channel_hydraulic_diameter(), calculate_gas_viscosity_huzel(), and max.
| float engine.pipeline.thermal.regen_cooling.delta_p_regen_channels | ( | float | mdot, |
| float | rho, | ||
| float | mu, | ||
| RegenCoolingConfig | config, | ||
| float | P_tank ) |
Calculate pressure drop through regenerative cooling channels.
Flow path:
1. Inlet pipe (3/8" diameter)
2. Split into N parallel channels
3. N channels (each with friction)
4. Merge back
5. Pipe to injector
Pressure drop is a function of tank pressure:
- Higher tank pressure → higher mass flow → higher velocity → higher pressure drop
- This is already captured through mdot(P_tank), but we add explicit pressure scaling
- Channel length should match chamber length (cooling channels go across the length of the chamber)
Parameters:
-----------
mdot : float
Total mass flow rate [kg/s] (already depends on P_tank)
rho : float
Fluid density [kg/m³]
mu : float
Dynamic viscosity [Pa·s]
config : RegenCoolingConfig
Regenerative cooling configuration
P_tank : float
Tank pressure [Pa] - used for pressure-dependent scaling
Returns:
--------
delta_p : float
Total pressure drop [Pa]
Definition at line 166 of file regen_cooling.py.
References calculate_channel_hydraulic_diameter(), calculate_friction_factor(), and max.