Master de mécanique

UM4MET11 – Calcul Scientifique (Scientific Computing)

Guillaume Michel

2025/06/23

Informations générales

Title (EN) Scientific Computing
Titre (FR) Calcul Scientifique
Nom du ou de la responsable de l’UE Guillaume Michel
Nombre d’heures de cours / Amount of class hours 1
Volume h TD / Amount of exercise hours 0
Volume h TP / Amount of practical work hours 20
Volume h Projet / Amount of project hours 16
ECTS 3
Semestre Automne (S1)
Semester Sept-Jan (S1)
Langue Français/Anglais
Language Français/Anglais
Localisation campus PMC
Code de l’UE UM4MET11

Informations pédagogiques

Contenu (FR)

Objectifs

Ce cours introduit l’outil numérique dans le contexte de la mécanique. Dans un premier temps, de nombreux problèmes concrets de mécanique sont mis en équation, résolus puis analysés avec Python. Différentes techniques d’implémentation sont présentées et comparées pour rendre l’étudiant capable de choisir la plus adéquate. Ces acquis sont ensuite exploités au cours d’un projet centré sur la spécialité de l’étudiant


Contenu

Partie 1 : Introduction aux Notebooks Jupyter
Partie 2 : La méthode d’Euler et ses raffinements
Partie 3 : Algèbre linéaire
Partie 4 : Optimisation

Déroulé

1e bimestre
2e bimestre

Content (EN)

Objectifs

Objectives

This course introduces scientific computing in the context of mechanics. A large number of mechanical problems are modeled, solved, and analyzed using Python. Various implementation techniques are presented and compared to enable students to choose the most appropriate one. These skills are then applied in a project focused on the student’s area of specialization.

Content

Part 1: Introduction to Jupyter Notebooks
Part 2: Euler’s Method and Its Refinements
Part 3: Linear Algebra
Part 4: Optimization

Schedule

1st Term
2e Term

Mots clés (FR)

Méthodes numériques, Python, Différence finie, Runge Kutta, Algèbre linéaire, Optimisation

Keywords (EN)

Numerical methods, Python, Finite difference, Runge Kutta, Linear algebra, Optimization

Préréquis (FR)

Notions de base en programmation (boucles, types de variables) et leurs implémentations en Python, mise en équation d’un système linéaire à nombre fini de degrés de liberté, résolution dans les régimes libre et forcé

Pre-requisites (EN)

Basic concepts in programming (loops, variable types) and their implementation in Python, formulation of a linear system with a finite number of degrees of freedom, solution in free and forced regimes.

Modalité d’evaluation

Épreuve Pondération
Examens individuels 40%
Rendu et présentation du projet 60%

1. Examens individuels (40%)

2. Projet (60%)
Rendus :

Assessment

Evaluation Type Weight
Individual exams 40%
Project report and presentation 60%

1. Individual exams (40%)

2. Project report and presentation (60%)
Deliverables :

Acquis d’Apprentissage Visés

À l’issue du cours, l’étudiant sera capable de :

  1. Modéliser un problème mécanique pour expliciter l’objet de la résolution numérique.
  2. Connaître différentes méthodes numériques (d’optimisation, de résolution d’EDO, de problèmes d’algèbre linéaire) et choisir la plus adaptée.
  3. Etre autonome dans sa programmation en Python, savoir exploiter la documentation pour utiliser de nouvelles fonctions et utiliser les messages d’erreur pour corriger son code.
  4. Interpréter les résultats obtenus.

Learning outcomes

By the end of the course, students will be able to:

  1. Model a mechanical problem and specify what needs to be numerically solved.
  2. Understand various numerical methods (optimization, solving ODEs, linear algebra problems) and choose the most suitable one.
  3. Work independently with Python programming, make use of documentation to learn new functions, and use error messages to debug code
  4. Interpret the obtained results.

Bibliographie

Version PDF