Arcane  v3.15.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
L'application "Poisson"

Le deuxième exemple de cette formation permet le développement d'un module qui calcule une diffusion numérique de la chaleur suivant l'équation de Poisson dans un parallélépipéde. Le module doit initialiser toutes les mailles avec une temperature constante. Cette temperature est lue dans le jeu de données qui fournit également des températures limites sur les surfaces XMIN et ZMIN du maillage. La température sur les faces limites est prise en compte en initialisant la température des noeuds se trouvant sur ces faces. Puis, le module calcule la diffusion :

  • la température d'une maille au temps n+1 est la moyenne des températures de ses noeuds au temps n,
  • la température d'un noeud au temps n+1 est la moyenne des températures de ses mailles au temps n+1.

Le calcul doit s'arrêter quand le plus grand écart de températures (entre les temps n et n+1) sur une maille est inférieur à 0,2. Cet écart sera stocké dans une variable locale nommée max_delta_cell_t.

Variables

Prérequis
Actions à réaliser
  • Compléter le fichier Poisson.axl pour déclarer les variables CellTemperature et NodeTemperature représentant respectivement les températures aux mailles et aux noeuds.
  • Compiler.
  • Regarder la déclaration des variables ArcanePoissonObject::m_cell_temperature et ArcanePoissonObject::m_node_temperature dans le fichier Poisson_axl.h

Fichier de données

Pré-requis
Actions à réaliser
  • Editer le jeu de données Poisson.arc et observer les éléments init-temperature et boundary-condition.
  • Définir la grammaire de ces données en complétant le descripteur du module Poisson.axl (élément options)

Parcourir les entités du maillage

Pré-requis
Actions à réaliser
  • Compléter le fichier PoissonModule.cc en effectuant les calculs décrits dans l'énoncé de l'exercice
  • Compiler à l'aide des fichiers Makefile fournis
  • Exécuter en séquentiel. Les fichiers de sortie sont au format Ensight Gold ; le visualiser (si possible !)

Parallélisme

Pré-requis
Actions à réaliser
  • Exécuter en parallèle et visualiser le résultat
  • Corriger les erreurs de diffusion en synchronisant la température et la variable max_delta_cell_t
  • Exécuter en parallèle et visualiser le résultat