1. Introduction#

L’objectif du cours est d’acquérir une démarche de modélisation numérique appliquée au traitement de problèmes mécaniques. Pour cela, on mettra en oeuvre la démarche suivante du « calcul scientifique », en utilisant le langage de programmation Python couramment utilisé en science.

python

1.1. Démarche du calcul scientifique#

  1. Analyse physique du problème

  2. Choix d’un modèle mathématique

  3. Choix d’une méthode numérique

  4. Choix d’une solution algorithmique

  5. Programmation sur un ordinateur

  6. Validation de la démarche

  7. Simulation

  8. Analyse du résultat

  9. Rédaction d’un rapport

Important

La validation est un point essentiel de la démarche !!!

1.2. Objectifs#

OBJECTIF

L’objectif est de savoir utilisé différents outils numériques pour traiter des problèmes de mécanique pour du traitement de données et/ou de la modélisation numérique.

En particulier, on utilisera de façon intelligente les bibliothèques et les outils numériques existants sans forcément faire de longs développements informatiques, mais en comprenant les principes, l’utilisation et les limitations de ces outils numériques.

2. Structure du cours#

2.1. Objectifs du cours#

Important

L’objectif de ce cours est d”apprendre à utiliser l’outil numérique avec une méthode scientifique pour traiter des problèmes de Mécanique

_images/la-methode-scientifique-FC.jpg

Fig. 2.1 (C) France Culture: La méthode scientifique: le meilleur des mondes informatiques [Mar18]#

Méthode

  1. apprentissage d’une méthode scientifique et pas uniquement d’un langage

  2. nécessite de la rigueur (formalisme mathématique)

  3. choix du langage Python et des notebooks Jupyter

  4. rédaction de compte rendu

  5. accès 24/24 à un serveur jupyter

  6. accès à des ressources pédagogiques en ligne

    • vidéos d’introduction à Python et Jupyter

2.2. Travail préparatoire en autonomie#

2.2.1. Vidéo d’introduction à Python#

Il s’agit de la première leçon d’un ensemble de modules d’apprentissage pour les étudiants en sciences et technologie. Ces modules utilisent le langage Python, mais en présupposant aucune expérience de programmation préalable. Le premier objectif sera de vous apprendre à utiliser un environnement numérique Python avec des notebooks Jupyter permettant de résoudre des problèmes et de gérer des données scientifiques.

2.2.2. Vidéo d’introduction aux notebooks Jupyter#

Cette vidéo décrit l’utilisation des notebooks Jupyter pour un cours ou TP sur les plateformes jupyter nbgrader du département mécanique.

Une erreur s’est glissée dans la vidéo du cours: seriez vous capable de la trouver?

2.3. Partie I: Préambule#

2.3.1. Histoire et enjeux de l’informatique en science#

2.3.2. Tutoriel d’utilisation des notebooks#

2.4. Partie II: Introduction à Python#

2.4.1. Base de la programmation sous Python#

  1. Notebook de cours

  2. TP d’application

2.5. Partie III: Python pour les scientifiques#

Python scientifique avec numpy et matplotlib

2.5.1. Algèbre linéaire#

  1. Rappel Algèbre linéaire

  2. devoir Webwork sur le portail moodle.mecanique

  3. Notebook d’application du cours

  4. TP Exercices de programmation

2.5.2. Analyse#

  1. Rappel Analyse

  2. devoir Webwork sur le portail moodle.mecanique

  3. TP Exercices de programmation et d’analyse de fonction

2.5.3. Traitement de données#

  1. Traitement de données

  2. TP traitement de données

2.6. Partie IV: Applications à des problèmes de Mécanique#

Simulation numérique de problèmes de Mécanique

  1. Analyse cinématique et calcul de trajectoire

  2. Résolution numérique d’EDO

  3. Problème du brachistochrone

2.7. Partie V: Application du calcul formel à des problèmes de mécanique#

Calcul formel en Mécanique

  1. Calcul symbolique en Mécanique

  2. Applications en Mécanique

  3. Applications en dynamique des solides