prometheus_equilibrium.tools.build_propellants

Build propellants.toml from legacy PEPCODED.DAF.

The DAF record layout is fixed-width and documented in-file as: A1,I5,A30,6(I3,A2),F5.0,F6.0.

This tool parses each ingredient record, computes SI values, assigns roles using chemistry-first heuristics, and writes a deterministic TOML ingredient list.

Functions

build_propellants_toml(daf_path, out_path)

Build propellants.toml from PEPCODED.DAF.

main()

CLI entrypoint.

parse_daf(path)

Parse all ingredient records from PEPCODED.DAF.

Classes

PepIngredient(seq, flags, name, elements, ...)

Parsed PEP ingredient record.

TomlIngredient(id, name, elements, ...)

Prepared TOML ingredient record.

class prometheus_equilibrium.tools.build_propellants.PepIngredient(seq: int, flags: str, name: str, elements: Dict[str, float], heat_cal_per_g: float, density_lb_per_in3: float)

Bases: object

Parsed PEP ingredient record.

seq: int
flags: str
name: str
elements: Dict[str, float]
heat_cal_per_g: float
density_lb_per_in3: float
class prometheus_equilibrium.tools.build_propellants.TomlIngredient(id: str, name: str, elements: Dict[str, float], molar_mass: float, dHf298: float, density: float, roles: List[str], pep_line: int, pep_flags: str)

Bases: object

Prepared TOML ingredient record.

id: str
name: str
elements: Dict[str, float]
molar_mass: float
dHf298: float
density: float
roles: List[str]
pep_line: int
pep_flags: str
prometheus_equilibrium.tools.build_propellants.parse_daf(path: Path) List[PepIngredient]

Parse all ingredient records from PEPCODED.DAF.

Parameters:

path – Input DAF path.

Returns:

Parsed ingredient records.

prometheus_equilibrium.tools.build_propellants.build_propellants_toml(daf_path: Path, out_path: Path) int

Build propellants.toml from PEPCODED.DAF.

Parameters:
  • daf_path – Input DAF path.

  • out_path – Output TOML path.

Returns:

Number of emitted [[ingredient]] records.

prometheus_equilibrium.tools.build_propellants.main() None

CLI entrypoint.