models.feed_systems.components¶
Static, immutable descriptions of the physical components a feed-system cycle is built from. The classes in this sub-package do not contain integration state and never mutate during a simulation. Cycle implementations in machwave.models.feed_systems.cycles read these specifications and combine them with the live tank state and chamber conditions to compute mass flow, head rise, and shaft power.
PumpSpec— A propellant pump at its design point: isentropic efficiency, pressure rise, volumetric flow, and shaft speed.TurbineSpec— A turbine at its design point: isentropic efficiency, pressure ratio, inlet temperature, and mass flow.GasGeneratorSpec— The gas generator driving the turbine in a gas-generator cycle, or the preburner in a staged-combustion cycle: mixture ratio, chamber pressure, gas temperature, and mass flow.RegenerativeJacketSpec— A regenerative cooling jacket wrapping the combustion chamber and nozzle: pressure drop, coolant temperature rise, and heat pickup.
Every spec is a frozen, keyword-only dataclass with __post_init__ validation; construction with an out-of-range value raises ValueError. Each field, its units and its bounds are documented on the class below.
Specs that carry property curves (e.g. pump head versus volumetric flow, turbine efficiency versus pressure ratio) wrap their tabulated data in machwave.core.interpolation.BoundedCubicSpline, which raises rather than extrapolating outside the calibrated knots.
machwave.models.feed_systems.components
¶
Shared component specifications consumed by feed-system cycle implementations.
GasGeneratorSpec
dataclass
¶
Gas generator driving a turbopump turbine.
Attributes:
| Name | Type | Description |
|---|---|---|
name |
str
|
Identifier used in logs and reports. |
mixture_ratio |
float
|
Oxidizer to fuel mass ratio in the gas generator (>0). |
chamber_pressure |
float
|
Combustion chamber pressure of the gas generator [Pa] (>0). |
gas_temperature |
float
|
Combustion total temperature delivered to the turbine inlet [K] (>0). |
mass_flow |
float
|
Total propellant mass flow through the gas generator [kg/s] (>0). |
Raises:
| Type | Description |
|---|---|
ValueError
|
If any field is outside its valid physical range. |
Source code in machwave/models/feed_systems/components/gas_generator.py
__post_init__()
¶
Validate that every field lies in its physical range.
Source code in machwave/models/feed_systems/components/gas_generator.py
PumpSpec
dataclass
¶
Propellant pump used by turbopump cycles.
Attributes:
| Name | Type | Description |
|---|---|---|
name |
str
|
Identifier used in logs and reports. |
isentropic_efficiency |
float
|
Ratio of isentropic enthalpy rise to actual enthalpy rise. Must lie between 0 and 1. |
pressure_rise |
float
|
Pressure rise across the pump [Pa] (>0). |
volumetric_flow_design |
float
|
Volumetric flow through the pump [m^3/s] (>0). |
shaft_speed_design |
float
|
Shaft angular speed [rad/s] (>0). |
Raises:
| Type | Description |
|---|---|
ValueError
|
If any field is outside its valid physical range. |
Source code in machwave/models/feed_systems/components/pump.py
__post_init__()
¶
Validate that every field lies in its physical range.
Source code in machwave/models/feed_systems/components/pump.py
RegenerativeJacketSpec
dataclass
¶
Regenerative cooling component around the chamber and nozzle.
Attributes:
| Name | Type | Description |
|---|---|---|
name |
str
|
Identifier used in logs and reports. |
pressure_drop |
float
|
Total coolant pressure drop across the jacket [Pa] (>0). |
coolant_temperature_rise |
float
|
Coolant total temperature rise from jacket inlet to outlet [K] (>0). |
heat_pickup |
float
|
Heat power absorbed by the coolant across the jacket [W] (>=0). |
Raises:
| Type | Description |
|---|---|
ValueError
|
If any field is outside its valid physical range. |
Source code in machwave/models/feed_systems/components/regenerative_jacket.py
__post_init__()
¶
Validate that every field lies in its physical range.
Source code in machwave/models/feed_systems/components/regenerative_jacket.py
TurbineSpec
dataclass
¶
Turbine used by turbopump cycles.
Attributes:
| Name | Type | Description |
|---|---|---|
name |
str
|
Identifier used in logs and reports. |
isentropic_efficiency |
float
|
Ratio of actual specific work extracted to the isentropic specific work available across the turbine. Must be between 0 and 1. |
pressure_ratio |
float
|
Ratio of turbine inlet total pressure to outlet total pressure. Greater than 1. |
inlet_temperature_design |
float
|
Total temperature at the turbine inlet [K] (>0). |
mass_flow_design |
float
|
Mass flow through the turbine [kg/s] (>0). |
Raises:
| Type | Description |
|---|---|
ValueError
|
If any field is outside its valid physical range. |
Source code in machwave/models/feed_systems/components/turbine.py
__post_init__()
¶
Validate that every field lies in its physical range.