| Stainless, as-rolled | 0.25–0.35 |
| Stainless, heavily oxidized | 0.70–0.85 |
| Copper, polished | 0.03–0.05 |
| Copper, oxidized | 0.60–0.80 |
| Graphite / carbon–carbon | 0.80–0.90 |
| Niobium C-103, R-512E silicide | 0.85–0.90 |
| High-ε ceramic coating (Pyromark 2500, black zirconia) | 0.90–0.95 |
Total hemispherical emissivity, hot. It is a property of the outer surface only, and it moves a lot with finish and time in service — a bare metal that oxidizes in its first firing radiates far better afterwards.
This tool minimizes Gibbs free energy by the element-potential (Lagrange) method — the same
approach as NASA CEA (Gordon & McBride, RP-1311). Species thermodynamics come from the
NASA 9-coefficient polynomial database (thermo.inp, github.com/nasa/cea).
Chamber: adiabatic (assigned-enthalpy) combustion at chamber pressure. Throat & exit: shifting-equilibrium isentropic expansion; the throat is the pressure that maximizes mass flux (the sonic point), and the exit is expanded to the exit pressure you specify — so ε = Aₑ/Aₜ follows from Pc/Pe.
Delivered vs ideal: the equilibrium solution is loss-free — it is the ceiling, not what an engine delivers. Results are therefore corrected by η = ηc* · λ · ηf: a c* efficiency for combustion losses (incomplete mixing and reaction, heat lost to the walls), the conical divergence λ = (1+cos α)/2 computed from your divergent half-angle, and a friction/boundary-layer factor. Both entered factors default to typical values and can be set to 1 for the ideal result. Sizing follows the delivered numbers — a less efficient engine needs a bigger throat for the same thrust. Finite-rate kinetics are not corrected for: shifting equilibrium is the optimistic end of that bracket.
Throat contour: a circular arc of radius R = k·Rₜ (you set k, default 1.5) blends the throat into the convergent and divergent cones. It lengthens both contours, and the cylindrical chamber shortens to keep the chamber volume at L*·Aₜ. The same R is applied both sides; k → 0 gives a sharp-cornered throat.
Chamber thermals: optional, and a post-process on the converged solve — the Bartz correlation (NASA/JPL 1957) for the gas-side film coefficient hg along the wall, driven by the local recovery temperature: q = hg(Taw − Twg). Local Mach comes from the isentropic area relation at the frozen chamber γ, viscosity and Prandtl number from the correlations Bartz pairs with his equation, and the heat load is q integrated over the wall as a surface of revolution.
Two mutually exclusive wall models close the problem at the wall. Constant wall temperature — you assign Twg over the whole contour, and heat flux is the answer. Radiation cooled — a radiating wall in steady state, where the wall temperature is the answer: one flux crosses the gas film, the wall thickness and the radiating outer face, hg(Taw − Twg) = (k/t)(Twg − Twc) = εσ(Twc⁴ − Tsink⁴), solved station by station. Peak wall temperatures are checked against the materials that would have to survive them, and a radiation-cooled chamber or throat will usually come out unsurvivable — which is why radiation cooling is a nozzle-extension technique.
Not modelled either way: coolant-side heat transfer (regenerative cooling), film cooling, gas radiation to the wall, and axial conduction along it. A radiating wall is assumed to see open surroundings (view factor 1) over an area equal to the gas-side area. All of it inherits Bartz's bias — the uncooled clean-gas bound, running high on sooting hydrocarbons and least trustworthy at the chamber wall, which in radiation mode surfaces as a pessimistic wall temperature.
Assumptions & limits: quasi-1D, ideal-gas products, C/H/O/N chemistry (27 gas
species; condensed carbon/soot is not modeled). Nozzle is a straight cone; λ is the conical
divergence efficiency — derate delivered thrust/Isp by it for a real cone. Reactant inlet enthalpies
are editable in src/propellants.js. Results validate to within ~1% of CEA on common
propellants; treat as preliminary-design grade.