Inside SP-Wind: Prof. Johan Meyers on Pioneering code for Wind Simulation

Wind Turbines

1. Professor Meyers, can you briefly explain to me what you and your research group do and, more specifically, concerning wind energy?

At the Turbulent Flow Simulation & Optimization (TSFO) research group, we specialise in the simulation, optimisation and control of turbulent flows. In practical terms, approximately eighty per cent of our research is applied to wind energy. Our primary focus is studying the complex interaction between large wind farms and the atmosphere.

Specifically, we aim to quantify the energy output from these farms, particularly as they increase in size. Furthermore, we also conduct research on optimising turbine placement within wind farms and developing control strategies to enhance their overall operational efficiency. That is, in a nutshell, the topics that our work primarily centres around.

2. Why is supercomputing useful in this field?

Supercomputing is very valuable in our field of research for several reasons. Firstly, turbulent flows are notoriously challenging in terms of modelling. Turbulence doesn't readily lend itself to simple, straightforward models. While the Navier-Stokes equations comprehensively describe the underlying physics, they come with a significant computational cost. In fact, attempting to simulate the full Navier-Stokes equations with all the complex physical details is (nearly) impossible.
However, by introducing certain simplifications (Large Eddy simulations), we can leverage the power of supercomputing to create reasonably accurate models of turbulent flows. 

3. Why is it so important to do these kinds of simulations?

In practical terms, to make predictions or to control the wind energy industry and other stakeholders involved in wind farm design requires efficient modelling tools that can run on a powerful laptop rather than relying on supercomputers.
Simulations offer a valuable solution by providing a virtual environment for testing ideas and principles before resorting to costly experimental campaigns. This approach is particularly beneficial when considering the high costs associated with renting offshore facilities.

Moreover, when it comes to controlling wind farms and implementing innovative operational strategies for turbines, it's not feasible to undertake such endeavours on multi-billion-euro properties without prior validation. Building trust in these strategies requires the use of sufficiently complex representations of reality, and this is where supercomputing plays an important role.

And with an experimental campaign, you mean to build your design or explore new strategies in reality? 

Yes, absolutely. In science, the optimal scenario is to be able to conduct experimental campaigns. It's the most reliable approach, allowing you to directly observe and measure outcomes rather than relying solely on theoretical models. However, for these kinds of applications, it is extremely complicated. Therefore, before doing those campaigns, establishing a foundational understanding is crucial. Simulations on supercomputers can serve as an initial step to validate ideas and ensure they are worth pursuing before investing significant resources. 

4. Why did you develop your own code? 

I started developing the SP-Wind code during my time as a postdoc researcher while focusing on numerical methods and Large Eddy simulations, a variant of the Navier-Stokes equations. 
Prior to this, I had conducted research on various existing codes during my PhD, and I was fed up with dirty codes. I wanted to write my own code. I chose a specific type of algorithm, pseudo-spectral discretisation, due to its elegance and ability to bypass many challenges in other discretisation methods. This type of discretisation is extremely useful for turbulent flows with simple geometries.

We conducted further research and incorporated optimisation tools in the code. At some point, collaborative efforts with a colleague at Johns Hopkins University also contributed to its development. 

The SP Wind code's exceptional performance in simulating wind farms within the atmospheric boundary layer, despite its limitations in handling various geometries, made it a valuable tool. That's also why we kept developing it and why it's still, at this moment, one of the most performant codes in the field of wind farm simulations.

So, it wasn't written to be applied in wind farms? 

Originally, it was designed to simulate channel flows, specifically the flow between two horizontal plates. Conceptually, if you understand the underlying principles, this setup, through problem-specific discretisation, can be adapted to simulate atmospheric flow. Essentially, it mimics the flow of air over the Earth, where the Earth itself represents one flat plate, and some other flat plat higher up in the atmosphere represents the other and the wind farm in between. The principles governing the flow between the two plates can be translated into those governing atmospheric dynamics. 

5. Can you explain in layman terms what the code does? 

The code simulates how air flows through a wind farm, creating a kind of virtual reality for wind flow. It's similar to a computer game but with two key differences: first, in a game, it only has to look realistic, not actually be realistic; second, in a game, you can't see the flow of air because air is transparent. Even though we can't see it, the air moves in complex ways, much like water, constantly changing and interacting with its surroundings. This code models the movement of air and how it interacts with the environment under different conditions. This allows us to see what happens if we change the size of the wind farm or if the weather shifts.

6. What are the main advantages of the code? 

In simple terms, the SP-Wind code is great at simulating how air moves horizontally over flat surfaces, like the Earth's surface. It uses a method called "Fourier-based discretisation," which just means it's able to break down the movement of air into simpler parts in a very precise and efficient way.

One of the big challenges in simulating air flow is solving a complex equation called the Poisson equation, which is necessary to understand how the air moves (specifically for what are called incompressible flows). Most general-purpose codes struggle with this equation, especially when running on supercomputers because it involves solving a huge system of equations across many processors. However, this code handles that problem very efficiently using something called a Fast Fourier Transform, which speeds up the process of doing all the calculations.

The downside of this code is that it’s not very flexible. It’s great for simulating airflow over flat surfaces but can’t easily be used for more complex shapes, like simulating the flow around a ship. That’s why not many people use this type of code, but for simulating things like wind farms, it’s incredibly powerful.

Pr. Johan Meyers

Johan Meyers is a full professor at the department of Mechanical Engineering at KU Leuven. He is an internationally recognized expert in wind-farm aerodynamics and wind-farm atmosphere interactions. His team is specialized in numerical simulation, high-performance computing, optimization, and optimal control of turbulent flows, with applications towards wind energy and atmospheric dispersion. To this end, the team continuously develops SP-Wind – a leading large-eddy simulation HPC tool for wind-farm simulation and virtual testing of (faster models) and new concepts.