Fourier Neural Operator for Airfoil Flows

Train a neural operator that predicts full CFD flow fields in milliseconds

Advanced Aerodynamics 6–10 weeks
Last reviewed: March 2026

Overview

Neural Operators are a new class of deep learning model that learn mappings between function spaces — rather than between finite-dimensional vectors. A Fourier Neural Operator (FNO) trained on CFD data learns the solution operator of a PDE: given arbitrary input geometry and boundary conditions, it directly predicts the full solution field (velocity, pressure everywhere in the domain), not just scalar outputs like CL or CD.

In this project, you'll generate a training dataset of 2D airfoil flow solutions using OpenFOAM (or a provided preprocessed dataset), then train an FNO in NVIDIA PhysicsNeMo to predict the full pressure and velocity fields around novel airfoil geometries it has never seen. The trained model runs inference in under 10 milliseconds on a GPU — compared to 10–60 minutes for a high-fidelity RANS simulation.

FNOs and their variants (DeepONet, U-FNO, Geo-FNO) are among the most actively published topics in scientific ML. NVIDIA, MIT, Caltech, and every major aerospace company are investing in neural operator technology as a path to real-time CFD for design, certification, and digital twins.

What You'll Learn

  • Understand the theoretical basis of Neural Operators and how FNOs differ from standard neural networks
  • Generate and preprocess a structured CFD dataset suitable for FNO training
  • Implement and train an FNO using NVIDIA PhysicsNeMo with appropriate data normalization and loss functions
  • Evaluate flow field prediction accuracy using relative L2 error on pressure and velocity components
  • Analyze FNO generalization: which geometric features are hardest to learn and why

Step-by-Step Guide

1

Understand Fourier Neural Operators

Before writing code, invest time in the theory. Read the original FNO paper (Li et al., 2021: "Fourier Neural Operator for Parametric Partial Differential Equations"). Understand the key idea: the FNO learns a kernel in Fourier space that, when applied to the input function, produces the output function. This global operation captures long-range interactions that convolution (local) misses.

Work through the 1D Burgers' equation FNO example in the PhysicsNeMo documentation. Understand the architecture: lifting layer → N Fourier layers (spectral conv + MLP) → projection layer. This 30-minute investment will save hours of debugging later.

2

Prepare the Airfoil CFD Dataset

Use the publicly available AirfRANS dataset (Bonnet et al., 2022) — 1,000 OpenFOAM RANS simulations of different NACA airfoils at varied angles of attack and Reynolds numbers, provided as structured point clouds with pressure, velocity, and turbulent viscosity fields.

Alternatively, generate your own dataset using the scripted OpenFOAM workflow from the 'ml-turbulence-openfoam' project. Preprocess: interpolate from unstructured mesh to a regular 128×128 grid around each airfoil, normalize all fields to zero mean and unit variance, and split 800/100/100 for train/validation/test.

3

Define the FNO Architecture in PhysicsNeMo

Configure the FNO in PhysicsNeMo: input channels (x-coordinate, y-coordinate, geometry mask, angle of attack, Reynolds number), output channels (pressure p, velocity u, velocity v), grid resolution 128×128, 4 Fourier layers, 64 modes in each spatial dimension, 64 channel width.

The geometry mask is crucial: a binary field (1 inside airfoil, 0 outside) tells the FNO where the solid boundary is, encoding the variable geometry without changing the network architecture. This is what allows one FNO to generalize across arbitrary airfoil shapes.

4

Train the FNO

Train using PhysicsNeMo's training loop with relative L2 loss on the output fields. Use Adam optimizer with learning rate 1e-3, decaying by 0.5 every 100 epochs. Train for 500 epochs on a GPU (NVIDIA T4 or better). Training time: 2–6 hours depending on GPU.

Monitor training and validation loss carefully. FNOs typically converge smoothly for pressure but may struggle initially with the velocity boundary layer near the airfoil surface — the rapid gradient there is hard to resolve in spectral space. If validation loss plateaus early, increase the number of Fourier modes or add more training data in the high-angle-of-attack regime.

5

Evaluate Flow Field Accuracy

Evaluate on the 100 held-out test cases. Compute relative L2 error for each output field: ||u_pred - u_true|| / ||u_true||. Target: pressure field error < 5%, velocity field error < 8%. Visualize predicted vs. ground truth fields for 5–10 test cases using matplotlib or ParaView.

Focus on challenging cases: high angle of attack (near stall), thick airfoils, and unusual camber distributions. The FNO will be least accurate in regions with sharp features — the leading edge suction peak and the separated wake. Quantify how much error there is in these critical regions.

6

Benchmark and Analyze

Measure the FNO's inference speed vs. OpenFOAM on the same hardware. The FNO should be 1,000–10,000× faster. Integrate the FNO predictions to compute CL and CD via pressure and viscous force integration; compare integrated coefficients against OpenFOAM values.

Analyze the FNO's failure modes: does accuracy degrade for out-of-distribution geometries (airfoils very different from the training set)? Test on a supercritical airfoil (e.g., NASA SC(2)-0714) that was not in the training distribution. This analysis motivates active learning approaches for dataset design.

Go Further

Extend this project toward research contributions:

  • Geo-FNO — implement the geometry-aware FNO variant that deforms the computational grid to align with the airfoil boundary, improving accuracy near the surface
  • 3D extension — extend from 2D airfoil slices to 3D wing sections using a 3D FNO on structured block-structured meshes around wing segments
  • Physics constraint — add a physics loss term (continuity equation residual) to the FNO training objective to enforce physical consistency, especially in coarse regions of the flow field
  • Publish — neural operator applications to new aerospace geometries and conditions are actively accepted at AIAA Aviation, NeurIPS, and ICLR