Page tree
Skip to end of metadata
Go to start of metadata


Open Codes for Fluid Dynamics

Crédits : 2 ECTS

Durée : 21 heures

Semestre : S9

Responsable(s) :

Mathieu JENNY, Maître de conférences -

Mots clés : Open source codes for mechanics, fluid mechanics, thermal sciences.

Pré requis : Mechanics, fluid mechanics, transport phenomena, numerical methods.

Objectif général :

To be able to  use CFD codes, to analyze and interpret the results.

A lot of numerical codes are available to solve fluid mechanics problem with or without heat transfers. Some of them are open source such as OpenFoam or Freefem++. This kind of software is of interest because their availability is insured as far as a community of users exists. It also preserves a relative technical independence of the laboratories or companies which use them.

In this course, we present the software toolbox needed for the preprocessing, processing and post processing of a simulation. The main steps are the following:

  1. General presentation of numerical simulations. Review of main numerical methods.

  2. Presentation of a finite elements code, Freefem++. This code is adapted to fast developments of programs in order to solve specific research & development problems. Fluid mechanic problems with heat transfers will be solved using Freefem++ to practice Direct Numerical Simulations (DNS).

  3. Presentation of an end-user finite volumes code, OpenFoam. Gmesh is used to make the mesh (preprocessing). Presentation of configuration files used by OpenFoam. Simulation of a practical case (DNS and-or Reynolds Averaged Navier-Stokes).

  4. Parallel computing with OpenFoam. Mesh splitting and optimization of the number of processes.

Compétences : 


Description et verbes opérationnels


Numerical methods, finite differences, finite elements, finite volumes. Temporal discretization. Boundary conditions.


Understand the conditions of use of the different numerical scheme available in the codes. Make a link between the numerical formulation and the physic.


To be able to use a numerical code as a power user, i.e. understanding the mathematical background of numerical methods.


To be able to choose the methods and tools depending on the problem to solve.


Assuming the ratio cost - accuracy of a numerical method to choose the best options between several possibilities.


To be able to analyze the (numerical) solution to decide if it is pertinent.

Évaluations :

  • Test écrit
  • Contrôle continu
  • Oral, soutenance
  • Projet
  • Rapport
  • No labels