Liste de projets, expérimentation numérique.

Frédéric Faure
Université Grenoble Alpes, France
(version: 21 septembre 2018)

Objectif de cet enseignement:

Apprendre l'expérimentation numérique pour divers problèmes de science (physique, ..), et connaitre les différentes méthodes et algorithmes standards.

Déroulement de l'enseignement:

Dans une première partie, chaque étudiant s'initie à un langage de programmation bien adapté au calcul scientifique. On propose python ou le C++. Voici un didacticiel pour C++ et voici un didacticiel pour python. On a choisit ces deux langages, car de nombreuses bibliothèques scientifiques sont disponibles. (pour python il y a scipy, matplotlib,..., pour C++ il y a gsl,  root, armadillo... ).
Dans une deuxième partie, en travaillant par binomes (ou seuls), les étudiants choisissent un projet d'expérimentation numérique qu'ils développent. Une liste de projets possibles est donnée ci-dessous. On peut distinguer trois parties dans ce travail:
  1. Phase de modélisation: partant du problème posé, il faut réfléchir à la façon de modéliser le problème, c'est à dire le mettre en équation, quel algorithme mettre en oeuvre, définir les objectifs que l'on peut obtenir de façon réaliste,...
    Très souvent on connait les résultats au problème posé pour des cas particuliers. Il faut bien étudier au préalable ces cas particuliers, car ils permettront de tester le programme.
  2. Phase de programmation: on écrit le programme dans le langage choisit. (On teste le programme au fur et à mesure en utilisant les cas particuliers)
  3. Phase d'exploitation: on étudie et discute les résultats de la simulation. On rédige un “document scientifique” (en utilisant Lyx).
Outre la programmation, il pourra être utile de faire du calcul formel au cours du projet. Pour cela on suggère l'utilisation du logiciel libre xcas.

Table des matières

1 Systèmes dynamiques avec peu de degrés de liberté

1.1 L'équation du télégraphe en dimension 1.

1.2 Modèles de dynamiques prédateurs, proix et généralisation.

1.3 Application logistique, fractale de Julia et de Mandelbrot.

1.4 Le problème à trois corps restreint.

1.5 Dynamique sur une surface hyperbolique

Enoncé et solutions.

1.6 Billard polygonal

Est équivalent à N masses libres sur un cercle qui se collisionnent.
Question ouvert: existence d'une orbite périodique.

1.7 Application de Gauss et fractions continues en théorie des nombres.

Fractions continues,

1.8 Moulin de Lorenz et flot de Lorenz

Référence: cours. Sur wikipedia. Attracteur de Henon.

1.9 Billard de sinai avec obstacles ronds ou obstacles rectangles

Observer la diffusion abnormal, cf results de pascal Hubert

1.10 Le double pendule

video

1.11 « Dripping faucet » , « le robinet qui goutte »

Faire expérience, et étudier le modèle. Référence: the Dripping faucet as a model chaotic system, shaw.
Modèle simple: un oscillateur vertical z( t ) , raideur 1, masse qui augmente m( t ) = m 0 +m'.t et si z( t ) < z 0 on impose m( t ) = m 0 et z'( t ) =0 (ou autre d'après conservation impulsion et énergie).
Réaliser une expérience avec rendu sonore (la goutte tombe sur une plaque de métal).
Articles
Voir cette serie d'articles

1.12 Anosov linkage

Référence by M. Kourganoff.
Video.

1.13 (*4)Billard dispersif de Sinaï (1970)

,

1.14 Théorie Astronomique du climat

A partir de données issues de carottes de glace de l'antartique, on reconstruit la teneur en CO2 de l'atmosphère sur les 400000 ans précédents, ainsi que la température moyenne de la Terre.  A l'aide d'un programme, en fait une décomposition en fréquences de ces données, afin d'identifier des cycles dominants, leur amplitude et période. Par ailleurs des calculs astronomiques nous donnent les paramètres de l'orbite terrestre sur cette  même durée.  On déduira l'ensoleillement moyen de la Terre, et on essayera de reconnaitre les même cycles.
Informations:
article vulgarisé
Thèse de B. Levrard
Dossier assez complet

1.15 (4) Relativité générale:

Objectif:
étude du mouvement d'une planète ou d'un rayon lumineux autour d'une étoile ou d'un trou noir. Dans le cadre de la relativité générale, l'étoile déforme l'espace temps autour d'elle. Une planète ou un rayon, lumineux ne subit pas directement une force (gravitation) de la part de l'étoile, mais avance ”le plus droit possible” dans cet espace courbe. On dit que sa trajectoire est une géodésique. Dans un premier temps: étude des géodésiques sur une surface (2D) courbe; Puis étude de la trajectoire d'une planète. Observation du mouvement elliptique (Newton), mouvement du périhélie, inflexion des rayons lumineux, décalage gravitationel de la lumière vers le rouge, effet du trou noir. Pour les indications physiques, voirle cours de mécanique analytique et surtout l'exercice 2 et sa solution du TD6 de mécanique analytique (L3). Voici des notes manuscriptes qui indiquent comment programmer et tester ce projet.
Références de livres: Wald, Nakahara.

1.16 (3) Simulateur de Vol d'un planeur

Intégration numérique du vol d'un planeur en temps réel dans le plan vertical; On agit sur la position du manche à balet en temps reel. Enonce et solutions. Visualisation du paysage en trois dimensions et solutions.

1.17 Simulateur de Vol d'une montgolfiere

Idem pour une montgolfière. Le pilote agit sur les gaz. Un vent d'est derive l'engin vers des montagnes.

1.18 (2) Pendule chaotique

Enoncé

1.19 Dynamique du pendule pulsé

L'objet suivant (les 3 disques bleus) tourne librement autour de son axe. Mais un aimant extérieur (rouge) lui impose une force périodique. Il en résulte un comportement chaotique.
On fera des images stroboscopiques des trajectoires, afin d'observer la transition de l'ordre vers le chaos. Observation du phénomènes des résonnances, et accrochage de fréquences.
image: 3_home_faure_enseignement_informatique_projets_simulation_pendule_anim.gif

1.20 Boule du jeu Billard

étude assez complete du mouvement de la boule dans jeu de billard, soumise au chocs, aux frottements,...

1.21 Etude dynamique d'un billard parfait

On étudie les trajectoires d'une particules dans un billard au bord quelconque, sans frottement et se réfléchissant parfaitement sur les bords. Observation du chaos pour certaines formes du billard.

1.22 Modèle des anneaux de Saturne

Modèle dynamique de poussières tournant autour de Saturne, faisant apparaitre les gaps par effets de résonances.

1.23 Optique géométrique

Comportement d'un rayon lumineux à travers un système optique. Comportement à travers une interface, sur un miroir, aberration d'une lentille. Effets non linéaires et chaos.

1.24 Oscillation de deux masses couplées

Phénomène de battement. Section de Poincaré et chaos.

1.25 Bouteille magnétique

1.26 Astronomie

Documents

2 Systèmes dynamiques avec un grand nombre de degrés de liberté

2.1 Dynamique de N corps

2.2 Jeu de la vie, automates cellulaires

Sur un réseau carré à deux dimension, des cases peuvent être dans différents états (noir/blanc). L'instant d'après leur état change en fonction de l'état des cases voisines, de façon précise (règles que l'on choisit). On se fixe une population initiale de cases noires, et l'on étudie son évolution. Des phénomènes complexes et étranges peuvent être observés: croissance, déplacement de la population, décomposation, création de colonies,...

2.3 Circulation automobile et embouteillages

modèlisation du traffic urbain sur une route droite.

2.4 (*3)Dynamique spatio-temporelle

2.5 Modèle de Kuramoto-Sivashinsky de chaos -spatio_temporel.

C'est semble t-il le modèle le plus simple, similaire à Navier-Stokes en régime turbulent.

2.6 Accrochage de fréquences

cf page 8 et 9 de: Calegari1 metronomes

2.7 Circulation automobile et embouteillages

modèlisation du traffic urbain sur une route droite.

2.8 Ondes solitaires à la surface de l'eau

Modele de KdV . Resolution par Runge-Kutta. cf Cours.

2.9 Avalanche de neige ou de tas de sable

modèle de Monte-Carlo; avec coef de viscosité, et température. Voir ce site.

2.10 Modèles de morphogénèse

2.11 Des réseaux pour modéliser la diffusion des idées

Comment enrayer une épidémie de désinformation? (article dans pour la science, voir modèle de graphes page 64)(article dans pour la science, voir modèle de graphes page 64)

2.12 Routage de voilier

Faire un programme comme sur zezo.org qui permet de trouver la route optimale d'un voilier à partir de ses caractéristiques (courbes polaires), à partir des prévisions de vent et courants (fichier ). Pour cela essayer deux algorithmes:
  1. Optimiser une courbe donnée.
  2. construire une fonction sur l'espace à valeur temps d'arrivée.
Utiliser pour guider votre voilier virtuel dans une transaltlantique.

3 EDP et problèmes d'ondes

3.1 (5) Chaos Quantique

(Avec le modèle du Harper Pulsé, décrit ici).
La mécanique quantique stipule que les propriétés spatiales d'un objet sont décrites par une onde, appelées onde quantique. L'équation de Schrödinger gouverne l'évolution des cette onde au cours du temps.
Il y a des cas où cette onde peut être concentrée spatialement, et former un paquet d'onde. On observe alors que ce paquet d'onde se déplace au cours du temps et reste localisé pendant un certain temps. Ce paquet d'onde peut avoir une taille microscopique, et à grande échelle, il apparait comme un point, une particule. Il est donc de considérer ce paquet d'onde comme une particule dite “classique”, qui correspond au centre du paquet d'onde. Le mouvement de cette particule classique est décrite par une équation de mouvement classique de type Newton (m a=F) ou Hamilton (voir ci-dessous). C'est ainsi que l'on a une correspondance entre la mécanique quantique et la mécanique classique.
Le but de ce projet est de simuler dans un modèle simple le mouvement de ces paquets d'ondes quantiques, et simultanément d'observer le mouvement de la particule classique, afin de comprendre cette correspondance.
Il apparait que certaines équations de mouvement classiques sont simples en apparence, et déterministe, mais engendre un mouvement très complexe de la particule, imprévisible, dit chaotique. On se pose alors la question de savoir ce que devient le paquet d'onde dans ce cas? C'est le problème du chaos quantique. D'un point de vue plus mathématique, cette situation est paradoxale à priori car l'équation de Schrodinger est linéaire et ne peut donc engendrer du chaos en principe. Le modèle qui suit permettra d'observer cette situation.
La première étape sera d'observer le comportement classique de la particule, et ensuite le comportement quantique.
Enoncé:
image: 4_home_faure_enseignement_informatique_projets_simulation_chaos_quantique_liouville_2.gif image: 5_home_faure_enseignement_informatique_projets_simulation_chaos_quantique_husimi_2b.gif

3.2 (*2 puis 3) Formation de nuages sur une montagne par condensation de l'humidité

Ecoulement d'une atmosphère humide sur un massif montagneux, et formation de nuages par condensation de l'humidité. Enoncé
image: 6_home_faure_enseignement_informatique_projets_simulation_meteo_nuages.gif

3.3 Son: réalisation d'un accordeur pour intrument musical

On détecte une note. On mesure sa fréquence et on indique s'il est écartée de l'échelle du tempérament égal où le La (A) est à f A =440 Hz . Enoncé.

3.4 Son: détection d'une note musicale

  1. détection d'une note musicale Enoncé.
  2. détection du rythme
  3. écriture automatique de la partition avec le logiciel lilypond.

3.5 Son: détection d'une polyphonie

C'est à dire détecter la présence de plusieurs notes simultanées et identifier leur timbre.

3.6 Evolution d'une onde dans une cavité bidimensionelle (Billard).

Pour cela on calcule d'abord les modes propres de la cavité grace à la méthode de superposition d'ondes planes, et de la "décomposition QR "d'une matrice. Ref: "Betcke-Trefethen Reviving the method of particular solutions 2005". Ensuite, par surperposition d'ondes stationnaires on construit un paquet d'onde que l'on fait évoluer dans la cavité. On pourra comparer l'évolution du paquet d'onde à la dynamique d'un rayon dans la même cavité.

3.7 (4) Etats stationnaires et effet tunnel en mécanique quantique

Etude d'un potentiel confinant (polynomial). Résolution de l'équation stationnaire dans la base de l'oscillateur
Harmonique.
Calcul et dessin des etats stationnaires. Evolution d'un paquet d'onde atomique dans une molécule; comparaison
avec la trajectoire classique; étalement du paquet, effet tunnel...
Enoncé.
Supplément

3.8 Solitons dans une chaine d'atomes

Que se passe t-il dans un système où les atomes (sur une ligne)
interagissent avec leur voisins avec des forces non harmoniques?
Force harmonique=-k.r
Force non harmonique=a*(exp(-b.r)-1)
où r est le déplacement de la position d'équilibre de la
distance entre l'atome et son voisin. On représentera la propagation
d'une déformation. Dans le cas non harmonique apparaissent des ondes
d'un caractère spécial qui se déplacent sans dispersion: des
solitons. Mots clefs: solitons, solitons de Toda, (theory of
non-linear lattices springer Verlag, 1989).

3.9 Ondes solitaires à la surface de l'eau

Modele de KdV . Resolution par Runge-Kutta.

3.10 Transformée par ondelettes d'un signal sonore

Representation du signal dans le plan temps-frequence, avec les ondelettes de Morlet.
Applications à la musique: reconnaissance des notes, du timbre
d'instruments, d'accords...

3.11 Microscope en ondelettes d'une image (méthode de Daubuchie)

on veut représenter une
image en s'affranchissant plus ou moins des détails de celle-ci. On peut
arriver à quantifier le plus ou moins grâce à une double
transformée rapide en ondelettes. Applications à la compression
d'images.

3.12 (*3) Vibration d'une membrane de tambour de forme quelconque

Calcul des fréquences et modes propres; Son du tambour: réponse à une excitation. Enoncé. Solutions des calculs. Programme en python pour l'etape 1 (rectangle).
Résultats attendus.
Référence: handbook of acoustic.

3.13 Evolution d'un paquet d'onde en milieu dispersif

On résoud l'équation dépendant du temps par différences
finies.
On observe le déplacement du paquet d'onde son étalement
(dispersion),
et les phénomènes de réflexion et transmission sur une barrière de potentiel.

3.14 Localisation des ondes dans un milieu désordonné

3.15 Equation de la chaleur

3.16 Détection et reconnaissance d'une vibration

Supposons un micro posé sur la table. On tape légèrement avec le doigt à un endroit A de la table. Cela crée une vibration sonore dans la table qui est détectée par le micro. L'ordinateur enregistre ce signal noté s A . Si on tape à un autre endroit B, l'ordinateur enregistre un autre signal s B . Dans la suite si on tape en A ou B l'ordinateur enregistre un signal s et en faisant un produit scalaire s A ,s et s B ,s l'ordinateur pourra savoir quel pooint on a touché.
A partir de cette idée, on peut faire imaginer des lettres A,B,C.. sur la table à des endroits précis, dans un premier temps l'ordinateur enregistre le signal obtenu si on tape sur chacun de ces endroits (dans l'ordre) et dans un deuxième temps, on tape un texte avec ces lettres imaginaire et le programme reconnait les signal donc les lettres et écrit le texte sur l'écran.
Etapes du projet
  1. Partir de l'exemple donné sur l'utilisation du micro. Observer qu'il affiche un signal bruité en permanence et que si on tape sur la table, ce signal devient plus intense. Modifier le programme pour qu'il extrait un signal sur une durée T si le signal observé dépasse un certain seuil.

4 Physique statistique et thermodynamique

4.1 (*4) Mouvement de particules dans une enceinte

Simulation du mouvement et des chocs de particules dans une enceinte;
Cela permet l'observation de propriétés statistiques: apparition du désordre,
(entropie, loi de Bolztmann), équilibre thermodynamique, loi des gaz
parfait PV=nRT, transformation adiabatiques,...
Enoncé.

4.2 (3) Mécanismes de l'aimantation et ferromagnétisme

image: 7_home_faure_enseignement_Systemes_dynamiques_M1_Images_chap_markov_Ising_beta_03.jpg image: 8_home_faure_enseignement_Systemes_dynamiques_M1_Images_chap_markov_Ising_beta_043.jpg image: 9_home_faure_enseignement_Systemes_dynamiques_M1_Images_chap_markov_Ising_beta_053.jpg
Figure 1: Resultat de l'algorithme de Monte-Carlo pour le modèle d'aimantation de Ising, aux températures β =1/( k b T ) =0.3 (désordre), 0.4 (transition de phase) et 0.5 (ordre magnétique).
(Voir Cours de M1: système dynamiques, chapitre sur les dynamiques de Markov ).
On considère un réseau N × N périodique dont les sites sont notés X=( x,y ) et dont les variables sont f X = ± 1 et modélisent des spins (up/down). Si deux sites sont voisins on note XY . Une configuration des spins est un champ donné: f= ( f X ) X . Son énergie ferromagnétique est: E( f ) := X Y,XY ( - f X . f Y )
  1. Combien y a t-il de sites? Quelles configurations donnent l'énergie minimale? et maximale?
  2. L'algorithme d'évolution suivant est appelé algorithme de montecarlo . β 0 est un paramètre fixé qui est l'inverse de la température: β =1/( k b T ) .
    1. A l'instant n=0 , on part d'une configuration f choisie au hasard.
    2. On choisit un site X au hasard, et on note f' la configuration identique à f sauf au site X où le spin est opposé: f ' X =- f X (spin opposé).
    3. A l'instant n+1 ,
      1. Si E( f' ) <E( f ) on choisit la configuration f' .
      2. Si E( f' ) E( f ) on choisit la configuration f' avec la probabilité P ff' = exp ( - β .( E( f' ) -E( f ) ) ) (et on reste donc avec f avec la probabilité complémentaire).
    4. On revient en (b) pour poursuivre l'évolution du champ de spins.
    Cet algorithme correspond à une matrice stochastique réversible pour la mesure de Boltzmann: u( f ) = 1 Z exp ( - β E( f ) ) image: 10_home_faure_enseignement_Systemes_dynamiques_M1_Images_chap_markov_CIMG3409.JPG
  3. Ecrire un programme qui fait évoluer et représente la configuration du champ de spins f X .
  4. L'aimantation de la configuration f est M( f ) := X f X . Représenter l'aimantation au cours du temps. Quand l'équilibre statistique est atteind, calculer la moyenne M et la variance V= ( M- M ) 2 . Représenter M ( β ) et V( β ) en fonction de β .
Enoncé..
Article de Wilson sur la renormalisation, 1979. Voir aussi Pour la Science N° 24 - OCTOBRE 1979, Les phénomènes de physique et les échelles de longueur, par Kenneth Wilson.

5 Jeux avec animation graphique

5.1 (*3) Le labyrinthe

6 Jeux avec algorithme

6.1 Variante de Ines du Ti-Tac-Toe

Le terrain de jeu se présente ainsi: il y a 9 “macro-cases” indicées par des lettres A,B,C , et chaque macro-case contient 9 micro-cases indicées par des chiffres 1,2,3 . Chaque case est donc caractérisée par son abscisse et ordonnée par exemple ( A2,B1 ) (là où il y a la croix rouge sur la premiere figure).
image: 11_home_faure_enseignement_informatique_projets_simulation_jeu_tic_tac_toe_de_ines.png
image: 12_home_faure_enseignement_informatique_projets_simulation_jeu_TTT2.png
image: 13_home_faure_enseignement_informatique_projets_simulation_jeu_TTT3.png

6.2 (*3) La puissance 4

Voici une aide pour la stratégie où l'ordinateur joue.

6.3 (3) Le jeu oblique

image: 14_home_faure_enseignement_informatique_projets_simulation_jeu_oblique.gif

6.4 (4) Le jeu de Go

6.5 (*3) L'écureuil dans sa cage

image: 15_home_faure_enseignement_informatique_projets_simulation_casse_tete_ecureuil_Ecureuil_2.jpg
Le but du projet est dans une première étape de faire un programme qui représente le jeu, et permette de jouer (de déplacer les pièces). Dans une deuxième étape, que l'ordinateur trouve lui même la solution. (Aide: il faut créer un graphe: les sommets sont les configurations, et les arêtes sont les déplacements possibles entre deux configurations). Vérifier si la solution proposée est optimale. Un tel programme permettra ensuite de créer d'autres jeux similaires.
Voici la solution ainsi trouvée par l'ordinateur, en 116 mouvements élémentaires.
Voici un énoncé précis pour faire ce projet.

7 Idées en vrac