Schedule

Monday Feb 8 Tuesday Feb 9 Wednesday Feb 10
09:00-10:00 Theory 2 Theory 4
10:00-12:00 Theory 1: LB Theory 3 Theory 5
13:30-15:00 Practice 1: LB Practice 3 Practice 5
15:00-17:00 Practice 2: BC Practice 4 Practice 6

Theory Sessions

Theory 1: Beginner's introduction to lattice Boltzmann

Teacher: Bastien Chopard

The basic principles of the lattice Boltzmann method are presented from a historical perspective. This class starts with an overview of the classical Lattice Gas Automata, explains how lattice Boltzmann models are derived from these automata, and presents the most important algorithmic ingredients needed for the implementation of a simple lattice Boltzmann program.

Theory 2: Introduction to Palabos

Teachers: Jonas Latt and Orestis Malaspinas

Palabos is presented as a generic library for the implementation of lattice Boltzmann code. It is shown that, while the library offers a selection of pre-implemented models, it can also be handled liberally to implement new models in a research activity.

The principles of the library are illustrated through a choice of example programs, and the basic data structures used in the library are explained.

Theory 3: Using Palabos; from simulation setup to graphical output

Teachers: Jonas Latt and Orestis Malaspinas

This is a step-by-step tutorial on how to develop simple applications with Palabos.

Theory 4: Advanced data structures

Teachers: Jonas Latt and Orestis Malaspinas

This lesson looks into more advanced data structures, and covers the topics of

  • Performing measurements to evaluate the numerical data.
  • Creating couplings for multi-phase and thermal flows.
  • Creating complex geometries with the bounce-back boundary condition.

Theory 5: Outlook

Teachers: Jonas Latt and Orestis Malaspinas

The topics covered in this lesson are:

  • High-performance computing: how far can we go with lattice Boltzmann?
  • Sample applications with Palabos.
  • Overview of community activity. How can you contribute to the Palabos project?

Practice Sessions

Practice 1: Cellular Automaton in Matlab

Teachers: Bastien Chopard, Orestis Malaspinas, Jean-Luc Falcone, Daniel Lagrava

The matrix formalism of Matlab is similar to the multi-block formalism in Palabos. In the first practice session, you will therefore be trained to understanding this data structure by implementing a simple lattice gas automaton in Matlab.

Practice 2: Lattice Boltzmann code in Matlab

Teachers: Bastien Chopard, Orestis Malaspinas, Jean-Luc Falcone, Daniel Lagrava

The second practice session builds on the first one and proposes to implement a lattice Boltzmann BGK code, using the same data structure as with the cellular automaton. The practice session is preceded by a short theoretical discussion of boundary conditions.

Practice 3: First Palabos application

Teachers: Jonas Latt, Orestis Malaspinas, Daniel Lagrava, Andrea Parmigiani

Implement your first simple Palabos code: a three-dimensional flow around a cylinder, in a laminar and slightly turbulent regime.

Practice 4: Execution and evaluation

Teachers: Jonas Latt, Orestis Malaspinas, Daniel Lagrava, Andrea Parmigiani

Application of the code developed in practice session 3: parallel execution, data evaluation and data plotting.

Practice 5: Start your own project

Teachers: Jonas Latt, Orestis Malaspinas, Daniel Lagrava, Andrea Parmigiani

In practice session 5, you have the opportunity to start developing a Palabos code related to your research area. You will be encourage to formulate an initial project which is modest enough to lead to a running code at the end of this afternoon.

Practice 6: Start your own project

Teachers: Jonas Latt, Orestis Malaspinas, Daniel Lagrava, Andrea Parmigiani

Continue working on your personal project.