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].
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.