% LBM Backend documentation master file, created by % sphinx-quickstart on Sat Oct 31 21:17:44 2020. % You can adapt this file completely to your liking, but it should at least % contain the root `toctree` directive. % Modified by Alan Lugarini on Jun 30. # 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](https://solver.aerosim.io). 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 {footcite:t}`OLIVEIRA2026106465`. ```{figure} /_static/img/user_guide/00_intro/cfd_example.png --- align: center alt: Wind flow simulated with Nassu width: 100% --- 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 ```{eval-rst} .. list-table:: :widths: 30 70 :header-rows: 0 * - **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 :footcite:t:`OLIVEIRA2026106465`. * - **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 {footcite:t}`dong2008numerical`. **Geometry and boundary conditions** - Immersed boundary method (IBM) with Lagrangian meshes generated directly from input STL files or point clouds {footcite:t}`peskin2002immersed`. - 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 {footcite:t}`jarrin2006synthetic`. - 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 {footcite:t}`Lagrava2012-4808`. - 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 {footcite:t}`Kruger2016-cv` is the recommended introduction and is referenced throughout the theory chapters. ``` ```{eval-rst} .. footbibliography:: ``` ```{toctree} --- caption: User Guide hidden: true maxdepth: 1 --- Introduction Technologies Installation and usage Configuring simulations Post processing Testing without a GPU Visualizing fields ``` ```{toctree} --- caption: Validation hidden: true maxdepth: 2 --- Analytical Turbulence External aerodynamics Wind engineering Porous media Scalar transport Buoyant flows Thermal ``` ```{toctree} --- caption: Theory hidden: true maxdepth: 1 --- Introduction LBM IBM LES Rheology Wall model Multiblock Turbulent inflow Scalar transport Thermodynamics and LBM Stratified ABL Turbulent flow Surface coefficients ``` ```{toctree} --- caption: Solver hidden: true maxdepth: 1 --- Modeling Performance Code ``` ```{toctree} --- caption: Others hidden: true maxdepth: 1 --- Release Notes License ``` % Indices and tables % ================== % * :ref:`genindex` % * :ref:`modindex` % * :ref:`search`