A generic, algorithm-driven platform that derives complete propulsion system geometry entirely from first principles. You provide the mission — thrust, pressure, propellant, mixture ratio. Oberth Forge computes every dimension, every thermal boundary, every channel, every surface and outputs a manufacturing-ready 3D model optimised for direct metal additive manufacturing.
Traditional CAD models geometry by hand. Oberth Forge inverts this entirely — every shape is a consequence of physics. Change one input and the entire engine geometry recomputes in seconds.
The Computational Engineering Model (CEM) is inspired by the LEAP 71 Noyron framework — the idea that engineering geometry should be encoded as algorithm, not drawn as lines. A CEM is a program that embeds the full engineering knowledge of a component: its governing physics, its manufacturing constraints, and its performance targets, all in one executable model.
Oberth Forge is a generic CEM platform. The rocket engine module is its first implementation — but the architecture is designed to accommodate any propulsion sub-system: turbopumps, heat exchangers, valve bodies, combustion chambers, and more. The platform is not rocket-specific; it is physics-specific.
The key principle: every geometric dimension must be derivable from first principles. If a dimension cannot be derived, it must be explicitly justified as a design choice. Nothing is arbitrary.
A strict, deterministic cascade — each stage depends only on the outputs of its predecessors. No feedback loops, no iteration except the explicit thermal channel sizing loop.
Thrust (kN), chamber pressure (bar), O/F ratio, propellant pair, ambient pressure. Four numbers replace thousands of CAD decisions.
c*, C_F, I_sp, mass flows, chamber temperature — all analytically resolved. The throat area A_t is the master dimension from which everything else is derived.
Contraction ratio sets R_c. Rao bell solved by quadratic Bézier with θ_n, θ_e control angles. Divergent length from 80%-cone approximation. Cooling jacket sized to 1×R_t.
300-station 1D marching model. Gaussian heat-flux profile (peak 60 MW/m² at throat). Channel radius iterated across 4 scale candidates until T_wall < 800 K and T_cool < coking limit.
Parametric shell union → inner flow path subtraction → helical channel subtraction → injector faceplate → aerospike spike (optional). All at 0.4 mm voxel resolution.
Marching cubes → manifold repair → watertightness validation. Auto-retry loop increases wall thickness by 0.2 mm per attempt. Final output: LPBF-ready STL.
At the heart of Oberth Forge is a custom 3D boolean voxel kernel — a PicoGK-inspired geometry engine where engineering intent is expressed as field operations, not surface sketches.
The engine is a 3D NumPy boolean array where True = CuCrZr solid and False = void. No B-rep, no NURBS — just a field of material presence.
add_parametric_nozzle() fills an axially-variable annular region slice-by-slice from interpolated inner/outer radius profiles. One call builds the entire chamber and nozzle wall.
Channels follow θ(x) = θ₀ + 2π·x/pitch. The helical advance is chosen to keep the LPBF overhang angle below 45° — a DfAM rule embedded directly in the algorithm, not applied after the fact.
Binary dilation (scipy.ndimage) with iterations = ⌈extra_thickness / voxel_size⌉ adds material to every exposed surface — a topology-safe operation valid for any geometry.
skimage.measure.marching_cubes at level=0.5 extracts the isosurface from the boolean field. The volume is padded by one voxel border to guarantee a fully closed, watertight surface.
Degenerate face removal → duplicate face removal → hole fill → normal inversion fix → unreferenced vertex cleanup. Watertightness is the acceptance criterion, not mesh quality score.
Oberth Forge is not a single-engine tool. It is a growing library of CEM modules — each encoding the full physics and DfAM rules for one propulsion sub-system. Every module produces geometry automatically from its governing equations.
Cylindrical combustion chamber with cosine-interpolated convergent section. Contraction ratio ε_c, chamber length L_cyl, and convergent length all derived from R_t. Wall thickness enforced at 0.8 mm minimum.
ImplementedThrust-optimised parabolic bell at 80% conical length. Quadratic Bézier N→Q→E parameterised by entry angle θ_n=30° and exit angle θ_e=7°. Sampled at 600 points and voxelised at 0.4 mm.
ImplementedHelical channels carved from the outer wall at variable cross-section. Radius increases near throat (high heat flux) and decreases at exit. 1D thermal model enforces T_wall and T_coolant limits.
ImplementedAnnular aerospike mode for methalox. Central spike tapers from 0.8R_t to 0.05R_t. Outer annular plug wall defines the expansion flow. MOC-based spike contour is planned for v2.0.
In DevelopmentPreliminary turbopump sizing model: inducer-impeller geometry, pump head-flow matching, turbine work balance. Shaft speed, impeller diameter, and specific speed derived from propellant mass flow and pressure rise requirements.
Phase 1 — RefinementRegular array of axial orifices distributing propellants across the injector face. Orifice count, diameter, and pitch derived from total mass flow and target injection velocity.
In DevelopmentCo- or counter-swirl introduced to both fuel and oxidiser streams via helical vanes. Swirl number, vane geometry, and element count derived from momentum flux ratio and atomisation targets.
In DevelopmentInlet and outlet manifold geometry connecting external feedlines to the channel array. Uniform pressure distribution requires matched impedance — geometry derived from flow network analysis.
In DevelopmentMounting flange and thrust transfer ring at the injector end. Bolt-circle geometry, fillet radii, and wall thickness derived from the thrust load and LPBF minimum feature size constraints.
ScopedThe regenerative cooling channel design is the most algorithmically complex part of the current CEM. It couples heat transfer, fluid mechanics, and material limits in a single iterative loop.
The engine axis is discretised into 300 equally-spaced axial stations. At each station, the algorithm knows the local inner radius r(x), the hot-gas temperature T_g, and the local heat flux q(x).
The heat flux profile approximates the well-known Gaussian-peaked distribution characteristic of regeneratively-cooled engines — peaking at the throat (where gas velocity and temperature are highest) and falling off in both the chamber and nozzle exit. The peak is set to 60 MW/m², consistent with the 0.8–80 MW/m² range reported for real LOX/HC engines.
At each station, a three-layer conduction chain is solved in sequence: hot-gas convection to the inner wall surface → Fourier conduction through the copper wall → forced convection from the outer wall surface to the coolant bulk. The coolant bulk temperature advances axially from the inlet using the local heat addition, giving a marching integration over the full engine length.
Channel cross-section is then iteratively scaled across four candidate scale factors until both T_wall_max < 800 K (CuCrZr limit) and T_cool_max < the coking temperature of the propellant are satisfied. The final channel radius profile varies continuously with axial position, producing a geometry that is thermally optimal — not constant-diameter, as in many hand-designed engines.
Each version of Oberth Forge replaces an analytical approximation with a rigorous numerical solver. The platform is designed so that solvers are hot-swappable modules — upgrading one does not break the rest of the cascade.
Quadratic Bézier curve defined by three control points: N (throat), Q (tangent intersection), and E (exit). Entry angle θ_n = 30° and exit angle θ_e = 7° define Q by intersecting tangent lines from N and E. Accurate to ±2% thrust vs full MOC at typical expansion ratios.
MOC is the rigorous technique for designing shock-free supersonic nozzles. Characteristic lines (Mach waves) are traced through the diverging flow field to find the exact wall shape that produces parallel, uniform, shock-free exit flow with maximum thrust. Applicable to bell nozzles, plug nozzles, and aerospike contours.
The 1D lumped model will be replaced by a 2D finite-element solver on a structured quad mesh over the channel cross-section. This captures circumferential temperature gradients between channel centrelines and fin walls — critical for fatigue life prediction in LPBF CuCrZr.
Replace fixed c* and T_c values with full Chemical Equilibrium and Applications (CEA) combustion chemistry. This enables accurate multi-species thermochemistry as a function of O/F ratio, chamber pressure, and propellant blend — replacing the current constant approximations with true thermodynamic tables.
Bi-swirl coaxial injector design from momentum flux ratio and Weber number criteria. Swirl vane geometry (helix angle, vane count, port area) derived to achieve target Sauter Mean Diameter (SMD) in the spray. Showerhead element count and spacing from uniform face loading requirement.
Once all sub-system CEMs are implemented, a top-level optimiser will sweep the design space — maximising I_sp and engine T/W while minimising wall temperature, coolant pressure drop, and total engine mass. The geometry recomputes at every candidate point, not just post-processes it.
Geometry that cannot be manufactured is worthless. Every structural and topological choice in Oberth Forge is made with LPBF (Laser Powder Bed Fusion) in mind — in CuCrZr alloy, the state-of-the-art material for high-heat-flux rocket engine walls.
The turbopump is the heart of a high-performance liquid rocket propulsion system. Oberth Forge implements a first-principles turbopump sizing CEM — deriving shaft speed, impeller geometry, and turbine work from propellant mass flow and target pressure rise, with no empirical hand-tuning.
A liquid rocket turbopump must raise propellant pressure from tank supply (typically 2–5 bar) to chamber injection pressure (20–200 bar) at high mass flow rates, with minimum dead mass. Unlike a pump selected from a catalogue, a CEM-based turbopump is fully derived from the mission requirements — thrust, chamber pressure, and propellant densities are the only inputs.
The fundamental tool is the dimensionless specific speed N_s — a shape parameter that classifies pump geometry without specifying any absolute dimension. Low N_s implies a radial centrifugal impeller; high N_s implies an axial design. The Cordier diagram maps N_s to the optimal diameter-based specific diameter D_s, establishing the best impeller shape for maximum efficiency before a single dimension is drawn.
The turbine side drives the shaft using either a gas generator (GG) cycle, a preburner exhaust (staged combustion), or an expander cycle where regenerative coolant provides the driving enthalpy. Oberth Forge models the GG cycle for the Phase 1 implementation — the turbine nozzle area and pressure ratio are solved from the required shaft power and available driving enthalpy.
Phase 1 delivers a mass-and-geometry sizing model: shaft speed, impeller outer diameter, inducer geometry, turbine stage count, and approximate rotor mass. Full 3D blade geometry and voxel-based impeller model are targeted for v2.0 refinement.
Impeller outer diameter D_2 derived from Euler turbomachinery equation: H = U_2·C_u2 / g. Blade exit angle β_2 set to 20–30° (backward-swept) for stable head-flow curve. Exit width b_2 from continuity at target axial velocity C_m2. Blade count from Pfleiderer solidity rule.
The inducer suppresses cavitation at the impeller eye by pre-accelerating the inlet flow. Tip diameter from Thoma cavitation coefficient σ_T and NPSH available. Hub-to-tip ratio set from empirical range 0.3–0.5. Blade wrap angle sized to achieve inlet flow coefficient φ = 0.07–0.12.
GG burns a small fraction of propellant (typically 2–4% of total flow) at fuel-rich conditions (T_drive ≈ 850–1000 K) to produce the driving gas. Turbine nozzle throat area from choked flow with driving temperature and pressure. Velocity ratio u/c_0 set to 0.4–0.5 for impulse stage efficiency peak.
Required shaft power: P_shaft = (ṁ_ox·ΔP_ox / η_ox + ṁ_f·ΔP_f / η_f) / η_mech. Turbine output: P_turb = ṁ_drive · c_p · T_0 · η_t · (1 − (P_exit/P_inlet)^((γ−1)/γ)). These are equated to find the required ṁ_drive — the GG bleed fraction.
Shaft diameter from combined torsion and bending loads at design speed. Critical speed margin checked (operating N < 0.75·N_critical). Bearing DN number kept below material limit. Axial thrust force balanced via back-facing shroud geometry or balance drum — geometry derived from impeller exit pressure distribution.
Phase 1 output is an analytical mass budget and envelope box: impeller diameter D_2, inducer tip diameter D_1t, turbine rotor diameter D_t, overall length L_tp, and approximate assembly mass from empirical scaling laws (Huzel-Huang coefficients). Full 3D voxel model targeted in v2.0.
The platform is being built in four versions, each upgrading one tier of the physics stack from analytical approximation to numerical rigour. The goal is a single-call, physics-accurate, AM-ready engine generator.
"It is easier to build a rocket if you don't have to invent it from scratch — you just derive it."
This platform is named after Hermann Julius Oberth — the Romanian-German physicist who independently derived the mathematics of rocket propulsion in 1917, before any practical rocket had flown. Oberth did not draw rockets; he computed them from fundamental equations of momentum, thermodynamics, and gravity. His 1923 treatise Die Rakete zu den Planetenräumen showed that space travel was physically achievable through pure mathematical derivation — no empirical guesswork, no trial-and-error hardware.
Oberth Forge inherits this philosophy directly. Every geometric dimension, every thermal boundary, every channel radius in this platform exists because an equation demands it — not because a designer chose it. The CEM is the design, and the design is the physics.
Oberth once said that the purpose of his life was to make space travel possible. The purpose of this platform is to make the engineering of space propulsion algorithmic, reproducible, and manufacturable — from first principles to finished part, in one call.