# Simulation informatique

La simulation informatique ou numérique est l'exécution d'un programme informatique sur un ordinateur ou réseau en vue de simuler un phénomène physique réel et complexe (par exemple : la chute et les rebonds d’un corps sur un support mou, la résistance d’une plateforme pétrolière à la houle, la fatigue d’un matériau sous sollicitation vibratoire, l'usure d’un roulement à billes…). Les simulations numériques scientifiques reposent sur la mise en œuvre de modèles théoriques utilisant souvent la technique des éléments finis. Elles sont donc une adaptation aux moyens numériques de la modélisation mathématique, et servent à étudier le fonctionnement et les propriétés d’un système modélisé ainsi qu’à en prédire son évolution. On parle également de calcul numérique. Les interfaces graphiques permettent la visualisation des résultats des calculs par des images de synthèse.
Ces simulations informatiques sont rapidement devenues incontournables pour la modélisation des systèmes naturels en physique, chimie et biologie, mais également des systèmes humains en économie et en science sociale. Elles permettent de limiter le risque et d'éviter le coût d'une série d'épreuves réelles (ex. : essais de véhicules). Elles peuvent offrir un aperçu sur le développement d'un système trop complexe pour simuler avec de simples formules mathématiques (ex. : ouragan).
La simulation numérique est utilisée pour :
* prévoir l'état final d'un système connaissant son état initial (problème direct) ;
* déterminer les paramètres d'un système connaissant un ou plusieurs couples (état initial - état final) (problème inverse) ;
* préparer des opérateurs à des conditions plus ou moins rares dans leur interaction avec un système complexe (simulation d'entraînement).
En sciences sociales, la simulation informatique fait partie d'un des cinq angles de collecte de données dans la méthode plus générale dite de percolation de données, qui couvre aussi conjointement les méthodes quantitatives et qualitatives, la revue des écrits (y compris les écrits scientifiques), et les interviews d'experts. À ce chapitre, la percolation des données offre une vision et une méthode plus complètes que la triangulation des données lors de l'analyse des phénomènes sous observation.

## Critique épistémologique

Les résultats de la simulation numérique ne sont pas la réalité. Des écarts, voire des comportements radicalement différents peuvent apparaître entre les deux (par exemple : simulations numériques des prévisions météorologiques). La simulation numérique n’est qu’une représentation du réel assise sur le modèle théorique sous-jacent. Si le modèle théorique ainsi informatisé ou ses paramètres d'entrée sont erronés, les résultats calculés sont faux et peuvent amener à des prises de décision elles-mêmes erronées. En particulier, un modèle est construit pour un usage donné et son emploi dans un autre contexte a de fortes chances d’engendrer des résultats faux (voir validation des simulations).
Cette critique épistémologique peut être résumée ainsi : « la carte n’est pas le territoire ».
La simulation numérique tend à devenir un outil indispensable d’ingénierie des objets industriels complexes du fait de sa rapidité de mise en œuvre (par exemple : simulation de crashes automobiles, exploration des domaines de vol aéronautiques, simulation de bombes atomiques…). Elle ne doit cependant pas être utilisée sans prise de recul scientifique, ni prudence professionnelle.
L’analyse critique des résultats, la vérification de la validité des modèles théoriques utilisés, la confrontation des résultats prédits à l’expérience… sont des réflexes d’ingénieur nécessaires et qui font alors partie même de l’éthique du professionnel utilisateur.

## Histoire

La simulation informatique est apparue en même temps que l’informatique pour les besoins du projet Manhattan pendant la Seconde Guerre mondiale, afin de modéliser le processus de détonation nucléaire. La première simulation numérique « civile » en physique théorique fut l’expérience de Fermi-Pasta-Ulam (1953). Depuis, elle a évolué parallèlement à l’informatique.

## Catégories de simulation informatique

On peut distinguer trois catégories de simulations :
* la simulation continue, où le système se présente sous la forme d’équations différentielles à résoudre. Elle permet de suppléer à la résolution analytique quand celle-ci est impossible. Effectuée au départ sur des calculateurs analogiques, elle s’est effectuée aussi sur des ordinateurs ainsi que des machines hybrides, et un troisième type de calculateurs qui n’a pas eu de lendemain, les calculateurs stochastiques ;
* la simulation discrète dans laquelle le système est soumis à une succession d’évènements qui le modifient. Ces simulations ont vocation à appliquer des principes simples à des systèmes de grande taille. La simulation discrète se divise en deux grandes catégories :
** synchrone ou time-slicing : on simule à chaque fois le passage d’une unité de temps sur tout le système. Ce terme n'est généralement plus utilisé dans le domaine professionnel depuis l'apparition croissante des nouvelles technologies,
** asynchrone ou event-sequencing : on calcule l’arrivée du prochain événement, et on ne simule qu’événement par événement, ce qui permet souvent des simulations rapides, bien qu’un peu plus complexes à programmer ;
* la simulation par agents, où la simulation est segmentée en différentes entités qui interagissent entre elles. Elle est surtout utilisée dans les simulations économiques et sociales, où chaque agent représente un individu ou un groupe d’individus. Par nature, son fonctionnement est asynchrone.

## Méthodes de simulation

* Méthodes de Runge-Kutta pour le traitement numérique des équations différentielles ;
* Méthode des éléments finis ou Méthode des caractéristiques pour le traitement des équations aux dérivées partielles ;
* Simulation atomistique en physique des matériaux ;
* Simulation d'un système à N-corps, notamment en cosmologie
* Méthode de Monte-Carlo en physique statistique, physique des matériaux, physique nucléaire, physique des particules, mathématiques, statistiques et économétrie ;
* Méthode ab initio en mécanique quantique, chimie quantique ;
* Système multi-agents, pour la simulation de systèmes complexes ;
* Discrétisation des équations (éléments finis, volumes finis, différences finies) en mécanique, aérodynamique, acoustique ;
* Dynamique moléculaire, dynamique d’amas en chimie, physique ;
* Simulations particle-in-cell (en) en physique ;
* Méthode des points sources distribués en ultrasons, électrostatique, électromagnétisme ;
* méthodes de simulation en géostatistique.

## Exemples de simulations

* Expérience de Fermi-Pasta-Ulam en physique statistique.
* Le code MCNP développé au Laboratoire national de Los Alamos est très utilisé pour les simulations en physique nucléaire.
* Daisyworld de James Lovelock, en appui de sa théorie d’autorégulation nommée Gaïa.
* Projet de remorquage d'un iceberg à des fin d'approvisionnement en eau simulé par Dassault Systèmes sur les logiciels SIMULIA et Dymola (en)
* Jumeau numérique
* Simulation numérique de réseaux de gaz naturel