|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Classes | |
| class | MaterialLayer |
| class | ThermalBoundaryConditions |
Functions | |
| Dict[str, np.ndarray] | calculate_steady_state_temperature_profile (List[MaterialLayer] layers, ThermalBoundaryConditions bc, int n_points_per_layer=10) |
| Dict[str, float] | calculate_pyrolysis_response (float surface_temperature, AblativeCoolingConfig ablative_config, float heat_flux, float time_step=0.01) |
| Dict[str, float] | calculate_vaporization_rate (float surface_temperature, AblativeCoolingConfig|GraphiteInsertConfig material_config, float heat_flux, float pressure=1e6) |
| Dict[str, any] | analyze_multi_layer_system (List[MaterialLayer] layers, ThermalBoundaryConditions bc, Optional[AblativeCoolingConfig] ablative_config=None, Optional[GraphiteInsertConfig] graphite_config=None) |
| Dict[str, float] | calculate_required_ablative_thickness (float heat_flux, float burn_time, AblativeCoolingConfig ablative_config, float backface_temp_limit=500.0, float stainless_thickness=0.002, float stainless_k=15.0) |
Variables | |
| float | SIGMA = 5.670374419e-8 |
Comprehensive thermal analysis for multi-layer ablative/graphite system. This module provides: 1. Multi-layer thermal conduction (stainless steel + phenolic + graphite) 2. Pyrolysis modeling with char layer formation 3. Vaporization at high temperatures 4. Transient thermal response 5. Temperature profiles through wall thickness 6. Back-face temperature limits for structural integrity
| Dict[str, any] engine.pipeline.thermal_analysis.analyze_multi_layer_system | ( | List[MaterialLayer] | layers, |
| ThermalBoundaryConditions | bc, | ||
| Optional[AblativeCoolingConfig] | ablative_config = None, | ||
| Optional[GraphiteInsertConfig] | graphite_config = None ) |
Comprehensive thermal analysis of multi-layer system.
Combines:
- Steady-state temperature profile
- Pyrolysis response (if ablative)
- Vaporization (if high temperature)
- Back-face temperature check
Parameters:
-----------
layers : List[MaterialLayer]
Material layers (hot to cold)
bc : ThermalBoundaryConditions
Boundary conditions
ablative_config : Optional[AblativeCoolingConfig]
Ablative configuration (if applicable)
graphite_config : Optional[GraphiteInsertConfig]
Graphite configuration (if applicable)
Returns:
--------
dict
Comprehensive thermal analysis results
Definition at line 305 of file thermal_analysis.py.
References calculate_pyrolysis_response(), calculate_steady_state_temperature_profile(), and calculate_vaporization_rate().
| Dict[str, float] engine.pipeline.thermal_analysis.calculate_pyrolysis_response | ( | float | surface_temperature, |
| AblativeCoolingConfig | ablative_config, | ||
| float | heat_flux, | ||
| float | time_step = 0.01 ) |
Calculate pyrolysis response including char layer formation.
Pyrolysis occurs when T > T_pyrolysis:
- Material decomposes into char + pyrolysis gases
- Char layer forms on surface (lower conductivity)
- Pyrolysis gases flow outward (blowing effect)
Parameters:
-----------
surface_temperature : float
Surface temperature [K]
ablative_config : AblativeCoolingConfig
Ablative material configuration
heat_flux : float
Incident heat flux [W/m²]
time_step : float
Time step [s] for transient calculations
Returns:
--------
dict
- pyrolysis_rate: float [kg/(m²·s)] - Mass flux of pyrolysis gases
- char_formation_rate: float [m/s] - Char layer growth rate
- char_thickness: float [m] - Current char layer thickness
- pyrolysis_active: bool - Whether pyrolysis is occurring
- energy_consumed: float [J/kg] - Energy consumed by pyrolysis
Definition at line 160 of file thermal_analysis.py.
Referenced by analyze_multi_layer_system().
| Dict[str, float] engine.pipeline.thermal_analysis.calculate_required_ablative_thickness | ( | float | heat_flux, |
| float | burn_time, | ||
| AblativeCoolingConfig | ablative_config, | ||
| float | backface_temp_limit = 500.0, | ||
| float | stainless_thickness = 0.002, | ||
| float | stainless_k = 15.0 ) |
Calculate required ablative thickness to keep backface below limit.
This is a sizing function to determine how much ablative material is needed.
Parameters:
-----------
heat_flux : float
Design heat flux [W/m²]
burn_time : float
Burn time [s]
ablative_config : AblativeCoolingConfig
Ablative material configuration
backface_temp_limit : float
Maximum backface temperature [K]
stainless_thickness : float
Stainless steel wall thickness [m]
stainless_k : float
Stainless steel thermal conductivity [W/(m·K)]
Returns:
--------
dict
- required_thickness: float [m] - Required ablative thickness
- recession_allowance: float [m] - Material lost to recession
- conduction_thickness: float [m] - Thickness for thermal protection
- safety_margin: float [m] - Recommended safety margin
Definition at line 382 of file thermal_analysis.py.
References max.
| Dict[str, np.ndarray] engine.pipeline.thermal_analysis.calculate_steady_state_temperature_profile | ( | List[MaterialLayer] | layers, |
| ThermalBoundaryConditions | bc, | ||
| int | n_points_per_layer = 10 ) |
Calculate steady-state temperature profile through multi-layer wall.
Uses thermal resistance network:
q = (T_hot - T_cold) / R_total
R_total = R_conv_hot + R_cond_1 + R_cond_2 + ... + R_conv_cold
For each layer:
R_cond = t / (k * A) (1D conduction)
Parameters:
-----------
layers : List[MaterialLayer]
Material layers from hot side to cold side
bc : ThermalBoundaryConditions
Boundary conditions
n_points_per_layer : int
Number of temperature points per layer
Returns:
--------
dict
- positions: np.ndarray [m] - Distance from hot surface
- temperatures: np.ndarray [K] - Temperature at each position
- heat_flux: float [W/m²] - Steady-state heat flux
- T_surface_hot: float [K] - Hot surface temperature
- T_surface_cold: float [K] - Cold surface temperature
- layer_boundaries: List[float] - Positions of layer boundaries
Definition at line 47 of file thermal_analysis.py.
References max.
Referenced by analyze_multi_layer_system().
| Dict[str, float] engine.pipeline.thermal_analysis.calculate_vaporization_rate | ( | float | surface_temperature, |
| AblativeCoolingConfig | GraphiteInsertConfig | material_config, | ||
| float | heat_flux, | ||
| float | pressure = 1e6 ) |
Calculate material vaporization rate at high temperatures.
Vaporization occurs when T > T_vaporization:
- Material directly sublimates/vaporizes
- No char formation (unlike pyrolysis)
- High energy consumption
Parameters:
-----------
surface_temperature : float
Surface temperature [K]
material_config : AblativeCoolingConfig | GraphiteInsertConfig
Material configuration
heat_flux : float
Incident heat flux [W/m²]
pressure : float
Local pressure [Pa]
Returns:
--------
dict
- vaporization_rate: float [kg/(m²·s)] - Mass flux of vaporized material
- vaporization_active: bool - Whether vaporization is occurring
- energy_consumed: float [J/kg] - Energy consumed by vaporization
Definition at line 238 of file thermal_analysis.py.
References max.
Referenced by analyze_multi_layer_system().
| float engine.pipeline.thermal_analysis.SIGMA = 5.670374419e-8 |
Definition at line 20 of file thermal_analysis.py.