Acquis d'apprentissage

Simuler numériquement des problèmes de physique en Implémentant des algorithmes de base (intégration numérique, la recherche de racines, l'ajustement de données, les nombres aléatoires) dans un langage de programmation compilé

Ecrire des programmes comportant des éléments de structuration (y compris procédures, sous-routines, fonctions, ...) et comprenant la logique de programmation et en respectant la syntaxe.

Elements d'analyse numérique (Erreurs, complexité) pour prendre conscience des apports et des limites de la numérisation

 

 

 

Objectifs

Maitrise d'un langage de programmation pour devenir concepteur de programme permettant de résoudre des problèmes de physique

Comprendre les points forts et les points faibles d'une approche numérique pour la résolution de problèmes en physique

 

 

Contenu

Le cours propose une introduction au contexte de la programmation (structure d'un ordinateur, systèmes d'exploitation, logiciels libres et propriétaires,...). L'étudiant  se familarise avec un langage de programmation compilé (le FORTRAN) et aborde des structures de programmation complexes (sous-routine, fonction, structures, tableaux, fichier, interface, ..). L'étudiant sera amené à mettre en oeuvre des d'algorithmes de calcul numérique utilisés en physique (intégration numérique, régression, ...). Les différents types d'erreurs d'un calcul numérique et le notions de complexité seront aussi introduites. L'étudiant sera sensiblisé aux problèmes d'optimisation d'un code en terme de temps d'execution et de mémoire utilisée.

Table des matières

  1. Introduction : La physique et le numérique
  2. Bases et premiers programmes
  3. Branchements, boucles et organigrammes
  4. Tableaux
  5. Entrées et sorties
  6. Procédures
  7. Méthodes numériques

a. Dérivation

b. Optimisation

c. Ajustement linéaire

d. Interpolation

e. Intégration

8.Nombres aléatoires

9.Optimisation des codes

10.Notions avancées


 

Exercices

Les exercices concernent des problèmes de calcul numérique simples mais couramment utilisé en Physique: calcul itératif, séries, suites, fonctions définies par intervalles, tabulation de polynômes, recherche de racines, méthodes d'intégration, méthode de Monte Carlo, manipulation de matrices, diagonalisation, inversion, régression polynomiale, synthèse de Fourier...etc. Chaque étudiant travaille individuellement.

Méthodes d'enseignement

Une large part est consacrée à la programmation par l'étudiant avec des aller-retours vers des notions plus formelles. L'ensemble de l'enseignement se donne dans un pool d'ordinateur où chaque étudiant peut travailler individuellement.

Méthode d'évaluation

L'évaluation de cours se décompose comme suit :



  • 25% de la note porte sur un examen de théorie durant la session de janvier ;
  • 50% sur des programmes demandés durant le 2nd quadrimestre et réalisés en présentiel (présence obligatoire) ;
  • 25% sur un examen pratique durant la session de juin


Une note minimum de 6/20 est requise pour chacune des évaluations (note absorbante).


L’examen de janvier consiste en la démonstration de résolution d’un problème numérique, accompagné d’autre questions plus courtes ayant trait à la matière vue au 1er quadrimestre. Cet examen se déroulera sans le support de cours.


Lors des TPs et de l’examen de juin, les étudiant·e·s doivent résoudre, individuellement, un problème de physique numérique en écrivant un code en FORTRAN90. Le format d’évaluation est « à cours ouvert » (cours, codes déjà écrits, livres, …), mais l’utilisation d’internet est interdite.


Les étudiant·e·s seront jugés sur leur capacité à résoudre de manière rigoureuse et brève le problème posé. L'examinateur apportera une attention particulière à la clarté de la programmation et à la capacité de proposé une solution générale au problème posé.

Sources, références et supports éventuels

 S. J. Chapman, 'Fortran 95/2003 for Scientists and Engineers', McGraw Hill 2007.

R.H. Landau, M.J. Paez, C.C. Bordeianu, 'Computational Physics'  Wiley 2011

Langue d'enseignement

Français
Formation Programme d’études Bloc Crédits Obligatoire
Bachelier en sciences physiques Standard 0 4
Bachelier en sciences physiques Standard 2 4