STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
test_layerx_phase4 Namespace Reference

Functions

 _trace (int n, float dt, float thrust, float mo, float mf, float ox0, float fu0)
 test_impulse_to_depletion_by_hand ()
 test_impulse_to_depletion_does_not_step_with_the_step ()
 _graded (**figures)
 test_grading_is_relative_and_feasible_first ()
 config ()
 drawing ()
 test_bounds_carry_their_reasons (config, drawing)
 test_the_search_climbs_to_the_lockup_cap (config, drawing)

Variables

float STUDY_LOCKUP_PSIA = 564.7
 reason
str FIXTURE = Path(__file__).parent / "fixtures" / "ethalox_6500N_doublet_cad_2026-09-28.yaml"
str GN2 = "copv_study_gn2"
 needs_drawing

Detailed Description

Layer X phase 4: the feed hardware that gets the most from the fixed load.

* Impulse to depletion is arithmetic on the trace: checked by hand on a made-up one, and checked
  not to jump when the depletion slides across a step.
* Grading: violations are relative and add; feasible beats infeasible whatever the objective;
  among feasible, more is better.
* Bounds carry their reasons, from the config's requirements and the drawing's MAWPs.
* End to end, on the 6.5 kN stand: impulse rises with lockup (a higher chamber pressure expands
  further for the same propellant), so the search ends at the top of the range.

Function Documentation

◆ _graded()

test_layerx_phase4._graded ( ** figures)
protected

Definition at line 78 of file test_layerx_phase4.py.

Referenced by test_grading_is_relative_and_feasible_first().

◆ _trace()

test_layerx_phase4._trace ( int n,
float dt,
float thrust,
float mo,
float mf,
float ox0,
float fu0 )
protected
A constant burn: ``n`` firing steps, each burning ``mo``/``mf`` for ``dt``.

Definition at line 40 of file test_layerx_phase4.py.

References max.

Referenced by test_impulse_to_depletion_by_hand(), and test_impulse_to_depletion_does_not_step_with_the_step().

◆ config()

test_layerx_phase4.config ( void )

Definition at line 112 of file test_layerx_phase4.py.

◆ drawing()

test_layerx_phase4.drawing ( )

Definition at line 117 of file test_layerx_phase4.py.

◆ test_bounds_carry_their_reasons()

test_layerx_phase4.test_bounds_carry_their_reasons ( config,
drawing )

Definition at line 122 of file test_layerx_phase4.py.

◆ test_grading_is_relative_and_feasible_first()

test_layerx_phase4.test_grading_is_relative_and_feasible_first ( )

Definition at line 87 of file test_layerx_phase4.py.

References _graded().

◆ test_impulse_to_depletion_by_hand()

test_layerx_phase4.test_impulse_to_depletion_by_hand ( )
2 kg/s LOX, 1.25 kg/s fuel (O/F 1.6), 7 kN, 50 ms steps; 6.61 kg LOX, 4.40 kg fuel. LOX runs
out first, at 3.305 s. Up to the last full step the burn makes 7000/3.25 N·s per kg; the load
it can burn is all the LOX and 6.61/1.6 kg of fuel.

Definition at line 50 of file test_layerx_phase4.py.

References _trace().

◆ test_impulse_to_depletion_does_not_step_with_the_step()

test_layerx_phase4.test_impulse_to_depletion_does_not_step_with_the_step ( )
Slide the load so the depletion crosses a step boundary: the step-summed impulse jumps by a
step's worth, the impulse to depletion moves by exactly the extra propellant's share.

Definition at line 62 of file test_layerx_phase4.py.

References _trace().

◆ test_the_search_climbs_to_the_lockup_cap()

test_layerx_phase4.test_the_search_climbs_to_the_lockup_cap ( config,
drawing )
Lockup only, 550 to 600 psia, a handful of burns. Every burn's impulse to depletion rises
with its lockup, and the search ends on the cap and says so.

Definition at line 136 of file test_layerx_phase4.py.

Variable Documentation

◆ FIXTURE

str test_layerx_phase4.FIXTURE = Path(__file__).parent / "fixtures" / "ethalox_6500N_doublet_cad_2026-09-28.yaml"

Definition at line 32 of file test_layerx_phase4.py.

◆ GN2

str test_layerx_phase4.GN2 = "copv_study_gn2"

Definition at line 33 of file test_layerx_phase4.py.

◆ needs_drawing

test_layerx_phase4.needs_drawing
Initial value:
1= pytest.mark.skipif(not (shipped_drawings_dir() / f"{GN2}.json").is_file(),
2 reason="feed-twin's shipped drawings are not next to this checkout")

Definition at line 36 of file test_layerx_phase4.py.

◆ reason

test_layerx_phase4.reason

Definition at line 24 of file test_layerx_phase4.py.

◆ STUDY_LOCKUP_PSIA

float test_layerx_phase4.STUDY_LOCKUP_PSIA = 564.7

Definition at line 22 of file test_layerx_phase4.py.