Code RAMSES

Code RAMSES

Romain TEYSSIER

Le code RAMSES a été développé au Service d’Astrophysique par Romain Teyssier pour étudier la formation des grandes structures et des galaxies. C’est à présent un outil flexible qui peut être utilisé pour des simulations de fluides autogravitants. Il est écrit en Fortran 90. C’est un code parallèle (pouvant tourner simultanément sur de nombreux processeurs), qui utilise la bibliothèque MPI (Message Passing Interface) pour les communications entre processeurs. La version actuelle est la 1.0. C’est un logiciel gratuit à usage non-commercial exclusivement.

Le code résout les équations de l’hydrodynamique sur une grille. Chacune des cellules de la grille peut être « raffinée », c’est-à-dire divisée en cellules plus petites, de manière à avoir localement une description plus fine du système. Ce raffinement peut être appliqué récursivement à toute cellule, ce qui permet d’atteindre de très grandes résolutions aux endroits où l’on en a le plus besoin. Une telle technique est appelée raffinement adaptatif (AMR, Adaptative Mesh Refinement, en anglais).

Les quatre principaux modules de RAMSES sont:

  • Le module AMR qui établit le raffinement adaptatif de la grille, les communications entre processeurs, et gère les pas de temps
  • Le module hydrodynamique qui utilise un solveur de Godunov du second ordre « non-splitté » (c’est-à-dire qui met à jour le contenu de la grille sans la balayer dimension après dimension).
  • Un module de type N-corps qui décrit la dynamique de particules sans collisions (qui représentent la matière noire)
  • Un module permettant de résoudre l’équation de Poisson (c’est-à-dire de connaître le potentiel gravitationnel associé à la répartition de masse du système).

voir aussi : Page du code RAMSES

Images

Exemple de décomposition en domaines utilisée par RAMSES pour effectuer un calcul parallèle. Chaque couleur correspond à un processeur. (cliquer pour agrandir)

Exemple de grille AMR obtenue au cours d’une simulation cosmologique à haute résolution. Chaque couleur correspond à un niveau de raffinement. (cliquer pour agrandir)


Contact : Romain TEYSSIER