Table of Contents
Fetching ...

waLBerla-wind: a lattice-Boltzmann-based high-performance flow solver for wind energy applications

Helen Schottenhamml, Ani Anciaux-Sedrakian, Frédéric Blondel, Harald Köstler, Ulrich Rüde

TL;DR

The paper addresses the challenge of simulating wake flows for wind energy at scale by introducing waLBerla-wind, a lattice-Boltzmann-based solver with actuator-line turbine models built on the waLBerla framework and lbmpy code generation for performance portability across CPUs and GPUs. It provides a modular software design, enabling flexible turbine configurations and efficient hardware-specific implementations, and validates the approach against the NewMexico wind turbine test case and Castor vortex solver data. The study reports on blade-force distributions and near-wake velocities with good agreement at higher tip-speed ratios, and offers a comprehensive performance analysis showing strong and weak scaling on CPU/GPU architectures, including GPUdirect improvements. The results demonstrate waLBerla-wind’s potential for large-scale wind-farm simulations, while outlining future work to further reduce serial bottlenecks, extend full turbine distribution across processors, and optimize load balancing for even larger HPC systems.

Abstract

This article presents the development of a new wind turbine simulation software to study wake flow physics. To this end, the design and development of waLBerla-wind, a new simulator based on the lattice-Boltzmann method that is known for its excellent performance and scaling properties, will be presented. Here it will be used for large eddy simulations (LES) coupled with actuator wind turbine models. Due to its modular software design, waLBerla-wind is flexible and extensible with regard to turbine configurations. Additionally it is performance portable across different hardware architectures, another critical design goal. The new solver is validated by presenting force distributions and velocity profiles and comparing them with experimental data and a vortex solver. Furthermore, waLBerla-wind's performance is \revision{compared to a theoretical peak performance}, and analysed with weak and strong scaling benchmarks on CPU and GPU systems. This analysis demonstrates the suitability for large-scale applications and future cost-effective full wind farm simulations.

waLBerla-wind: a lattice-Boltzmann-based high-performance flow solver for wind energy applications

TL;DR

The paper addresses the challenge of simulating wake flows for wind energy at scale by introducing waLBerla-wind, a lattice-Boltzmann-based solver with actuator-line turbine models built on the waLBerla framework and lbmpy code generation for performance portability across CPUs and GPUs. It provides a modular software design, enabling flexible turbine configurations and efficient hardware-specific implementations, and validates the approach against the NewMexico wind turbine test case and Castor vortex solver data. The study reports on blade-force distributions and near-wake velocities with good agreement at higher tip-speed ratios, and offers a comprehensive performance analysis showing strong and weak scaling on CPU/GPU architectures, including GPUdirect improvements. The results demonstrate waLBerla-wind’s potential for large-scale wind-farm simulations, while outlining future work to further reduce serial bottlenecks, extend full turbine distribution across processors, and optimize load balancing for even larger HPC systems.

Abstract

This article presents the development of a new wind turbine simulation software to study wake flow physics. To this end, the design and development of waLBerla-wind, a new simulator based on the lattice-Boltzmann method that is known for its excellent performance and scaling properties, will be presented. Here it will be used for large eddy simulations (LES) coupled with actuator wind turbine models. Due to its modular software design, waLBerla-wind is flexible and extensible with regard to turbine configurations. Additionally it is performance portable across different hardware architectures, another critical design goal. The new solver is validated by presenting force distributions and velocity profiles and comparing them with experimental data and a vortex solver. Furthermore, waLBerla-wind's performance is \revision{compared to a theoretical peak performance}, and analysed with weak and strong scaling benchmarks on CPU and GPU systems. This analysis demonstrates the suitability for large-scale applications and future cost-effective full wind farm simulations.
Paper Structure (27 sections, 5 equations, 8 figures, 1 table, 2 algorithms)

This paper contains 27 sections, 5 equations, 8 figures, 1 table, 2 algorithms.

Figures (8)

  • Figure 1: Workflow for waLBerla simulations using the code generation framework lbmpy from Holzer et al. holzer2020.
  • Figure 2: UML diagram of the supporting structures and the physical modules. Pure CPU code (C++) is colored in green, pure GPU code (CUDA) in blue, and shared CPU/GPU code in yellow.
  • Figure 3: Comparison of the components of a and a in \ref{['fig:component_vs_topology:hawt']} and \ref{['fig:component_vs_topology:vawt']} and the topology view in our framework in \ref{['fig:component_vs_topology:tree']}. Despite the huge differences in geometry of the two wind turbines, their topology in our framework is identical apart from the absence of the nacelle in the .
  • Figure 4: Normal force distribution along the blade at approximately $10$ (left), $15$ (center) and $24~m/s$ (right).
  • Figure 5: Tangential force distribution along the blade at approximately $10$ (left), $15$ (center) and $24~m/s$ (right)
  • ...and 3 more figures