The ask. A detailed brief to the agent covering parametric CAD design of a modern narrow-body airliner, full-scale CFD in OpenFOAM, whole-aircraft structural analysis in CalculiX, coupled fluid–structure interaction on the wing with preCICE, and a LaTeX report.
The platform. Everything ran on a ZimaBoard 2, a single-board computer with a quad-core Intel N150 and 8 GB of RAM. The CAD output is a live, editable SolidCraft document, and the analysis stack (OpenFOAM, CalculiX, preCICE and the LaTeX toolchain) is free and open source: the same codes companies and research labs run at scale.
The result. A parametric 68-feature model, a 2 million-cell compressible RANS solve at Mach 0.785, a 15,300-element semi-monocoque shell model under CFD-mapped pressure at 1 g and 2.5 g, a preCICE coupling on the wing whose fluid-to-structure leg completed and whose return leg did not, plus a 1:500 print package for a desktop wind tunnel. Every artifact below was produced by an agent driving real tools, not by a person in a GUI.
Disclaimer: This is a technology demonstration. The half-model mesh is a first-pass snappyHexMesh grid with no formal grid-convergence study, and the shell idealization and truncated coupling carry their own caveats. None of it has been validated against wind-tunnel or flight data. No simulation replaces experimental validation. The results are shown for demonstration purposes only and must not be used for engineering design decisions.

01 The pipeline
The key architectural difference versus a conventional “AI writes a script” demo: the agent lives inside the CAD environment. SolidCraft exposes its modeling kernel as MCP commands (sketches, lofts, mirrors, parameters), so geometry is authored parametrically, not as a static mesh. Everything downstream is genuine solver output.
02 Geometry
The aircraft is built the way a parametricist would; a single mirror then completes the airframe:
- Fuselage: 23-section loft with an extended tail cone
- Wing: lofted NASA SC(2) supercritical sections, 27.6° sweep, 6° dihedral, washout
- Winglet: split-scimitar with a ventral feather
- Nacelles: high-bypass, separate-flow core cowls, on pylons
- Empennage: horizontal and vertical tails, dorsal fin, wing–body fairing
Every feature lives in the design timeline with named parameters, so span, sweep or engine position can be re-driven later; the file stays editable CAD, not a frozen mesh.




03 CFD
snappyHexMesh wrapped every component STL into a single watertight domain:
- Mesh: ≈2.0 million-cell half model, prism layers on the outer mould line
- Solver: steady compressible RANS, k–ω SST
- Condition: Mach 0.785, α = 2°, FL350
- Result: converged-tail CL ≈ 0.37 and CD ≈ 0.093 in a transonic regime, with a buffet-type oscillation the report keeps instead of averaging away
One caveat the animations exposed: about 17 % of the airframe surface sits on the solver’s 4 kPa limitPressure floor, so the aft flow field and the integrated coefficients should be treated as unconverged until the case is rerun with the clamp inactive.



Animating the same solution makes the transonic character easier to see. Particles ride the converged streamlines, timed by each streamline’s own integration time, so a particle that speeds up over the wing really does pull ahead of its neighbors. On the cut at 55 % semi-span the upper-surface flow goes supersonic, peaking near M 1.07 inside the sonic line, and recompresses well before the trailing edge: the behavior a supercritical section is shaped for.
04 Whole-aircraft FEA
A generator script turns the same geometry into a semi-monocoque shell idealization:
- Model: ≈15,300 elements, including fuselage skins, frames, pressure bulkheads, wing skins, spars and ribs, tails, winglets; Al 2024/7075
- Mass: 70 000 kg distributed, including engines and fuel
- Loads: CFD pressure field mapped onto the shells and re-trimmed, cabin ΔP, inertia
- Cases: 1 g cruise and 2.5 g pull-up, solved in CalculiX



05 FSI: honest engineering
The wing couples to a 2,108-node shell model through preCICE, one exchange per leg:
- Fluid → force: OpenFOAM writes interface traction on the wing surface
- Conservative map: nearest-neighbour onto 1,190 solid nodes, total conserved (410 kN of lift on the half-wing)
- Solid → displacement: CalculiX solves, an RBF mapping configured to move the fluid mesh under
displacementLaplacian - Outcome: the mapped force through 40 geometrically nonlinear increments gives a ≈0.88 m winglet-tip deflection and a 165 MPa peak von Mises stress, in family with the 1.05 m the whole-aircraft model predicts at 1 g

06 Off the screen: a wind-tunnel model
Because the CAD is a live parametric document, the same file produced a print package for a desktop wind tunnel, for qualitative smoke visualization rather than data:
- Scale: 1:500 rather than the tunnel’s nominal model scale: the test section is 107 × 92 × 50 mm, so a nominal-scale print (~620 mm long) cannot fit. At 1:500 the model measures 78.9 × 72.6 mm; 1:400 was ruled out on span clearance.
- Stand: a streamlined strut (14 mm chord, 2.5 mm thick) welded to a 70 × 36 × 3 mm base plate, all driven by a
print_scaleparameter in the CAD file. - Attitude: the model is pitched 2° nose-up about the strut attach point, so it sits on the mount at the same cruise attitude as the CFD case.
- Placement: on its stand the model is 80.1 × 72.6 × 34.8 mm; it sits on the test-section floor with the span across the 92 mm width, nose into the flow.
- Reading it: the tunnel’s scale-speed convention puts the scale-equivalent cruise point at ≈107 km/h on the dial; model ReMAC is ~300–1100 against 2.8×107 in the CFD, so the output is streakline attachment, tip vortex and wake: pictures, not numbers.


07 What this actually means
The interesting number is not a coefficient, it is the latency between intent and evidence. Parametric airframe in minutes, industrial-grade solvers in hours, a formatted report at the end; the loop is real. The qualification: these are credible engineering analyses, not certification-grade validation: transonic buffet, shell idealization and a truncated coupling all leave their fingerprints, and the report keeps them visible.
The companion lesson from the simulation-on-simulation essay holds here too: the value of the agent is not a pretty render, it is the discipline to run the real tool and show the real number, including the crash logs.
Tools & references
- OpenFOAM (OpenFOAM Foundation, v13): snappyHexMesh + compressible SIMPLE solver; k–ω SST closure after Menter, AIAA Journal 32(8), 1994.
- CalculiX (Guido Dhondt): nonlinear static solver; ccx_preCICE adapter.
- preCICE: partitioned fluid–structure coupling; Chourdakis et al., Open Research Europe 2:51, 2022.
- NASA SC(2) supercritical airfoil family: Harris, C.D., NASA Supercritical Airfoils, NASA TP-2969, 1990.
- LaTeX / TeX Live: report build; PyVista/VTK for field visualization.
- SolidCraft: parametric CAD with an MCP interface, run inside the app on a ZimaBoard 2; print target: a desktop wind-tunnel test section.