SIMNUM : Simulation numérique [V3A + V3D]

Année : 2A
Module : voie
Crédits ECTS : 4

English version
Professeurs :
Eric LUNEVILLE
Maîtres de conférences :
Eric LUNEVILLE ; Sonia FLISS
Objectifs

Mots-clés

Pré-requis et débouchés

Bibliographie, liens, supports

Contrôle de connaissances


Programmation détaillée


dernière mise à jour : 04/01/2010 par lunevill

Contrat Creative Commons
Objectifs :
Ce cours s’adresse aux étudiants qui seront amenés à travailler dans un environnement où le développement logiciel, bien que n’étant pas nécessairement le cœur de métier, est très présent, par exemple les laboratoires de recherche et développement des grandes entreprises et ce dans tous les domaines (mécanique, physique, finances,…). L’utilisation avancée et le développement des logiciels s’inscrivant dans un contexte technique et scientifique spécifique au laboratoire, il requiert bien évidemment un bon niveau dans les disciplines concernées mais également un bon niveau de programmation, car il s’agit soit de développer un code « durable » soit d’intégrer de nouvelles fonctionnalités dans un code existant reposant sur des concepts informatiques avancées. Les logiciels scientifiques se différencient des logiciels de gestion par des exigences de performance et une complexité des méthodes mises en œuvre . Par le passé, ils ont été développés en Fortran et sont aujourd’hui de plus en plus développés en C++ afin de bénéficier d’une couche objet plus riche et plus sûre.
Le cours proposé a pour objectif de fournir aux étudiants quelques clés importantes du développement logiciel dans ce contexte. Une partie importante du cours est dédiée au langage C++ afin que l’étudiant acquiert un niveau suffisant pour développer du code objet.
En parallèle, on aborde des problématiques spécifiques des codes de calcul scientifique : rapidité, efficacité, optimalité, stabilité des calculs.

Une place importante sera donnée à la pratique car pour bien programmer il faut programmer "beaucoup". Dans un premier temps, afin d’acquérir les bases, des séances de travaux pratiques sont proposées. La deuxième partie du cours est dédiée à la réalisation d'un projet de simulation numérique conséquent mettant en oeuvre diverses compétences : modélisation, algorithmique, développement en C++ et analyse des résultats de simulation. Les projets seront réalisés en groupe (2 à 4 étudiants suivant la nature du projet). Durant le déroulement du projet, plusieurs aspects seront mis en avant : partage des taches à réaliser, organisation et structuration du code (couche objet en particulier), démarche de développement, efficacité du code, pertinence de l'analyse de résultats. Les projets proposés seront en lien avec des problèmes issus de divers domaines : mécanique, physique, économie, ... dépendant des compétences du chargé de td.



Créneaux horaires du cours en 2009/2010: V3A + V3D

Les documents pédagogiques mis à votre disposition dans les pages de l'ENSTA le sont dans les limites prévues par la licence Creative Commons