• Study level

    BAC +5

  • ECTS

    5 credits

  • Component

    Faculty of Science

  • Hourly volume

    39h

Description

This module introduces advanced atomistic simulation methods, and Molecular Dynamics in particular.

It thus includes an extension of the methods already acquired, both in terms of physics (ab initio simulations, density functional theory) and in terms of implementation (optimization, parallelization) and application (introduction to the practice of simulations in a high-performance computing environment).

Read more

Objectives

Understand the challenges of 'ab initio' simulations, such as their theoretical foundations and fields of application, as well as the approximations and simplifications involved in their implementation. Understanding the operation of highly optimized algorithms (compilation, profiling, compiler optimization, notion of cache, loop vectorization, etc.); understanding the operation of parallel code (MPI and/or OpenMP), and in particular knowing how to manipulate the code of a Molecular Dynamics-type simulation with the aim of optimizing its performance, by implementing the notions of parallelization taught. Basic knowledge of the use of Machine Learning approaches in atomistic simulations.

Read more

Necessary prerequisites

Knowledge of Statistical Physics; Molecular Dynamics; Programming language; Quantum Mechanics.

Recommended prerequisites :

Knowledge of a compiled programming language (C, C++, Fortran).

 

Read more

Knowledge control

Full continuous assessment

Read more

Syllabus

Code optimization: performance analysis of compiled code; compilation flags; cost of simple operations; efficient iteration on multidimensional arrays; cache optimization; notions of algorithmic complexity; parallelization libraries (MPI vs. OpenMP); scalability of parallel programs; list of neighbors, identification of invariants.

Simple parallelization strategies in molecular dynamics code (atomic decomposition vs. spatial decomposition)

Introduction to the use of Machine Learning approaches for atomistic simulations

Practice atomistic simulations in a high-performance computing environment.

Introduction to ab initio simulations: know the distinction between classical and ab initio atomistic modeling and the basic principles of density functional theory; identify the main simplifications and approximations underlying an ab initio simulation and familiarize yourself with an ab initio code.

Read more