Fluid Dynamics Simulation

Understanding fluid flows enables advancements in engineering problems like aerodynamics. To simulate the effects of these problems requires both high amounts of computational power and visualisation techniques to visualise the problems at high enough refinement to be useful.

Optimisation

Profiling

Optimising the codes can be a difficult challenge, but through the use of profiling tools, we are able to break down the bottlenecks of the code for optimisation focus.

XCode profiler.
VTune profiler.
gprof profiler.

Vectorisation

The problem is fortunate that we are able to perform a lot of repeat operations on the mesh involved and by just a few alterations to the loops we are able to make the most of the vectorisation capabilities of the CPU.

Vectorisation report.

Parallelisation

Similar to vectorisation, we are able to parallelise some of the loop operations in cohesion with the vectorisation where the outer loops will be parallelised over multiple cores whilst the inner loops can be vectorised.

Visualisation

To visualise our findings, we compare 2 methods. One of which is processing the .vtk files in Paraview using a user interface to visualise the outputs.

We also investigated the effects of different pressures on a fluid, trying to visualise swirling eddies in the fluid. For these visualisations, we used VTK:

Share