Nassu

A GPU-native, high-performance LES solver for computational wind engineering.

Nassu is the lattice-Boltzmann CFD engine behind the AeroSim digital wind tunnel. It runs large eddy simulations (LES) of industrial aerodynamics natively on NVIDIA GPUs and is engineered around one idea: you never write a line of code to run a simulation. You describe the case in a single configuration file, and Nassu generates the specialised CUDA kernels, runs the simulation, and writes the fields for you.

The numerical framework, validation, and design are described in the peer-reviewed reference paper Oliveira et al.[1].

Wind flow simulated with Nassu

Turbulent wind flow around bluff bodies, resolved with Nassu’s LBM-LES framework.

What Nassu is built for

Nassu targets computational wind engineering (CWE) and external aerodynamics: wind loading on buildings, pedestrian wind comfort, pollutant and scalar dispersion, atmospheric boundary layer and terrain flows, and bluff-body aerodynamics in general. These problems demand the transient, peak-resolving fidelity of LES, which has traditionally been too expensive for routine engineering use. Nassu makes it practical on a single, affordable GPU by combining the lattice-Boltzmann method with a memory-efficient, recursive-regularized collision operator.

Where Nassu shines

No meshing step

The domain is a Cartesian lattice generated automatically from the configuration file: a 100-million-node grid is built in under 30 seconds, with none of the manual, error-prone meshing a body-fitted solver requires.

No watertight geometry

The immersed boundary method runs directly on raw STL surfaces or point clouds, without the clean, watertight, non-overlapping mesh that finite-volume solvers demand.

Realistic atmospheric inflow

Mean atmospheric-boundary-layer profiles with correlated synthetic turbulence (SEM) and PODFS precursor replay injected at the inlet.

High Reynolds numbers

The RR-BGK collision operator stays stable at Re > 10^5, the regime of full-scale wind engineering Oliveira et al.[].

Large domains on one GPU

Macroscopic-only storage fits roughly 10 million lattice nodes per gigabyte and cuts memory up to 50% versus a naive 3-D LBM, so an affordable 24 GB GPU holds an LES of about 240 million nodes.

GPU-native throughput

Over one billion lattice-node updates per second on a single modern GPU.

Validated

A curated portfolio of 20+ benchmark cases spanning seven physical categories, from analytical flows to wind-tunnel reproductions.

Capabilities

Physics and numerics

  • Lattice-Boltzmann method with the recursive-regularized BGK (RR-BGK) collision operator (3rd-order Hermite), the default production LES operator; BGK, RBGK and hybrid HRRBGK are also available.

  • Velocity sets D2Q9 (2-D) and D3Q15, D3Q19, D3Q27 (3-D), with D3Q27 as the preferred production set.

  • Smagorinsky subgrid-scale model with the relaxation frequency derived analytically from the non-equilibrium stress Dong et al.[2].

Geometry and boundary conditions

  • Immersed boundary method (IBM) with Lagrangian meshes generated directly from input STL files or point clouds Peskin[3].

  • Wall models for the diffuse-interface IBM and equilibrium log-law / turbulent boundary-layer wall BCs, plus halfway and regularized halfway bounce-back, uniform inlet, and zero-gradient outlet conditions.

Turbulent inflow and scalar transport

  • Synthetic Eddy Method (SEM) and PODFS precursor replay for realistic, correlated inlet turbulence Jarrin et al.[4].

  • Passive scalar transport for dispersion studies, sharing the exact same multiblock and collision-streaming path as the fluid solver.

Grid and performance

  • Static block-structured multiblock refinement on an octree grid with 2:1 level ratios Lagrava et al.[5].

  • Runtime CUDA code generation: kernels are specialised per simulation configuration, with no runtime branching overhead.

  • Memory-efficient macroscopic-only storage that runs a large CWE domain on a single GPU.

Tip

New to CFD or LBM? The textbook by Krüger et al.[6] is the recommended introduction and is referenced throughout the theory chapters.