STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
engine.pipeline.chamber_optimizer.ChamberOptimizer Class Reference

Public Member Functions

 __init__ (self, PintleEngineConfig base_config)
Dict[str, Any] optimize (self, Dict[str, Any] design_requirements, Dict[str, Any] constraints, Optional[Dict[str, float]] initial_guess=None)

Public Attributes

 base_config = base_config
 runner = PintleEngineRunner(base_config)
 diagnostics = SystemDiagnostics(base_config)

Protected Member Functions

Dict[str, float] _generate_initial_guess (self, float target_thrust, Dict constraints)
Bounds _setup_bounds (self, Dict constraints, Dict initial_guess)
List[Dict] _setup_constraints (self, Dict constraints, Dict design_requirements, float P_tank_O, float P_tank_F)
PintleEngineConfig _update_config_from_x (self, np.ndarray x, PintleEngineConfig base_config)
Dict[str, Any] _calculate_burn_analysis (self, PintleEngineConfig config, PintleEngineRunner runner, float burn_time, float P_tank_O, float P_tank_F)

Detailed Description

Iterative optimizer for chamber geometry design.

Definition at line 19 of file chamber_optimizer.py.

Constructor & Destructor Documentation

◆ __init__()

engine.pipeline.chamber_optimizer.ChamberOptimizer.__init__ ( self,
PintleEngineConfig base_config )

Definition at line 22 of file chamber_optimizer.py.

Member Function Documentation

◆ _calculate_burn_analysis()

Dict[str, Any] engine.pipeline.chamber_optimizer.ChamberOptimizer._calculate_burn_analysis ( self,
PintleEngineConfig config,
PintleEngineRunner runner,
float burn_time,
float P_tank_O,
float P_tank_F )
protected
Calculate burn analysis for the optimized configuration with full dynamics.

Definition at line 499 of file chamber_optimizer.py.

Referenced by optimize().

◆ _generate_initial_guess()

Dict[str, float] engine.pipeline.chamber_optimizer.ChamberOptimizer._generate_initial_guess ( self,
float target_thrust,
Dict constraints )
protected
Generate initial guess for optimization.

Definition at line 199 of file chamber_optimizer.py.

Referenced by optimize().

◆ _setup_bounds()

Bounds engine.pipeline.chamber_optimizer.ChamberOptimizer._setup_bounds ( self,
Dict constraints,
Dict initial_guess )
protected
Set up optimization bounds.

Definition at line 236 of file chamber_optimizer.py.

Referenced by optimize().

◆ _setup_constraints()

List[Dict] engine.pipeline.chamber_optimizer.ChamberOptimizer._setup_constraints ( self,
Dict constraints,
Dict design_requirements,
float P_tank_O,
float P_tank_F )
protected
Set up optimization constraints including airframe and system constraints.

Definition at line 260 of file chamber_optimizer.py.

References _update_config_from_x(), base_config, and min.

Referenced by optimize().

◆ _update_config_from_x()

PintleEngineConfig engine.pipeline.chamber_optimizer.ChamberOptimizer._update_config_from_x ( self,
np.ndarray x,
PintleEngineConfig base_config )
protected
Update configuration from optimization variables.

Definition at line 441 of file chamber_optimizer.py.

Referenced by _setup_constraints(), and optimize().

◆ optimize()

Dict[str, Any] engine.pipeline.chamber_optimizer.ChamberOptimizer.optimize ( self,
Dict[str, Any] design_requirements,
Dict[str, Any] constraints,
Optional[Dict[str, float]] initial_guess = None )
Optimize chamber geometry to meet design requirements.

Parameters:
-----------
design_requirements : dict
    - target_thrust: float [N] - Desired thrust
    - target_burn_time: float [s] - Desired burn time
    - target_stability_margin: float - Minimum stability margin (e.g., 1.2 = 20% margin)
    - P_tank_O: float [Pa] - Oxidizer tank pressure
    - P_tank_F: float [Pa] - Fuel tank pressure
    - target_Isp: Optional[float] [s] - Desired specific impulse (optional)

constraints : dict
    - max_chamber_length: float [m] - Maximum chamber length
    - max_chamber_diameter: float [m] - Maximum chamber diameter
    - min_Lstar: float [m] - Minimum L* for combustion
    - max_Lstar: float [m] - Maximum L* (weight/structure)
    - min_expansion_ratio: float - Minimum expansion ratio
    - max_expansion_ratio: float - Maximum expansion ratio
    - manufacturing_tolerance: float [m] - Manufacturing tolerance for areas
    - max_wall_thickness: float [m] - Maximum wall thickness (structural)
    - min_wall_thickness: float [m] - Minimum wall thickness (structural)

initial_guess : dict, optional
    - A_throat: float [m²]
    - A_exit: float [m²]
    - Lstar: float [m]
    - chamber_diameter: float [m]

Returns:
--------
results : dict
    - optimized_config: PintleEngineConfig - Optimized configuration
    - performance: dict - Performance metrics
    - convergence_history: list - Optimization history
    - diagnostics: dict - System diagnostics

Definition at line 27 of file chamber_optimizer.py.

References _calculate_burn_analysis(), _generate_initial_guess(), _setup_bounds(), _setup_constraints(), _update_config_from_x(), base_config, engine.control.robust_ddp.ddp_solver.DDPSolution.diagnostics, engine.control.robust_ddp.engine_wrapper.EngineEstimate.diagnostics, diagnostics, feedtwin.solve.steady.SteadyResult.diagnostics, fsw::script::LexResult.diagnostics, fsw::script::ParseResult.diagnostics, and max.

Member Data Documentation

◆ base_config

◆ diagnostics

engine.pipeline.chamber_optimizer.ChamberOptimizer.diagnostics = SystemDiagnostics(base_config)

◆ runner


The documentation for this class was generated from the following file: