Jérôme Hoepffner: Enseignement | Recherche.


LA306

Méthodes numériques

Contexte

Programmer en fortran pour pratiquer les méthodes numériques. Ca peut servir ensuite par exemple pour résoudre les équations de la mécanique et de la physique: equation de la chaleur (distibution de temperature dans un solide) equation de Navier (deformation d'un corp élastique) équations de Navier-Stokes (dynalique des fluides). Bien sûr, avant de se lancer dans des choses compliquées, on fait des choses simples: interpolation, intégration...

Fortran est un language de programmation qui lorsqu'il a été créé, était une révolution. Fortran, ça veut dire "FORmula TRANslation". L'idée était de développer un language grâce auquel on pourrait écrire directement les formules mathématiques pour les résoudre. Aujourd'hui beaucoup d'autres languages sont disponible, mais fortran reste le meilleur choix pour les calculs très intensifs, sur les supercalculateurs, pour les applications de la physique et de la mécanique. Donc c'est encore un language important.

Pour pouvoir utiliser fortran pour les calculs, il faut bien en maîtriser les détails techniques, et ne pas hésiter sur les détails: déclaration de variables, boucles, tests, entrées sorties dans des fichiers. Il est aussi très utile de pouvoir visualiser les résultats en faisant des graphs, avec par example "gnuplot". Vous trouverez beaucoup de documentation sur internet: par example
http://fr.wikipedia.org/wiki/Fortran
http://perso.enstimac.fr/~gaborit/lang/CoursDeFortran/
http://fr.wikipedia.org/wiki/Gnuplot
Vous pouvez simplement chercher sur internet pour trouver des informations à votre goût...

Il faut se familiariser avec ces outils: vous prendrez ainsi petit à petit plaisir à les utiliser. La programmation numérique, ça permet de manipuler toutes ces idées dont on parle dans vos cours; et résoudre les équation: manipuler quelque chose d'un peu plus tangible. Surtout, il faut pouvir VOIR les résultats: faire des graphs...

Planning

Travaux pratiques

TP 1: Interpolation, polynômes de Lagrange
J'ai écrit un programme fortran qui calcule l'interpolant polynomial qui passe par quatre points, comme dans l'exercice 1. Ce programme calcule la valeur de l'interpolant pour plein de x, et sauve ces données dans un fichier texte. Vous pouvez ensuite ouvrir ce fichier 'interp.dat', et faire le graph avec gnuplot, avec la commande suivante:
plot 'interp.dat' using 1:2 with lines
Les autres colonnes dans le fichier 'interp.dat' sont les polynomes de Lagrange aux points 0,1,2,3.
Le code est ici:
la306_tp1.f90
Et le fichier texte généré par ce code, avec les données calculées est là, avec en première colonne les valeurs de x, en seconde colonne, les valeurs de l'interpolant, puis les colonnes suivantes sont les valeurs a ces x des polynômes de Lagrange:
la306_interp.dat

TP 2: Integration numérique
la306_TP2.pdf