Spinoza Labs
All news
Blog··8 min read

Conditional Diffusion for Inverse Aircraft Design

Conditional diffusion sampling for the target CL=0.251, CD=0.0333, CM=-0.752: PCA of samples, decoded geometry, and parameter distributions across 1000 denoising steps
Trained model sampling for one target (, , ). Top-left: 2-D PCA of the design space, real-design manifold in grey, 500 conditioned samples condensing onto the target region. Bottom-left: the running geometry estimate, meshed through the nTop parametric pipeline.3 Right: five generated parameters converging from broad to narrow distributions as the noise level drops across 1000 reverse steps.

We train a conditional diffusion model for generative design optimization of CCA drones. This note documents the problem setup, model, training pipeline, and held-out results.

Problem setup

Aerodynamic design is conventionally solved in the forward direction: choose a geometry, evaluate it with a solver, adjust, repeat.

Neural surrogates reduce the cost of the forward arrow from solver-time to milliseconds,1 but the loop is still a search: candidates are proposed and checked. Inverse design targets the other arrow directly — map a performance target to parameters that achieve it.

Inverse design is one-to-many

The inverse map is not a function. Multiple geometries can meet the same target, so the problem is underdetermined. A point-estimate regressor trained on (target → parameters) minimizes mean squared error by averaging the valid solutions, which generally yields an infeasible compromise.

A generative model instead represents the conditional distribution of valid designs and lets us draw samples from it: many distinct, feasible candidates per target rather than one averaged answer.

Conditional diffusion

We use a denoising diffusion probabilistic model (DDPM) conditioned on the target, following the conditional-diffusion inverse-design formulation for blended-wing-body aircraft2 adapted to our parameterization.

Let be a design vector and the condition (flight state + target coefficients). The forward process adds Gaussian noise on a fixed cosine schedule :

A network is trained to predict the injected noise, conditioned on :

Sampling runs the reverse chain from to with the standard DDPM ancestral update, conditioning every step on .

Sampling is a -step trajectory, not a single forward pass. Drawing noise seeds for one yields distinct designs that meet the same target. The animation at the top of this post shows the trained model sampling for one target (, , ): a PCA view of 500 conditioned samples condensing onto the target region, the decoded geometry meshed at successive steps, and individual parameters converging from broad to narrow distributions as the noise level drops.

One target yields a family of geometries: drawing seeds returns distinct designs that all meet the same .

Model

We generate a design vector conditioned on .

SymbolDimContents
Output1915 continuous geometry parameters in + 4-way one-hot NACA airfoil
Condition6angle of attack, velocity, altitude; targets

The 15 continuous parameters are planform/body variables (dihedral, wing span, root chord, inlet angles and location, aft heights, tail offsets). The airfoil is one of four NACA profiles, generated as a one-hot block and resolved by argmax at sampling. Geometry is min–max scaled to ; conditions are standardized to zero mean / unit variance. Both scalers are fit on the training split only.

The design is a 19-D vector, so the denoiser is a residual MLP rather than a U-Net.2 It predicts from the noised vector, timestep, and condition.

Configuration: hidden width 512, 6 residual blocks (LayerNorm + SiLU), sinusoidal timestep embeddings, cosine noise schedule, -prediction objective, steps, DDPM ancestral sampler. Optimized with AdamW and an exponential moving average of the weights.

Architecture search, training, and benchmarking are run with Flux.

Data

Training data come from the COCOANET dataset and ShapeBench benchmark.1 The geometry is a collaborative combat aircraft (CCA) drone, built through the nTop CAD kernel3 and evaluated with RANS CFD for and surface fields. We build on this prior work to train a conditional diffusion model for inverse design.

Results

Evaluation uses a geometry-disjoint test split (test geometries are unseen in training), with 100 samples per condition and best-match selection per condition.

MetricValue
L/D — 0.9976
L/D — RMSE~4.8% of L/D standard deviation
L/D — MAE~3.5% of L/D standard deviation
0.9985
0.9942
0.9975

The model reproduces target coefficients with on lift-to-drag, via direct sampling rather than iterative search, and returns multiple distinct geometries per target.

Limitations and next steps

  • Scoring uses a learned surrogate, not high-fidelity CFD; generated designs still require solver verification.
  • Targets are single-condition. Multi-condition targets and explicit constraint handling (e.g. geometric feasibility, structural limits) are not yet modeled.
  • The airfoil is restricted to four NACA profiles.

Industry applications

This moves inverse aerodynamics from a slow search loop toward an interactive design system that can be used in real engineering workflows.

What this enables

  • Query for specific performance targets and get multiple feasible geometry candidates instead of a single averaged design.
  • Explore large design spaces more effectively by sampling diverse design families for the same mission condition.
  • Shorten concept-to-analysis cycles by passing high-potential samples directly into downstream CAD and high-fidelity CFD verification.
Footnotes
  1. S. Fazliani et al., ShapeBench: A Scalable Benchmark and Diagnostic Suite for Standardized Evaluation in Aerodynamic Shape Optimization (2026). https://doi.org/10.48550/arXiv.2605.20763
  2. N. Sung et al., BlendedNet++: A dataset and benchmark for field-resolved aerodynamics and inverse design of blended wing body aircraft (2025). https://doi.org/10.48550/arXiv.2512.03280
  3. nTop, Release 4.1, nTop Inc., https://ntop.com