Level of education
Master's degree
ECTS
5 credits
Training structure
Faculty of Science
Hours per week
39h
Description
This module introduces advanced practices in atomistic simulation methods, particularly Molecular Dynamics.
It thus includes the expansion of methods already acquired, both in terms of physics (ab initio simulations, density functional theory) , as well as in terms of implementation (optimization, parallelization) and application (introduction to the practice of simulations in a high-performance computing environment).
Objectives
Understand the challenges of ab initio simulations, such as their theoretical foundations and areas of application, as well as the approximations and simplifications associated with their implementation. Understand how highly optimized algorithms work (compilation, profiling, compiler optimization, caching, loop vectorization, etc.); understand how parallel code works (MPI and/or OpenMP), and in particular know how to manipulate the code of a molecular dynamics simulation in order to optimize its performance, by implementing the concepts of parallelization taught. Basic concepts on the use of machine learning approaches in atomistic simulations.
Mandatory prerequisites
Knowledge of statistical physics; understanding of molecular dynamics; knowledge of a programming language; quantum mechanics.
Recommended prerequisites:
Knowledge of a compiled programming language (C, C++, Fortran).
Knowledge assessment
Continuous assessment
Syllabus
Code optimization: performance analysis of compiled code; compilation flags; cost of simple operations; efficient iteration on multidimensional arrays; cache optimization; concepts of algorithmic complexity; parallelization libraries (MPI vs. OpenMP); scalability of parallel programs; neighbor list, identification of invariants.
Simple parallelization strategies in molecular dynamics code (atomic decomposition vs. spatial decomposition)
Introductory concepts 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: understand 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.