Informations générales
Title (EN) | Méthodes numériques en mécanique des fluides 1 |
Titre (FR) | Numerical methods for fluid mechanics 1 |
Nom du ou de la responsable de l’UE | Francesco Picella |
ECTS | 3 |
Semestre | Automne (S1) |
Semester | Sept-Jan (S1) |
Langue | Français/Anglais |
Localisation | UPMC |
Code de l’UE | UM4MEF11 |
Informations pédagogiques
Contenu (FR)
Course Objectives
This course introduces numerical methods for solving linear partial differential equations (PDEs) encountered in fluid mechanics and related fields.
Emphasis is placed on:
- Understanding and analyzing finite difference methods.
- Developing numerical schemes with a solid theoretical foundation.
- Hands-on coding in Python to explore the practical behavior of schemes.
- Building the ability to critically assess stability and accuracy.
The course is balanced between theoretical analysis and numerical implementation.
Learning Outcomes
By the end of this course, students will be able to:
- Discretize linear PDEs using finite-difference methods in multiple dimensions.
- Implement explicit and implicit time integration schemes.
- Analyze the order of accuracy and stability of numerical methods.
- Select appropriate numerical techniques based on the PDE type.
- Develop and validate simulation codes using Python/Jupyter Notebooks.
- Identify, diagnose, and fix coding or modeling errors.
- Present and interpret numerical results with clarity and rigor.
Course Content
- Review of numerical differentiation and the order of schemes.
- Stability analysis for ODE solvers: error propagation, eigenvalue analysis.
- Introduction to von Neumann stability analysis for PDEs.
- Diffusion equation: discretization, error and stability criteria.
- Convection equation: centered vs upwind schemes, stability trade-offs.
- Generalization to multidimensional problems via approximate factorization.
- Treatment of boundary conditions in numerical schemes.
- Application: 2D convection-diffusion equation — transport of a passive scalar.
Prerequisites
- Basic numerical analysis and programming
- Background in finite difference methods at undergraduate (L3) level
Teaching Breakdown
Week | Lecture | Lab (Jupyter) |
---|---|---|
W1 | 2h | 2h |
W2 | 2h | 2h |
W3 | 2h | 2h |
W4 | 2h | 2h |
W5 | 2h | 2h |
W6 | 2h | 2h |
W7 | 2h | 2h |
W8 | Written Exam | 2h |
W9 | Practical Exam | 2h |
Assessment
Component | Weight |
---|---|
Python Jupyter Notebook (practical exam, 2h) | 33% |
Written Exam (theoretical understanding, 2h) | 33% |
Home Work (continuous assessment) | 34% |
⚠️ Important: All submitted documents — including homeworks, notebooks, and reports — must include a quantitative validation of the results (e.g., comparison to reference solutions, theoretical benchmarks, or literature). Submissions without such validation will not be considered valid.
Pedagogical format
Each session is composed of:
- 2 hours of theoretical lecture, introducing and explaining a new topic or concept.
- 2 hours of hands-on practice with Python and Jupyter Notebooks. Each lab includes:
- A notebook containing a subject, tasks, and partial code.
- Students (working individually) complete the implementation using knowledge gained during the lecture.
The completed Jupyter notebooks must be:
- Submitted via the course’s Moodle platform before the following session.
- Evaluated as homework, contributing to the continuous assessment.
✅ Homework submissions must also include quantitative validation of results in order to be considered complete and eligible for grading.
Tools and Languages
- Python
- Jupyter Notebooks
- NumPy, Matplotlib
- Git (recommended for version control)
Recommended Reading
- Randal LeVeque (2007), Finite Difference Methods for Ordinary and Partial Differential Equations, SIAM.
- Parviz Moin (2010), Fundamentals of Engineering Numerical Analysis, Cambridge University Press.
Content (EN)
Objectifs du cours
Ce cours introduit les méthodes numériques pour la résolution des équations aux dérivées partielles (EDP) linéaires rencontrées en mécanique des fluides et dans des domaines connexes.
L’accent est mis sur :
- La compréhension et l’analyse des méthodes des différences finies.
- Le développement de schémas numériques fondés sur des bases théoriques solides.
- L’implémentation pratique en Python pour explorer le comportement des schémas.
- Le développement d’un esprit critique pour évaluer la stabilité et la précision des méthodes.
Le cours est équilibré entre analyse théorique et mise en œuvre numérique.
Compétences acquises
À l’issue du cours, les étudiants seront capables de :
- Discrétiser des EDP linéaires à l’aide de méthodes de différences finies en dimensions multiples.
- Implémenter des schémas d’intégration en temps explicites et implicites.
- Analyser l’ordre de précision et la stabilité des méthodes numériques.
- Choisir les techniques numériques appropriées selon le type d’équation à résoudre.
- Développer et valider des codes de simulation avec Python / Jupyter Notebooks.
- Identifier, diagnostiquer et corriger les erreurs de modélisation ou de programmation.
- Présenter et interpréter des résultats numériques de façon rigoureuse et claire.
Contenu du cours
- Rappels sur la dérivation numérique et l’ordre des schémas.
- Analyse de stabilité des solveurs d’EDO : propagation d’erreur, analyse spectrale.
- Introduction à l’analyse de stabilité de von Neumann pour les EDP.
- Équation de diffusion : discrétisation, erreurs et critères de stabilité.
- Équation de convection : schémas centrés vs décentrés, compromis stabilité/précision.
- Généralisation aux problèmes multidimensionnels via factorisation approchée.
- Prise en compte des conditions aux limites dans les schémas numériques.
- Application : équation de convection-diffusion 2D — transport d’un scalaire passif.
Prérequis
- Analyse numérique de base et programmation
- Connaissances en différences finies (niveau L3)
Répartition pédagogique
Semaine | Cours magistral | TP (Jupyter) |
---|---|---|
S1 | 2h | 2h |
S2 | 2h | 2h |
S3 | 2h | 2h |
S4 | 2h | 2h |
S5 | 2h | 2h |
S6 | 2h | 2h |
S7 | 2h | 2h |
S8 | Examen écrit 2h | |
S9 | Examen pratique 2h |
Modalités d’évaluation
Épreuve | Pondération |
---|---|
Notebook Jupyter (examen pratique) | 33% |
Examen écrit (aspects théoriques, 2h) | 33% |
Devoirs maison (contrôle continu, 2h) | 34% |
⚠️ Important : Tous les documents remis — devoirs, notebooks, rapports — doivent inclure une validation quantitative des résultats (comparaison à des solutions de référence, résultats théoriques, ou données de la littérature). Toute soumission sans validation ne sera pas considérée comme recevable.
Format pédagogique
Chaque séance est organisée comme suit :
- 2 heures de cours magistral, pour introduire et expliquer un nouveau concept.
- 2 heures de mise en pratique, sous forme de notebooks Jupyter en Python. Chaque TP comprend :
- Un sujet, des tâches, et une implémentation partielle du code.
- L’étudiant (en monôme) complète le notebook en s’appuyant sur les connaissances acquises en cours.
Les notebooks complétés doivent être :
- Remis via la plateforme Moodle avant la séance suivante.
- Évalués dans le cadre du contrôle continu.
✅ Les devoirs maison doivent impérativement contenir une validation quantitative pour être considérés comme complets et notés.
Outils et langages
- Python
- Jupyter Notebooks
- NumPy, Matplotlib
- Git (recommandé pour la gestion de version)
Bibliographie
- Randal LeVeque (2007), Finite Difference Methods for Ordinary and Partial Differential Equations, SIAM.
- Parviz Moin (2010), Fundamentals of Engineering Numerical Analysis, Cambridge University Press.
Mots clés (FR)
methodes numériques, timestepper, differences finies, stabilité, scémas numériques
Keywords (EN)
numerical methods for ODE and PDE, timestepper, finite differences, stability and numerical schemes
Préréquis (FR)
math-info
Pre-requisites (EN)
math-info
Modalité d’evaluation
epreuve theorique ecrite 33% epreuve calculateur 33% devoir maison 34%
Assessment
written exam 33% practical exam 33% homework 34%
Bibliographie
-
Randal LeVeque (2007), Finite Difference Methods for Ordinary and Partial Differential Equations, SIAM.
-
Parviz Moin (2010), Fundamentals of Engineering Numerical Analysis, Cambridge University Press.