# 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.