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

Functions

None _set (dict d, str dotted, value)
dict blank_config (str injector, str propellant)
Path build_case_config (dict case, Path out_dir)
dict run_case (dict case, Path out_dir, int workers, int timeout)
None main ()

Variables

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

Detailed Description

Run Layer 1 on many cases at once and collect the results.

    python3 scripts/layer1_sweep.py cases.json --out runs/ --parallel 3 --workers 3

``cases.json`` is a list of cases::

    {"name": "6500N_seed1", "config": "configs/ethalox_6500N.yaml",
     "set": {"design_requirements.layer1_random_seed": 1, "design_requirements.target_thrust": 6500}}

``config`` may also be ``"blank:impinging:ethalox"``: the canonical impinging config with the
ethalox preset switched in, exactly what a user gets from a new design in the UI.

Each case runs ``scripts/layer1_run.py`` in its own process (``ED_L1_WORKERS`` = --workers), so
a crash or hang in one case cannot take the sweep down. Writes, per case, ``<name>.json`` (summary),
``<name>_config.yaml`` (the optimised design), ``<name>.log``, and one ``summary.json`` for all.

Function Documentation

◆ _set()

None layer1_sweep._set ( dict d,
str dotted,
value )
protected

Definition at line 35 of file layer1_sweep.py.

Referenced by build_case_config().

◆ blank_config()

dict layer1_sweep.blank_config ( str injector,
str propellant )
What the UI hands a user who starts a new design: the canonical config for the injector
type, with the propellant preset switched in.

Definition at line 44 of file layer1_sweep.py.

Referenced by build_case_config().

◆ build_case_config()

Path layer1_sweep.build_case_config ( dict case,
Path out_dir )

Definition at line 52 of file layer1_sweep.py.

References _set(), and blank_config().

Referenced by run_case().

◆ main()

None layer1_sweep.main ( )

Definition at line 99 of file layer1_sweep.py.

References main().

Referenced by main().

◆ run_case()

dict layer1_sweep.run_case ( dict case,
Path out_dir,
int workers,
int timeout )

Definition at line 67 of file layer1_sweep.py.

References build_case_config(), and time.time().

Variable Documentation

◆ ROOT

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

Definition at line 31 of file layer1_sweep.py.