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

Functions

tuple _cea_names (Any cfg)
 _live_cea (Any cfg)
 _table_cstar (Any cfg, float Pc, float MR)
Dict[str, Any] handcheck (Any cfg, Mapping[str, Any] r, float PO, float PF)

Variables

float PSI = 6894.757
float G0 = 9.80665
tuple NO_ROCKETCEA

Detailed Description

Re-derive a design's headline numbers by hand and set them beside the model's.

Nothing here calls the engine's physics: thermochemistry comes from NASA CEA through rocketcea (or,
where rocketcea is not installed, c* from the committed wide CEA table and nothing else),
everything else from the textbook relation named on its row. ``handcheck`` takes a solved result
(``PintleEngineRunner.evaluate``) and returns the rows; scripts/design_handcheck.py prints them and
forward mode shows them in its independent-check box.

A row is flagged when the two disagree by more than its tolerance, or when a design-practice bound
is not met.

Function Documentation

◆ _cea_names()

tuple engine.pipeline.handcheck._cea_names ( Any cfg)
protected

Definition at line 27 of file handcheck.py.

Referenced by _live_cea(), and _table_cstar().

◆ _live_cea()

engine.pipeline.handcheck._live_cea ( Any cfg)
protected
rocketcea's CEA_Obj for the design's propellants, or None where rocketcea is not installed.

Definition at line 32 of file handcheck.py.

References _cea_names().

Referenced by handcheck().

◆ _table_cstar()

engine.pipeline.handcheck._table_cstar ( Any cfg,
float Pc,
float MR )
protected
c* [m/s] from the committed wide CEA table (O/F 0.1–20, its own grid and interpolation), or
None if the pair has none. Built from CEA's equilibrium chamber like the trilinear cache the
model reads, but on a different grid -- so it catches a stale cache or a clamped O/F.

Definition at line 42 of file handcheck.py.

References _cea_names().

Referenced by handcheck().

◆ handcheck()

Dict[str, Any] engine.pipeline.handcheck.handcheck ( Any cfg,
Mapping[str, Any] r,
float PO,
float PF )
Rows ``{quantity, model, hand, diff, ok, source, kind}`` (kind: "compare" or "bound") and the
flags, for result ``r`` of ``cfg`` at tank pressures PO, PF [Pa].

Without rocketcea (the deployed API image) the textbook rows still run, c* is checked against
the committed wide table, and the rows that need live CEA say so; ``note`` carries why.

Definition at line 55 of file handcheck.py.

References _live_cea(), _table_cstar(), info, and max.

Variable Documentation

◆ G0

float engine.pipeline.handcheck.G0 = 9.80665

Definition at line 18 of file handcheck.py.

◆ NO_ROCKETCEA

tuple engine.pipeline.handcheck.NO_ROCKETCEA
Initial value:
1= ("rocketcea is not installed here: c* is checked against the committed wide CEA "
2 "table; Tc, γ, Cf and exit pressure need live CEA and are not checked")

Definition at line 23 of file handcheck.py.

◆ PSI

float engine.pipeline.handcheck.PSI = 6894.757

Definition at line 17 of file handcheck.py.