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

Functions

 _old_linear_factor (Q, mdot, Tc, gamma, R)
 test_heat_loss_factor_matches_cea_at_the_design_point ()
 test_heat_loss_factor_tracks_cea_across_the_envelope (Pc_psia, MR, Tc, M, gamma, cea_ratio)
 _peaked_cstar (Pc)
 _advanced_params (Q_by_source, cooling_eff)
 test_eta_cstar_charges_wall_heat_by_the_energy_balance ()
 test_heat_returned_to_the_propellant_is_not_a_cstar_loss ()
 test_drops_evaporate_at_their_saturation_state_at_pc (P, Tb, Lb, M, Tcrit, T_ref, h_ref)
 test_supercritical_drop_has_no_latent_heat ()
 test_gasification_heat_up_and_evaporation_add ()
 _design_streams (Pc, k=1.0, MR=1.47)
 _eta_vap (Lstar, k=1.0)
 test_vaporization_rises_with_lstar_and_falls_with_drop_size ()
 test_spray_march_matches_an_independent_single_drop_integration ()
 test_missing_inputs_are_named_not_hidden ()
 test_rupe_parameter_is_elverum_morey_eq_1 ()
 test_mixing_peaks_at_rupe_optimum_and_ignores_angles ()
 test_resultant_tilt_balance_includes_the_orifice_area_ratio ()
 test_no_chamber_kinetic_loss_and_no_mixture_ratio_steps ()
 _evaluate (cfg)
 ethalox ()
 test_coarser_spray_costs_cstar (ethalox, monkeypatch)
 _with_lstar (cfg, L)
 test_lstar_buys_vaporization_until_heat_loss_wins (ethalox, monkeypatch)
 test_design_cstar_breakdown_is_reported (ethalox, monkeypatch)
 test_design_cstar_efficiency_is_in_the_unlike_doublet_band (ethalox, monkeypatch)
 test_every_efficiency_field_is_read_or_marked_inert ()

Variables

 ROOT = Path(__file__).resolve().parents[1]
float PSI = 6894.757293168
float R_U = 8314.462618
list CEA_HEAT_LOSS
 DESIGN = dict(Pc=2976827.09, MR=1.5013044, mdot=2.8151867, Tc=3226.756, M=22.256595, gamma=1.137481)
 DESIGN_Q_W
 DESIGN_CEA_RATIO
 _GAS = dict(Pc=2.92e6, Tc=3226.0, gamma=1.1375, R=373.57, m_dot_total=2.718, Ac=math.pi * 0.0635 ** 2)
float _AT = 1.5337e-3

Detailed Description

The c* efficiency chain against references outside the code: CEA, CoolProp, textbook algebra and an
independent ODE integration of the spray model.

    eta_c* = eta_vap * eta_mix * eta_HL      (engine/pipeline/combustion_physics.py, combustion_eff.py)

Reference numbers were generated once and are pinned here, because CI has neither rocketcea nor the
time to rebuild them:
  * CEA: rocketcea 1.2.3, LOX / Ethanol cards, the ethanol card's h,cal lowered by dh (1+O/F) M_EtOH
    so the mixture loses dh = 188 kJ/kg (or Q/mdot at the design point).
  * CoolProp 7.2.0 saturation states.

Function Documentation

◆ _advanced_params()

test_cstar_efficiency_physics._advanced_params ( Q_by_source,
cooling_eff )
protected
A minimal eta_cstar call around the design point with a synthetic cooling result.

Definition at line 88 of file test_cstar_efficiency_physics.py.

References _peaked_cstar().

Referenced by test_eta_cstar_charges_wall_heat_by_the_energy_balance().

◆ _design_streams()

test_cstar_efficiency_physics._design_streams ( Pc,
k = 1.0,
MR = 1.47 )
protected

Definition at line 157 of file test_cstar_efficiency_physics.py.

Referenced by _eta_vap().

◆ _eta_vap()

test_cstar_efficiency_physics._eta_vap ( Lstar,
k = 1.0 )
protected

◆ _evaluate()

◆ _old_linear_factor()

test_cstar_efficiency_physics._old_linear_factor ( Q,
mdot,
Tc,
gamma,
R )
protected
The formula the chamber solver used: 1 - Q/(mdot cp T_eff), T_eff = Tc - Q/(mdot cp).

Definition at line 53 of file test_cstar_efficiency_physics.py.

Referenced by test_eta_cstar_charges_wall_heat_by_the_energy_balance().

◆ _peaked_cstar()

test_cstar_efficiency_physics._peaked_cstar ( Pc)
protected
Smooth peaked c*(O/F) (1725 exp(-0.3 ln(MR/1.5)^2) m/s): the heat-loss tests need only a c*
source for the mixing and vaporized-gas ratios, which cancel between the hot and cold calls.

Definition at line 79 of file test_cstar_efficiency_physics.py.

Referenced by _advanced_params(), and test_no_chamber_kinetic_loss_and_no_mixture_ratio_steps().

◆ _with_lstar()

test_cstar_efficiency_physics._with_lstar ( cfg,
L )
protected

◆ ethalox()

test_cstar_efficiency_physics.ethalox ( )

Definition at line 316 of file test_cstar_efficiency_physics.py.

◆ test_coarser_spray_costs_cstar()

test_cstar_efficiency_physics.test_coarser_spray_costs_cstar ( ethalox,
monkeypatch )
CE-1: vaporization was saturated at 1.0, so atomization never reached c*. Doubling the Ingebo
prefactor doubles D32 and must cost at least a point of eta_c*.

Definition at line 321 of file test_cstar_efficiency_physics.py.

References _evaluate().

◆ test_design_cstar_breakdown_is_reported()

test_cstar_efficiency_physics.test_design_cstar_breakdown_is_reported ( ethalox,
monkeypatch )
The breakdown is reported with the answer, with the Rupe E_m that set the mixing term.

Definition at line 352 of file test_cstar_efficiency_physics.py.

References _evaluate().

◆ test_design_cstar_efficiency_is_in_the_unlike_doublet_band()

test_cstar_efficiency_physics.test_design_cstar_efficiency_is_in_the_unlike_doublet_band ( ethalox,
monkeypatch )

Definition at line 373 of file test_cstar_efficiency_physics.py.

References _evaluate().

◆ test_drops_evaporate_at_their_saturation_state_at_pc()

test_cstar_efficiency_physics.test_drops_evaporate_at_their_saturation_state_at_pc ( P,
Tb,
Lb,
M,
Tcrit,
T_ref,
h_ref )
Clausius-Clapeyron + Watson against CoolProp: T within 1.5 %, h_fg within 10 %.

Definition at line 135 of file test_cstar_efficiency_physics.py.

◆ test_eta_cstar_charges_wall_heat_by_the_energy_balance()

test_cstar_efficiency_physics.test_eta_cstar_charges_wall_heat_by_the_energy_balance ( )
End to end: the factor eta_cstar applies is CEA's c* ratio, not the caller's linear factor.

Definition at line 109 of file test_cstar_efficiency_physics.py.

References _advanced_params(), and _old_linear_factor().

◆ test_every_efficiency_field_is_read_or_marked_inert()

test_cstar_efficiency_physics.test_every_efficiency_field_is_read_or_marked_inert ( )
A key nothing reads must say so, or the Parameters workspace offers a knob that does nothing.

Definition at line 380 of file test_cstar_efficiency_physics.py.

◆ test_gasification_heat_up_and_evaporation_add()

test_cstar_efficiency_physics.test_gasification_heat_up_and_evaporation_add ( )
Heating a drop and then gasifying it are successive stages; the lifetime is their sum
(Law 1982). They were combined as parallel rates, making the lifetime shorter than either.

Definition at line 147 of file test_cstar_efficiency_physics.py.

References max.

◆ test_heat_loss_factor_matches_cea_at_the_design_point()

test_cstar_efficiency_physics.test_heat_loss_factor_matches_cea_at_the_design_point ( )

Definition at line 61 of file test_cstar_efficiency_physics.py.

◆ test_heat_loss_factor_tracks_cea_across_the_envelope()

test_cstar_efficiency_physics.test_heat_loss_factor_tracks_cea_across_the_envelope ( Pc_psia,
MR,
Tc,
M,
gamma,
cea_ratio )
sqrt(1 - x) is 0.94-1.34x CEA's loss over the ethalox envelope; the linear form was 1.9-2.7x.

Definition at line 70 of file test_cstar_efficiency_physics.py.

◆ test_heat_returned_to_the_propellant_is_not_a_cstar_loss()

test_cstar_efficiency_physics.test_heat_returned_to_the_propellant_is_not_a_cstar_loss ( )
Regenerative heat rides back to the injector with the coolant; film coolant stays in the flow.

Definition at line 120 of file test_cstar_efficiency_physics.py.

◆ test_lstar_buys_vaporization_until_heat_loss_wins()

test_cstar_efficiency_physics.test_lstar_buys_vaporization_until_heat_loss_wins ( ethalox,
monkeypatch )
CE-2: eta_c* must rise from a short chamber, with an interior optimum -- not fall from the
minimum L* as the kinetics surrogate and the 2x heat-loss term made it.

Definition at line 342 of file test_cstar_efficiency_physics.py.

References _evaluate(), and _with_lstar().

◆ test_missing_inputs_are_named_not_hidden()

test_cstar_efficiency_physics.test_missing_inputs_are_named_not_hidden ( )
A stream without properties is taken as vaporized at the face and says so; without the
injector's u_axial_spray the drops start with the pair's axial momentum per unit mass.

Definition at line 239 of file test_cstar_efficiency_physics.py.

◆ test_mixing_peaks_at_rupe_optimum_and_ignores_angles()

test_cstar_efficiency_physics.test_mixing_peaks_at_rupe_optimum_and_ignores_angles ( )
E_m is best at M = rupe_M_opt and falls off symmetrically in N_R = M/(1+M) (JPL TR 32-1546
Fig. 1); M comes from the jet state and the impingement angles do not enter.

Definition at line 264 of file test_cstar_efficiency_physics.py.

◆ test_no_chamber_kinetic_loss_and_no_mixture_ratio_steps()

test_cstar_efficiency_physics.test_no_chamber_kinetic_loss_and_no_mixture_ratio_steps ( )
Products relax in ~1 us against a ~1 ms stay time. With the vaporization term pinned (model
constant) and a Pc-independent c* curve, eta must not move with Pc and Tc at all, and must move
smoothly with O/F (only through the c* curve) across the old 1.5 plateau edge.

Definition at line 287 of file test_cstar_efficiency_physics.py.

References _peaked_cstar().

◆ test_resultant_tilt_balance_includes_the_orifice_area_ratio()

test_cstar_efficiency_physics.test_resultant_tilt_balance_includes_the_orifice_area_ratio ( )
mdot_O u_O sin(th_O) = mdot_F u_F sin(th_F) => R = (d_F/d_O) sqrt(sin th_F / sin th_O).

Definition at line 280 of file test_cstar_efficiency_physics.py.

◆ test_rupe_parameter_is_elverum_morey_eq_1()

test_cstar_efficiency_physics.test_rupe_parameter_is_elverum_morey_eq_1 ( )

Definition at line 259 of file test_cstar_efficiency_physics.py.

◆ test_spray_march_matches_an_independent_single_drop_integration()

test_cstar_efficiency_physics.test_spray_march_matches_an_independent_single_drop_integration ( )
With the marched stream a trace in an already-burned flow, U_g = U_c and each size class is an
isolated drop. Integrate the documented equations with scipy for fine classes and compare.

Definition at line 184 of file test_cstar_efficiency_physics.py.

References max.

◆ test_supercritical_drop_has_no_latent_heat()

test_cstar_efficiency_physics.test_supercritical_drop_has_no_latent_heat ( )

Definition at line 142 of file test_cstar_efficiency_physics.py.

◆ test_vaporization_rises_with_lstar_and_falls_with_drop_size()

test_cstar_efficiency_physics.test_vaporization_rises_with_lstar_and_falls_with_drop_size ( )

Definition at line 175 of file test_cstar_efficiency_physics.py.

References _eta_vap().

Variable Documentation

◆ _AT

float test_cstar_efficiency_physics._AT = 1.5337e-3
protected

Definition at line 166 of file test_cstar_efficiency_physics.py.

◆ _GAS

test_cstar_efficiency_physics._GAS = dict(Pc=2.92e6, Tc=3226.0, gamma=1.1375, R=373.57, m_dot_total=2.718, Ac=math.pi * 0.0635 ** 2)
protected

Definition at line 165 of file test_cstar_efficiency_physics.py.

◆ CEA_HEAT_LOSS

list test_cstar_efficiency_physics.CEA_HEAT_LOSS
Initial value:
1= [
2 (200.0, 1.0, 2350.93, 18.4072, 1.22426, 0.982815),
3 (200.0, 1.3, 2964.33, 20.8488, 1.15791, 0.988492),
4 (200.0, 1.5, 3153.81, 22.0964, 1.13183, 0.991723),
5 (200.0, 1.8, 3244.53, 23.4859, 1.12024, 0.993283),
6 (200.0, 2.2, 3244.40, 24.8609, 1.11787, 0.993158),
7 (430.0, 1.0, 2354.56, 18.4134, 1.22718, 0.982799),
8 (430.0, 1.3, 3004.18, 20.9271, 1.16603, 0.988021),
9 (430.0, 1.5, 3225.45, 22.2483, 1.13757, 0.991223),
10 (430.0, 1.8, 3336.15, 23.6965, 1.12375, 0.993102),
11 (430.0, 2.2, 3337.74, 25.0891, 1.12107, 0.993014),
12 (800.0, 1.0, 2356.70, 18.4171, 1.22894, 0.982792),
13 (800.0, 1.3, 3031.56, 20.9812, 1.17232, 0.987711),
14 (800.0, 1.5, 3280.31, 22.3655, 1.14253, 0.990795),
15 (800.0, 1.8, 3410.87, 23.8707, 1.12661, 0.992943),
16 (800.0, 2.2, 3414.46, 25.2795, 1.12363, 0.992894),
17]

Definition at line 31 of file test_cstar_efficiency_physics.py.

◆ DESIGN

test_cstar_efficiency_physics.DESIGN = dict(Pc=2976827.09, MR=1.5013044, mdot=2.8151867, Tc=3226.756, M=22.256595, gamma=1.137481)

Definition at line 49 of file test_cstar_efficiency_physics.py.

◆ DESIGN_CEA_RATIO

test_cstar_efficiency_physics.DESIGN_CEA_RATIO

Definition at line 50 of file test_cstar_efficiency_physics.py.

◆ DESIGN_Q_W

test_cstar_efficiency_physics.DESIGN_Q_W

Definition at line 50 of file test_cstar_efficiency_physics.py.

◆ PSI

float test_cstar_efficiency_physics.PSI = 6894.757293168

Definition at line 27 of file test_cstar_efficiency_physics.py.

◆ R_U

float test_cstar_efficiency_physics.R_U = 8314.462618

Definition at line 28 of file test_cstar_efficiency_physics.py.

◆ ROOT

test_cstar_efficiency_physics.ROOT = Path(__file__).resolve().parents[1]

Definition at line 26 of file test_cstar_efficiency_physics.py.