Active Development Oberth Forge is an ongoing research platform — solvers, injector modules, and MOC nozzle integration are being progressively built.  
First Principles  ·  Voxel-Native  ·  AM-Optimised

OBERTH
FORGE
Computational Engineering Model

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.

Rocket Engines Bell & Aerospike Nozzles Regen Cooling Jackets Injector Heads LOX / CH₄ · LOX / RP-1 LPBF · CuCrZr · GRCop Watertight STL Export 0.4 mm Voxel Resolution
oberth_forge · cem_run.py
$ python cem_run.py --engine methalox_5kn
# inputs: F=5kN · Pc=60bar · O/F=3.4 · methalox
→ Stage 1: Thermodynamic derivation
  c* = 1700 m/s   C_F = 1.700
  ṁ_total = 1.418 kg/s   I_sp = 360.4 s
→ Stage 2: Geometry synthesis
  R_t = 14.07 mm   R_c = 31.44 mm   R_e = 34.44 mm
  Rao bell: Bézier N→Q→E at θₙ=30° θₑ=7°
→ Stage 3: 1D regen thermal balance
  q_peak = 60 MW/m² @ throat
  T_wall_max = 712 K ✓ < 800 K
  T_cool_max = 531 K ✓ < 550 K
→ Stage 4: Voxel construction (0.4 mm)
  Carving 32 helical channels · pitch=30mm
  Injector faceplate: coaxial + 8-pair ring
→ Marching cubes meshing + manifold repair
✓ Watertight STL → python_noyron_5kN.stl
  Vertices: 284,221   Faces: 568,438
$
The Core Idea

DESIGN BY ALGORITHM

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.

FROM NUMBERS TO METAL

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.

Thrust Equation
F = ṁ · v_e + (p_e − p_a) · A_e
Throat Area (from thrust + C_F)
A_t = F / (C_F · p_c)
Characteristic Velocity
c* = p_c · A_t / ṁ  →  ṁ = p_c · A_t / c*
Specific Impulse
I_sp = C_F · c* / g₀
Rao Bell Nozzle Length
L_n = 0.8 × (√ε_e − 1) · R_t / tan(15°)
Wall Heat Flux (3-layer thermal)
q = h_g(T_g − T_wg) = κ·ΔT_wall/t = h_c(T_wl − T_bulk)
Execution Order

6-STAGE COMPUTATIONAL PIPELINE

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.

Input Parameters → Thermodynamics → Nozzle Geometry → Thermal Design → Voxel Assembly → STL Export
01 🎯

User Parameters

Thrust (kN), chamber pressure (bar), O/F ratio, propellant pair, ambient pressure. Four numbers replace thousands of CAD decisions.

02 ⚗️

Thermo Performance

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.

03 📐

Nozzle & Chamber Geometry

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.

04 🌡️

Regen Thermal Balance

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.

05 🧱

Boolean Voxel Assembly

Parametric shell union → inner flow path subtraction → helical channel subtraction → injector faceplate → aerospike spike (optional). All at 0.4 mm voxel resolution.

06

Mesh Repair & Export

Marching cubes → manifold repair → watertightness validation. Auto-retry loop increases wall thickness by 0.2 mm per attempt. Final output: LPBF-ready STL.

Geometry Engine

THE VOXEL KERNEL

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.

Voxel Field Operations · Engine Cross-Section
outer shell (union)
R_outer
cooling jacket
R_inner+t+R_t
wall material
0.8 mm min
flow path (void)
R_inner(x)
regen channels
n=16–80
Union
Subtract
Intersect
voxel_size = 0.0004 m  |  axes: x = axial, y/z = transverse
Y_grid, Z_grid precomputed  |  R_grid = √(Y² + Z²)
Binary dilation → DfAM wall enforcement
🔲
Representation

Boolean Field

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.

🐚
Primitive

Parametric Shell

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.

🌀
Channel Carving

Helical Subtraction

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.

📏
DfAM Rule

Min Wall Enforcement

Binary dilation (scipy.ndimage) with iterations = ⌈extra_thickness / voxel_size⌉ adds material to every exposed surface — a topology-safe operation valid for any geometry.

🔺
Surface Extraction

Marching Cubes

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.

🛠️
Quality Assurance

Manifold Repair

Degenerate face removal → duplicate face removal → hole fill → normal inversion fix → unreferenced vertex cleanup. Watertightness is the acceptance criterion, not mesh quality score.

Platform Sub-Systems

COMPONENTS BEING MODELLED

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.

🔥 Combustion

Thrust Chamber

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.

Implemented
🚀 Nozzle

Rao Bell Nozzle

Thrust-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.

Implemented
🌀 Cooling

Regen Cooling Jacket

Helical 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.

Implemented
Nozzle Variant

Aerospike Nozzle

Annular 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 Development
💉 Injector

Showerhead Injector

Regular 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 Development
🎯 Injector

Bi-Swirl Coaxial

Co- 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 Development
🔩 Plumbing

Coolant Manifold

Inlet and outlet manifold geometry connecting external feedlines to the channel array. Uniform pressure distribution requires matched impedance — geometry derived from flow network analysis.

In Development
🏗️ Structure

Thrust Structure

Mounting 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.

Scoped
Algorithm Deep Dive

HOW THE THERMAL MODEL WORKS

The 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.

1D MARCHING HEAT BALANCE

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.

Heat flux profile (Gaussian, Gaussian σ = 0.3·L_div)
q(x) = q_max · exp(−0.5·((x − x_throat)/σ)²)
Hot-gas side wall temperature
T_wg = T_gas − q / h_g
Coolant-side wall temperature
T_wl = T_wg − q · t_wall / κ_wall
Coolant bulk temperature advance (marching)
T_bulk[i+1] = T_bulk[i] + (q[i] · A_wall_seg[i]) / (ṁ_cool · cp)
Acceptance criteria (both must be satisfied)
T_wall_max < 800 K   AND   T_cool_max < T_coke
Variable channel radius (width tracks heat flux)
r_ch(x) = scale · r_base · (0.6 + 0.8 · q_norm(x))
Solver Architecture

CURRENT & PLANNED METHODS

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.

Nozzle Contour · v1 (Live)

Rao Bézier Bell

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.

  • Control Point Q Tangent intersection from θ_n, θ_e
  • Throat Offset 0.382·R_t downstream of throat plane
  • Sampling 600 parametric points → voxel grid
Nozzle Contour · v2 (Planned)

Method of Characteristics

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.

  • Governing Physics Irrotational isentropic axisymmetric Euler flow
  • Prandtl-Meyer fn ν(M) maps Mach number to turning angle
  • Output Point-by-point wall contour, no internal shocks
  • Scope Bell, plug, aerospike (annular & linear)
Thermal Model · v3 (Research)

2D FEM Wall Solver

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.

  • Method Steady-state 2D FEM, per axial station
  • Hot Gas h_g Bartz correlation (replaces constant)
  • Coolant h_c Dittus-Boelter / Gnielinski Nusselt
  • Output T(y,z) field → fatigue margin estimation
Combustion · v3 (Research)

NASA CEA Integration

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.

  • Current Fixed c* per propellant class
  • Target CEA O/F sweep tables, frozen/eq chemistry
  • Benefit Accurate T_c, γ, M̄ for any propellant
Injector · v2 (Development)

Atomisation Model

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.

  • Key Parameter Momentum flux ratio J = ρ_ox·v_ox² / ρ_f·v_f²
  • Swirl Number S = (d_swirl/d_throat)² / (2·A_port/A_geo)
  • SMD Target Weber number breakup criterion
Optimisation · v4 (Future)

Multi-Objective Optimiser

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.

  • Method scipy.optimize or gradient-free (Nelder-Mead / CMA-ES)
  • Objectives I_sp, T/W, T_wall, ΔP_channel, mass
  • Key Insight CEM geometry enables closed-loop optimisation
Additive Manufacturing

DESIGNED FOR THE PRINTER

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.

0.8mm
Minimum Wall Thickness
LPBF minimum for CuCrZr — enforced via binary dilation of the voxel field, not post-process checking
<45°
Max Overhang Angle
Helical channel pitch is chosen so the channel roof angle never exceeds 45° — the unsupported overhang limit for LPBF without supports
0.4mm
Voxel Resolution
Matches LPBF minimum feature size — geometry below this threshold is physically unrealisable and is not generated
800K
CuCrZr Wall Limit
Maximum permissible wall temperature for precipitation-hardened CuCrZr — the alloy of choice for LPBF rocket chamber walls
1×
Watertight Guarantee
All exported STL files are validated as topologically manifold — a requirement for slicers to generate valid LPBF toolpaths
Powder Escape Ports
Injector face ports are sized and positioned to allow unmelted powder evacuation from enclosed channels after the build — a key DfAM requirement
Development Roadmap

WHERE OBERTH FORGE IS GOING

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.

v1.0 · Current Release

CORE FRAMEWORK

Analytical c* / I_sp / ṁ Rao Bell (Bézier) 1D Gaussian Thermal Model Helical Regen Channels Boolean Voxel Kernel Manifold STL Export Coaxial Injector (basic) Aerospike Mode (WIP)
v2.0 · In Development

HIGH-FIDELITY SOLVERS

Method of Characteristics Nozzle Showerhead Injector Pattern Bi-Swirl Coaxial Injector Bartz Correlation h_g Coolant Manifold Geometry MOC Aerospike Contour Thrust Structure / Flange
v3.0 · Research Phase

MULTI-PHYSICS INTEGRATION

2D FEM Cross-Section Thermal Dittus-Boelter h_c Correlation Thermal Fatigue Life Model NASA CEA Chemistry Real-Fluid Cryogenic EOS Channel ΔP Flow Network Atomisation SMD Model
v4.0 · Future Vision

FULL SYSTEM + OPTIMISATION

Multi-Objective Optimiser Turbopump Preliminary Design Feed System Geometry LPBF Build-Parameter Output Web UI for Review Plugin API for Sub-Systems
Platform Architecture Stack
User API  engine.build_and_export() Live
Thermo Model
c*, C_F, I_sp, ṁ
Nozzle Geometry
Rao Bézier → MOC
Thermal Model
1D march → 2D FEM
Injector CEM
Coaxial / Swirl / SH
Python Voxel Kernel  ·  0.4 mm resolution
NumPy
Boolean
scikit
image MC
trimesh
Repair
Watertight STL  →  LPBF Machine Output
"It is easier to build a rocket if you don't have to invent it from scratch — you just derive it."
Hermann Oberth, 1894–1989

WHY OBERTH FORGE

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.

1923
Oberth's Treatise
100+
Years of Theory
1
API Call to Geometry