Aircraft structures are getting lighter because every kilogram carried for the life of an aircraft costs fuel, and fuel costs carbon. Two levers decide how heavy a part is: its shape, which topology optimisation designs, and its material, which sets density, stiffness and strength. The two are coupled. A shape tuned for titanium may be too weak in aluminium; a heavy steel version of a light shape may beat a light titanium version of a bulky one.
Engineers rarely get to see that coupling at scale, because there is no shared benchmark that records both mechanical performance and environmental footprint for the same family of parts. The TOSM project builds a first one. It starts from a public dataset of jet-engine brackets, re-simulates each design in four alloys, and computes the energy, water and CO₂ cost of making and flying each part. This article walks through the result and lets you explore it.
The brackets
The Simulated Jet Engine Bracket dataset (SimJEB) collects designs submitted to the 2013 GE Jet Engine Bracket Challenge[1]. Every bracket shares the same four bolt holes and the same load interface, and each was designed for the same task: be as light as possible while keeping the peak stress below the yield stress of Ti-6Al-4V under four load cases (vertical, horizontal, diagonal and torsional). That makes the collection a natural benchmark. Hundreds of human designers have already explored the shape space; we only need to change the material.
SimJEB provides each design as an OptiStruct .fem deck. The OptistructAuto notebook rewrites the material card (Young's modulus, Poisson's ratio, density) for each alloy, runs the linear static solve, and scrapes three numbers from the solver output: the structure's mass, its peak displacement and its peak 3-D element von Mises stress.
Every dot in the charts on this page is one of these brackets in one of four alloys. Browse the 379 designs below, sort them, and open any of them in 3-D. Models and renderings come from SimJEB[1], released under the MIT licence; the meshes are simplified to about 5,000 triangles so they load quickly.
Four alloys and their footprints
The materials come from the eco-design database of Yepes Llorente and Morlier[2]. Alongside the mechanical properties, each has a per-kilogram cost of production: CO₂ emitted, energy consumed and water used.
| Material | Density [kg/m³] | E [GPa] | Yield [MPa] | CO₂ [kg/kg] | Energy [MJ/kg] | Water [L/kg] | Cost [$/kg] |
|---|
Production footprints scale with mass, so a bracket's energy is simply its mass times the specific energy, and the same goes for water and cost. CO₂ is treated differently, following Duriez et al.[3]: a part also carries a use-phase penalty for the fuel burned to fly its mass over the aircraft's life.
The second term is enormous. A specific production footprint of 19.7 kg CO₂ per kilogram of titanium is 0.0197 t/kg, about five thousand times smaller than the 98.8 t/kg use-phase term. Drag the slider to see what that does to the comparison.
This has a practical consequence for everything that follows. With the use-phase term included, minimising CO₂ is almost the same as minimising mass, and the alloy's production footprint barely matters. Energy and water have no use-phase term, so they still rank alloys by how they are made.
What changes when you swap the alloy
Because every bracket was simulated in all four materials, we can compare like with like. For each bracket we compute the percentage change of each output relative to its titanium version, then summarise across the 379 brackets.
Three observations follow. Aluminium cuts mass, CO₂ and cost by roughly 37%, 37% and 93% but lets the bracket deflect about 56% more. Steel and beryllium copper are nearly twice as heavy as titanium, which nearly doubles their lifetime CO₂ and raises water use by 100% (steel) to 180% (BeCu), even though they are cheaper in energy to produce. And because stress hardly changes while yield strength changes a lot, the alloy decides whether a given shape is admissible at all.
Most designs are over-stressed
The optimisation imposes one constraint: the peak stress must stay under the alloy's yield stress divided by a safety factor of 1.25. The figure below shows how many brackets pass as a function of that safety factor.
Only 22 of the 1,516 runs satisfy the constraint at a safety factor of 1.25, and 21 of those are titanium. No aluminium bracket passes at any safety factor; its yield stress of 165 MPa is too far below the stresses these shapes produce. The peak values here are single-element maxima, which often sit on stress concentrations near the load interface, so they are a conservative measure. A smoothed or averaged stress criterion would admit more designs, and is an obvious next step for the benchmark.
Finding the trade-off
With several objectives there is no single best bracket. A design is Pareto-optimal if no other admissible design is at least as good on every objective and strictly better on one. The set of such designs, the Pareto front, is the menu an engineer actually chooses from.
The notebooks pose the problem as a constrained multi-objective minimisation and solve it with NSGA-II[4] through pymoo:
Here the decision variable is the row index of a design in a finite table, so the front can also be computed exactly by enumeration. The explorer below does that live. Pick any two objectives, change the safety factor, or compute a separate front per alloy, as the notebook's "decoupled" study does.
With the constraint enforced at SF = 1.25, the stress–CO₂ front holds five titanium brackets. Bracket 120 is the low-carbon end at 65.9 t over its life and 666 MPa; bracket 180 is the strong end at 399 MPa but 142.7 t, and bracket 271 sits close behind at 404 MPa for only 98.1 t. Switching to "Front per alloy" shows how thin the admissible set is for the other materials. Relax the safety factor to 1.0 and a handful of steel and beryllium-copper designs appear.
A note on the constraint sign
pymoo treats a constraint g(x) as satisfied when g(x) ≤ 0. The notebook codes the stress constraint as
which is non-positive when σ ≥ σy/SF, the opposite of the intent. The optimiser therefore searched among over-stressed designs. This matches the observation in the project's final presentation that every generation was feasible and the problem looked under-constrained. The fix is a sign flip: G = stress - yield_stress / safety_factor.
ParetoFrontResults.xlsx (sheet SCT) next to the exact front with the constraint applied as intended. All fourteen saved designs are Al-2024 brackets stressed between 2.4 and 57 times their yield limit. Re-running the notebook's NSGA-II setup (population 100, 500 generations, seed 1) reproduces exactly those fourteen points, which also confirms that the genetic algorithm had converged to the true front of the problem it was given.The good news is that the pipeline itself is sound. The simulation data, the footprint model and the optimiser all behave correctly; only the inequality is reversed. With the sign fixed, the front moves from aluminium to titanium, which is what the material properties predict: aluminium's low density makes it the carbon winner, but its yield stress rules out every shape in this collection.
Three objectives at once
The notebook's final study adds displacement as a third objective and computes one front per alloy. Rotate the plot to see how stiffness, strength and carbon trade off. Without the constraint, each alloy traces its own surface. With it, only titanium keeps a meaningful front.
Where this goes next
The benchmark already answers one practical question: for these brackets, under a lifetime-carbon accounting, the lightest admissible design wins, and admissibility is decided by yield strength. Several extensions would make it more useful.
- A stress measure that ignores singularities. Peak element stress is sensitive to mesh and to load-point concentrations. Averaged or percentile stresses would give a fairer feasibility test, especially for the softer alloys.
- Continuous design variables. Enumeration is exact for a fixed table but cannot propose new designs. Coupling the data to a latent space of materials, as in the hybrid VAE and evolutionary approach of Yepes Llorente et al.[2], or to parametric shapes, is where a genetic algorithm earns its keep.
- Surrogate models. Predicting stress and displacement from geometry would let the benchmark score unseen brackets without a full solve.
- A single figure of merit. Combining CO₂, energy and water into one environmental score would make the material trade-off easier to read.
- More alloys, including composites and recycled grades, to stretch the database.