How to speed up your CFD calculations in Meteodyn WT?
At Meteodyn, we are aware that time is a very important variable in the life of a design office specialized in wind energy.
The objective is to be able to carry out wind and production studies with controlled uncertainties and in ever shorter time, despite the increase of complex sites.
However, CFD requires a lot of computing time. It necessitates the resolution of sophisticated mathematical models to effectively study wind behaviour in complex topography.
Since more than 15 years, Meteodyn researchers have been working daily on new technologies in order to drastically reduce calculation times, while maintaining the quality of CFD results.
Through this article, Meteodyn would like to bring you some advices and tips concerning the management of the parameterisation of your CFD calculations, in order to make them as fast as possible.
Avoid divergence at all costs
Diverging calculations mean having to relaunch them. However, a complex calculation can take time.
Therefore, every effort must be made to avoid this divergence.
- Yes, it's important to be accurate. But you have to stay sober. A mesh with a resolution of less than 20 metres is useless in most cases, because the input data, including for example topography or roughness, are not that precise.
- Your RAM may not be sufficient, knowing that a million meshes requires 1.2 GB.
- You can also use our auto-convergence tool to increase convergence potential.
Using CFD parallelisation
Core parallelisation allows multiple cores to be assigned to the same CFD direction, thus drastically speeding up calculations.
This possibility is very useful when calibrating a site.
A performance study conducted on a site with a mesh of 10 million cells shows that the more cores are allocated to a calculation, the faster its speed is accelerated.
Assigning 6 cores to a directional CFD calculation increases its speed by about 5 times.
If your Meteodyn WT license allows it, you can use all the cores of your computer to perform a calculation :
Be careful though, because using all its cores per direction is not useful when running calculations for several directions.
Launch your calculations methodically
Goal: Run as many directional calculations simultaneously while allocating as many cores per direction as possible.
Constraint: The computer resource available is rarely sufficient to make this goal reachable. A method is therefore necessary to launch your calculations intelligently.
How to do it? It is necessary to optimise the management of your computer resource. It is therefore imperative to be aware of the available resource in terms of processor cores and amount of RAM.
1. Know the computer resource at your disposal
Regarding the number of cores:
→ Go to the Windows task manager: Ctrl + Alt + Delete, then click on "task manager".
→ Click on "More details" at the bottom left, then go to "Performance".
→ In the "Processor" tab, the "Cores" line indicates the number of physical cores available on your processor. Warning: with CFD, you should only look at the physical cores and not at the "logical" cores, as these are not efficient for this kind of task.
Regarding the amount of random access memory (RAM) :
→ In the "Memory" tab of the task manager, the label "Used (compressed)" indicates the available RAM. The "Available" label indicates the RAM that is not assigned and can therefore be used at time T for CFD computations.
→ To free up some RAM, simply go to the "Process" tab, then click on "end of task" at the bottom right, to shut down running programs in the list. Generally, Internet browsers are the biggest consumers of RAM. We therefore advise you to turn them off in priority if you need to free up RAM.
2. Optimise IT resource management when running CFD computations
Let's take an example:
I have a computer with 32 GB of RAM and 8 physical cores. I want to run 12 directional CFD computations and get the results as soon as possible.
With 8 physical cores, I can theoretically run 8 calculations in parallel except that, to do so, I need enough RAM.
If I assume that each of my directional calculations will be around 3 million cells (knowing that we saw earlier that 1 million cells equals 1.2 GB of RAM), I can do the following conversion: 3 million cells equals 3.6 GB of RAM.
I simply have to divide the total amount of RAM available by the amount of RAM needed per direction, which is approximately 8 directions.
Caution, in practice, the total amount of RAM of a computer is never 100% available. Indeed, even if all external applications are turned off, Windows constantly uses about 2 GB of the 32 GB of RAM.
We can thus compute 8 directions simultaneously as we have 8 physical cores. We will thus place 1 core per direction in the CFD parameterisation window.
This means that there will only be 4 directions left to compute. There are then two options:
- You can either run the computations for all 12 directions with the same configuration, which is based on the first 8 directions. This is a simple way to do it but it is not the optimal one.
- Or you can launch the 8 directions with this configuration and then launch the 4 remaining directions separately, with an optimised configuration. Here, the optimised setting would be to place 2 cores per direction.
3. Determine the amount of cells for a direction, simply and quickly
Why? Currently, it is difficult to estimate the number of cells per direction. However, as seen previously, it is essential to have this information to optimise the management of calculations.
Tip: We can assert with certainty that the number of cells from one direction to the other does not vary more than 10%. It is therefore sufficient to know the number of cells of one direction to know those of the other directions.
It is then sufficient to launch a single directional calculation, keeping the same mesh parameters (horizontal and vertical) as for the other directions that are computed. When the calculation is launched, very quickly, Meteodyn WT will display the number of cells of this direction.
Optimising the calculation speed can save valuable hours during a CFD study.
Consequently, numerical simulation is a cutting-edge technology that requires the user to know and know how to manipulate the power of his calculation server (or his computer).
It is therefore essential to know the amount of random access memory (RAM) and the number of physical cores on the server before starting calculations.
Finally, optimising the computation time means making good use of the core parallelisation technology integrated in Meteodyn WT. It is thus necessary to always keep in mind to launch as many directional computations as possible simultaneously, while trying to allocate as many cores as possible to each directional computation.