Nicola Luminari

Nicola Luminari

First Impressions

Hello my name is Nicola Luminari and I come from Italy; now I’m about to finish my last year of a Master degree in Naval Architecture at University of Genova.

Here in Ostrava, my colleague Martin Weber and I, are working on a project that will develop a racing car video game.

Basically, the game will have a GUI interface in which the user can change some geometrical parameters of the base model that’s actually the Tatra 87, a car that during the 80’s claimed to be one of the most aerodynamic.

After the parameters are changed, the geometry is simulated using a CFD (computational fluid dynamics ) software called OpenFOAM, in order to calculate the drag coefficient of the car.

I am personally responsible for the simulation part of the project.

We want to know the drag coefficient because with that we are able to compare the different design and so decide which car will win the race.

OpenFOAM is the de-facto standard for open software in CFD, it use the finite volume method to solve the equations of motion for fluids (RANSE equations).

This kind of simulation is usually very computational demanding so this is why here at IT for Innovation (IT4I ) in Ostrava I’m using a cluster named “Anselm” to perform the required simulations.

During the first week I have put my efforts in the physical setup of the model, so I have run a lot of different configurations of the boundary conditions and the turbulence models; finally finding a setup that seems to be reasonable.

I’m very happy to be able to use “Anselm” because one of the most annoying thing about CFD is that you have to wait a lot for the end of the simulations, but if you can use huge computational power you can have faster results and you are also able to run bigger cases.

The cluster is very simple to use and of course a lot of people here at the computing centre had to help me a lot with the initial problems I had using this kind of cluster.

Once I gain some experience on Anselm, I will start to increase the dimension of the case (number of cells of the mesh) and also begin using more and more computational power.

In the last week, I have also performed a scalability test in order to understand the computational power needed for my case and also to understand the real performance of the software.

Now I’m working on the calculation of the car steady state velocity based on the drag coefficient of the simulations.

From my point of view it’s fun to work on this project because I was always fascinated by racing cars and here I have the opportunity to better understand the aerodynamic behavior  of a car.

It’s not the first time that I have worked with the CFD method and OpenFOAM because I’m also using it in my master thesis, but the Summer of HPC has given me the opportunity to exploit my capability in a completely different field ( remember I’m studying Naval Architecture, so ships not cars).

I also like staying here in Ostrava, it’s a pleasing city and in the neighbourhood of the campus there are a lot of green spaces where I can run after the office work.

Also the city centre is very pleasant and there are a lot of pubs with very good beer !  🙂

luminari-2

Fig. 1 – Car surface pressure fields with streamlines of the rear bottom, you can see the vortex generated behind the car.

luminari-1

Fig. 2 – Another view of the same vortex structures.

luminari2-2

Fig. 3 – Dissipation of the vortex in terms of turbulent viscosity.

luminari2-1

Fig.4 – Section of the car with a plane passing in the right tyres, the trajectories and the intensity of the particle velocity are shown with vectors.

luminari2-3

Fig. 5 – Same view as but with the magnitude of the velocity field in the background .

luminari2-4

Fig. 6 – Surface pressure on the car with all the streamlines around.

luminari2-5

Fig. 7 – Section of the volume mesh on the car surface.

luminari2-6

Fig. 8 – Another section but of the front tyre part of the car, with also the pressure field.

The SoHPC Experience

After all the hard work we are almost at the finish.

During the second month I tried to improve the setup of my simulation procedure.  In order to do this I’ve used a very simple geometry called Ahmed body that is usually used as a benchmark case for the external aerodynamics.

For this specific geometry some experimental results are available online, so it’s possible to compare the results of the simulation. I’ve found out that with my setup the drag coefficient was very close to the measured one, but the velocity profile especially in the wake zone were not so accurate.

I’m sure that the model could be further improved, but to do that, I would have to test a lot of different wall function and turbulence models (and also improve the mesh quality). We haven’t made such improvements because in the game we just want to compare different geometry of cars, so even if there are some errors in the drag coefficient computations, we are comparing the same setup (either the physics or the numerics).

In the actual game, my colleague Martin has implemented 11 geometry parameters, so I have computed the drag coefficient for 23 cases; these are the minimum and the maximum values for each parameter maintaining the others as the base one.

After that the game engine computes some very simplified regression models to obtain the actual drag coefficient of the modified car (it’s possible that all the 11 parameters are changed ).

With this simplified method we ignore the interaction between the parameters but it was the only possible solution for the game version without a connection to the supercomputer Anselm.

In another version of the game the simulations are done “runtime”, this means that the players have to wait after they have modified the geometry for the computation to finish. We have seen that with the actual setup (20M mesh, on 256 cores) the simulation procedure takes approximately 1 hour.

Consequently, I have tried to speed up the simulation. To do this I have implemented a different procedure in which only the half of the domain is simulated (since we have seen the steady state solution is practically symmetrical)  and the stopping criteria is not based on the number of iterations but instead we stop the computation when the linear system solver has reach a certain value in the residuals.

With these procedures the simulation time is now 30 minutes. The bottleneck is the mesh generation since it hasn’t the same scalability of the solver because during the mesh process the memory is the most stressed part of the machine.

I’m happy about the final results of the project both for my part and also for the game engine and the GUI.

For my point of view the simulation procedure can be further improved but it will require a lot more time and experimental data.

In the last month, I also went hiking twice in two different mountains in the neighbourhood of Ostrava. I love these little trips since the landscape is amazing and I also enjoy being immersed in nature and spending some time with peace around me.

After two months spent here in Ostrava I can say that it is a pleasant city and I have really enjoyed my stay here; I would also want to thank Karina Pešatová, Tomas Karasek and Milan Jaros for all the help they gave me, either for the project and for the normal life issues.

I would also to thank PRACE and IT4Innovation for having chosen me for this project and for giving me such a big opportunity to improve my skills.

nimage001

Fig. 1 – Ahmed body geometry.

n3

Fig.2 – Ahmed body solution.

n2

Fig. 3 – Domain view and boundary condition.

n7

Fig.4 – Example of modified geometry (longer rear part), Cp means pressure coefficient.

n6

Fig. 5 – Same car different prospective.

n5

Fig. 6 – Car bottom.

n4

Fig. 7 – Car side.

n10

Fig .8 – Q criterion isosurface coloured with pressure field.

n8

Fig. 9 – Streamlines in the bottom of the car.

n9

Fig. 10 – Streamlines in the front part of the car.

Tagged with: , , ,
One comment on “Nicola Luminari
  1. Antti Mikkonen says:

    Hello,

    Nice pictures! Do you mind if I use them in lecture material? I’m giving a basic course on CFD.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.