• Level of study

    BAC +5

  • ECTS

    5 credits

  • Component

    Faculty of Science

  • Hourly volume

    39h

Description

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

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

Read more

Objectives

Understand the issues of 'ab initio' type simulations, such as their theoretical foundations and their application domains, as well as the approximations and simplifications adjacent to their implementation. Understand the functioning of highly optimized algorithms (compilation, profiling, compiler optimization, notion of cache, loop vectorization, etc.); understand the functioning of a parallel code (MPI and/or OpenMP), and in particular know how to manipulate the code of a Molecular Dynamics type simulation in order to optimize its performance, by implementing the notions of parallelization taught. Basic notions on the use of Machine Learning approaches in atomistic simulations.

Read more

Necessary pre-requisites

Knowledge in Statistical Physics; Molecular Dynamics; Knowledge of a programming language; Quantum Mechanics

Recommended Prerequisites:

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

 

Read more

Knowledge control

Continuous control

Read more

Syllabus

Optimizing code: performance analysis of compiled code; compilation flags; cost of simple operations; efficient iteration over 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 a molecular dynamics code (atomic vs. spatial decomposition)

Introductory notions on the use of Machine Learning approaches for atomistic simulations

Practice of 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; know how to identify the main simplifications and approximations underlying an ab-initio simulation and become familiar with an ab initio code.

Read more