Cours MM0031  d'informatique Scientifique.


 15/06/2012 


  F. Hecht et J.Foulon



  mailto:frederic.hecht@upmc.fr

  mailto:FOULON Jérémy <jeremy.foulon@upmc.fr>


Pour les etudiants  en Tele-Enseigenement lire Lettre-TelelEnseignement.html


les resultats de la première  session sont dans le fichier NOTES-S2-MM031-2012.pdf



 L'examen de la second session aura lieu  le 20 juin matin  de 8h45 a 12h00

salle  314 couloir 15-25 

Ordre de Passage: 


8h45 : Xiaoxing Guo <xiaoxing.guo@mines-paris.org>

Arun Khanna <khanna.arun30@gmail.com>

noureddine taleb <noureddine.taleb@gmail.com>


9h45 Alexis Bismuth <alexisbismuth@gmail.com>

Saleh Lamir <saleh.lamir@yahoo.com>

Jeff-Sorel Kouemo <jeffrey_king@hotmail.fr>


10h45 Aymeric RESHEF <aymeric.reshef@etu.upmc.fr>

  salem ardjoune <salem.ardjoune@gmail.com>


Toutes personnes doit nous envoyer un mail de participation à Frederic.hecht@umpc.fr et jeremy.loulon@upmc.fr pour l'inscription 


De plus il faute envoye sans faute 

les rapports des projets 1 et 2 plus les sources et les  explications d'utilisation

avant le lundi 18 juin 8h00 (pas de rapport => pas de soutenance). 


  

il faut faire une archive compressé  de votre rapport   (Projet 1 et 2) 

et de vos progammes sources.  Le rapport doit etre

ecrit en Latex, le travail peut etre fait en binome  mais la soutenance

est faite seule, le projet est a rendre par mail à Frederic.hecht@umpc.fr

le dimanche 20 mai à 24h00 



Le Partiel a eu  lieu de mardi 6 mars de 8h30 a 10h30 dans la salle de cours. 

le projet 1 est à rendre pour 

il faut faire une archive compressé  de votre rapport  

et de vos progammes sources.  Le rapport doit etre

ecrit en Latex, le travail peut etre fait en binome,  voir  Projet




les notes de cours NotesdeCoursMM031.pdf ( cela change regulierement) 

autre fichiers sont disponibles dans le dossier  doc-pdf et dans doc-html


Quelques sujet  Partiels-des-années-precedentes avec quelques corrections. 



cours F. Hecht  mardi 8h30 a 10h30   Amphi 45B 

cours  F. Hecht  vendredi 8h30 à 10h30 23-24-202 


TD J. Foulon Atrium  mardi    13h00 16h30      (les  sallesTD.html )

                                      mercredi 13h00 16h30



Quelque information sur la logistique en plus:

de    la logistique  cours_logistique.html


Sur l'utilisation de command de base 

http://www-gtr.iutv.univ-paris13.fr/Cours/Mat/Systeme/TDTP2003/TDTP2002/tpunix01.pdf

http://www-gtr.iutv.univ-paris13.fr/Cours/Mat/Systeme/TDTP2003/TDTP2002/tpunix02.pdf


Tutoriaux; 

http://www.yolinux.com/TUTORIALS/LinuxTutorialC++.html


Pour les debutants en programmation vous pouvez tester vos

programme avec le site:


Cours de C pour débutants, par Mathias Hiron


Et d'autre site:

http://a.michelizza.free.fr/pmwiki.php?n=TutoCFrench.TutoCFrench


Bien programmer en langage C (Emmanuel Delahaye)


TUTORIELS C++


Pour bien comprendre la gestion mémoire

La gestion de la mémoire en langage C


OpenGL: 

un support de cours OpenGL (E. Boyer)

un support de cours Robin Vivian Format PDF

  Cours OpenGL de l'ESSI par Michel Buffa

  Advanced Graphics Programming Techniques Using OpenGL





Semaine 1 


Mardi  10/01/2012


Presentation du cours.

L'environnement de programmation linux,

La Programation imperative, premier exemple en c++ 

Type, fonction ,  argument , retour. 



Vendredi 13/01/2010


La methode de difference fini pour approcher un edp en dimension 1. 

Note de cours section 1.3.1 


Voir dossier  s1 ou le dossier zipper s1.zip


Semaine 2


voir les feuilles exo des TD   dans le dossier s2


Mardi  17/01/2012  (pas de cours)


Vendredi 20/01/2010

La methode des différenceq fini pour l'approximation d'un  probleme instastionnaire. 

Notion de Stabilite et Consistance.

section 1.3.2 de Notes de cours

Introduction de la methode de Element Fini 1d.


Voir dossier  s2 ou le dossier zipper s2.zip


Semaine 3


Mardi  24/01/2012


Les Classes en C++  et  methode. 

Surcharge des operateur. 


Vendredi 27/01/2010 


Ecriture des classes MatTriaDia et MatElem 

introduction de la notion de const et reference en c++.


voir les fichiers s3/MatTriDia.hpp  s3/MatTriDia.hpp,  s3/main.cpp ,  s3/Makefile


Voir dossier  s3 ou le dossier zipper s3.zip


Semaine 4 


Mardi  31/10/2012

 

 Methode LU

 Formule d'integartion 1D. 

 Rappel sur  la notion de Differentiel et de Gradient 

 Methode de Descent à pas simple, 

 Notion de precontionneur (changement de produit scalaire)

pour calculer le gradient. 

 


Vendredi 03/02/2010


  Partie théorique existance et unicité du problème 

    lemme de Milgram, Inegalite de Poincarre, … 

  Approximation de problème continue

     lemme de CEA 

     estimation d'interpolation. 

  

Voir dossier  s4 ou le dossier zipper s4.zip


Semaine 5


Mardi  7/02/2012


Introduction des pointeurs et des

operation d'allocation et destruction: new et delete

On  a utilisé de ces notions pour faire une classe A (vecteur)

voir code dans le dossier s5

Intro de la regle 1  sur les operations de copie  dans les classe

avec destructeur ou pointeur. 


Comment ecrire un Makefile et comment

utilise le debbogger gdb ou ddd. 



Vendredi 10/02/2010


Ecrire  les operateurs vectoriels dans la classe A (vecteur) (section 4.2 note de cours)

les problèmes de coût pourquoi le c++ peut  etre lents. 

ce qu'il faut faire et ne  pas faire avec la surcharche des operateurs. 

Comment resoudre ce probleme. 


voir les TP 7 et 8 dans s5   Tout le dossier complet zipper :  s5.zip


Semaine 6


Mardi  14/02/2012


Fin des operateurs vectoriel en c++,  (section 4.2 note de cours)

introduction de la notion de template

  des classes derives 

  et des methodes virtuals dans les classe derive

  Utilisation des classes KN  our KN_ pour modélsier de 

   vecteur de R^n ou des matrice pleine avec des classe KNM ou KNM_ voir

  note de cours  section 4.2.2  pour plus de détail.  

  Introduction  des matrices virtuelles pour ecrire le Gradient Congugue. 


les classes KNM sont dans RNM et version zip RNM.zip



Vendredi 17/02/2010

Methodes des element fini en 2D 

Introduction theorique 


voir les TP 9 et 10 dans  dossier   s6  ou le dossier zipper :  s6.zip  

Semaine  Vacances 


Mardi  21/02/2012


Vendredi 24/02/2010


Semaine 7


Mardi  28/02/2012  


Les fonctions de bases des Elements Finis P1 Lagrange.


Construction de probleme linéaire associe pour resoudre


- ∆u = f  dans Ω, u = g sur ∂Ω


Les deux  methodes numerique pour prende en condition les conditopn a Limite de type

Dirichlet dans les systeme lineare:


1)  Penalisation exact avec TGV , ne pas oublier qui faut

preconditionner par la diagonal dans ce cas. 

2)  ne pas faire les  calcul  tous les lignes associer a des condition de Dirichlet 

dans les  matrices et second membre dans les methde de type Gradient conjugue

ou GMRES, dans ce cas il faut initialiser avec un valeur contenant les conditon

au limite. 


Voir nouveau sous chapître 5.6 





Mercredi 29 (soutenance de Projet 1 durant le TD à  l'atrium) 

Vendredi 02/03/2010


Explication theorique de la construction du probleme 

element fini. 

Voir sous chapître 5.7 , 51, 5.3, 5.4.1


Voir les TP 11et 12  dans  dossier   s7 ou le dossier zipper :  s7.zip

Semaine 8


Mardi  06/03/2012


Partiel 


Vendredi 09/03/2010



Programation du Probleme de Poission 

Ecriture des classes associées: R2, Label, Vertex2, Triangle2, Mesh2 ,

 voir sous chapître 5.8 , 5.9, 5.10.  

Le code ecrit pans le cours est disponible dans le dossier s8

lire les explication dans le fichier ALIRE


Voir les TP 13,14   dans  dossier   s8 ou le dossier zipper :  s8.zip


Semaine 9


Mardi  13/03/2012


Comparaision avec Freefem++ , et utilisation des formule d'integration 


Presentation d'OpenGL

Voir 

OpenGL: 

un support de cours OpenGL (E. Boyer)

un support de cours Robin Vivian Format PDF

  Cours OpenGL de l'ESSI par Michel Buffa

  Advanced Graphics Programming Techniques Using OpenGL


Presentation d'une  methode encapsulation d'une classe virtual, 

(voir  class ObjetG dans OG2.hpp )

et introduction d'une compteur de reference pour eviter les destructions

multiple   (voir pointeur count dans la class OGMeshS de OG2.hpp ) 


les codes sont  disponible dans le dossier  OpenGL (version zipper OpenGL.zip


Vendredi 16/03/2010


 Modification de fichier OpenGL pour afficher les isovaleurs d'une solution element fini

correction du compteur de reterence 

Probleme de pirorite de operateur   :  *count++   n'est pas   (*count


les codes sont  disponible dans le dossier  OpenGL (version zipper OpenGL.zip


Avec l'affichage d'une jolie surface en utilsage un  maillage de la semaine s8. 


Semaine 10


Mardi  20/03/2012  (O. Pironneau)


 Differentiation automatique voir fichier s10 (version zipper s10.zip )


Vendredi 23/03/2010


Un petit point sur la STL et des templates.

Les conteneur de bases

Voir les exemples (stl.cpp) du dans  s10 (version zipper s10.zip )


et sur des problemes aglorithmique de base voir chapitre 6 des note de cours. 



Semaine 11


Mardi  27/03/2012


Fin de la partie algorithmique,

Utilisation pour la construction du matrice creure au format COO

voir http://en.wikipedia.org/wiki/Sparse_matrix

soit avec un  set<pair<int,int> >  de la stl ou avec l'utilisation de l'image réciproque

d'une fonction entiere. Voir note de cours paragraphe 6.8) pour la construction d'une  matrix morse 

ou CSR / CRS

Les source sont dans SparseMat.cpp et SparseMat.hpp dans s11

pour une compariason  des temps calculs voir s11/ALIRE 



Vendredi 30/03/2010

 Introduction theorie des Language pour

ecrire une  calculette et utilise pour definie 

une donnée  dans programme.



Semaine 12


Mardi  03/04/2012


Vendredi 06/04/2010