gilles.grospellier@cea.fr jean-sylvain.camier@cea.fr cedric ...

De
Publié par

  • exposé
Cargèse 27/09/2011 Page 1 CEA, DAM, DIF, F-91297 Arpajon, France
  • pression boucle en temps modules de sortie modules d'entrée
  • entry-point method-name
  • protections calcul des forces calcul
  • methode-calcul-cqs
  • boucles
  • boucle
  • temps
  • variable
  • variables
  • module
  • modules
Publié le : mercredi 28 mars 2012
Lecture(s) : 106
Source : cmla.ens-cachan.fr
Nombre de pages : 27
Voir plus Voir moins

gilles.grospellier@cea.fr
jean-sylvain.camier@cea.fr
cedric.chevalier@cea.fr
benoit.lelandais@cea.fr
CEA, DAM, DIF, F-91297 Arpajon, France
Cargèse 27/09/2011 Page 1Plan exposé
• Présentation
• Le fonctionnement général
• Les notions de base
• Le traitement du parallélisme
• L’équilibrage de charge
• Conclusion
Cargèse 27/09/2011 Page 2Présentation
• Arcane est une plate-forme de développement pour les codes
de simulations volumes/éléments finis 2D/3D parallèles
• Ecrite en langage C++
• Co-développée au CEA et à IFPEN
• 2 objectifs permanents :
• Simplifier et accélérer au maximum l’écriture des modules
numériques et d’environnement en prenant en charge les
aspects informatiques
• Utilisation d’objets métiers de haut niveau : variables,
maillage…
• Fourniture d’outils de mise au point, temps de compilation
réduits, simplicité de mise en œuvre
• Favoriser la réutilisation
• Obtenir de bonnes performances
• En séquentiel et …
• … sur machines parallèles (grappes de SMP)
Cargèse 27/09/2011 Page 3Fonctionnalités
• Arcane prend en charge les services suivants :
• Gestion des structures liées au maillage
• Gestion des variables (Température, Pression, …) à
travers une base de donnée
• Parallélisme
• Gestion des modules et de leurs interactions
• Options de configuration des modules (jeu de données)
• Protections / reprises
• Fourniture de fonctions utilitaires (mathématiques, listing,
temps d’exécution, …)
• Outils d’analyse et d’aide à la mise au point
• Retour-arrière
• Sorties spécifiques de dépouillement
• Courbes
• Historiques
Cargèse 27/09/2011 Page 4Maillage
• Arcane gère les maillages non-structurés 2D et 3D
• Les différents éléments du maillage sont appelés des entités
• Il existe 5 genres d’entités
• Nœuds (0D), arêtes (1D), faces (2D)
• Mailles (2D ou 3D)
• Particules
• Plusieurs types d’entités
• Triangle, quadrangle, pentagone, hexagone (2D)
• Tétraèdre, pyramide, prisme, hexaèdre, heptaèdre,
octaèdre (3D)
• Possibilité d’ajouter d’autres types d’entités
Cargèse 27/09/2011 Page 5Plan exposé
• Présentation
• Le fonctionnement général
• Les notions de base
• Le traitement du parallélisme
• L’équilibrage de charge
• Conclusion
Cargèse 27/09/2011 Page 6Fonctionnement général
<?xmlversion='1.enc0' odin='ISg O-8859-1'?>
<casc odeversi='1.on 4' codename=’Code 3D xm' :ll ang='fr'>
<arcane>
<titre>
Implosion d ’une aiguille :
ablateur partiel + DT -cryo
</titre>
<boucl-ee n-temps>Hydro</bouc-enl-teemps>
</arcane>
<maillage>
<fichier format=u"nf">lmj1.unf</fichier>
</maillage> Modules

<hydrodynamique>
<methode-calcu -cl qs>Prach</tmethod -cealcu-cl qs>
Boucle en <recalcu-ml ass-enodal>fe alse</recalcu-ml ass-enodal>e
</condition-a sux-limites>
d’entrée
<bloquag-ienterfac>e
<bloquag-een-temperatu>re
<interface>INTERFACE1</interface>
<temperatu>0.re 05</ temperatu>re
<synchrontre>ue</synchrone>
temps
<hydro-seul>te rue</hydro-seul>e
</bloquag-een-temperatu>re
….
Calcul des
forces
Gestionnaire de
modules
Calcul
impulsion
Gestionnaire de
variables
Architecture
Déplacement
ARCANE
noeuds
Parallélisme
Calcul énergie
Structures maillage
Calcul pression
Modules de sortie
Autres codes Protections
Cargèse 27/09/2011 Page 7Plan exposé
• Présentation
• Le fonctionnement général
• Les notions de base
• Le traitement du parallélisme
• L’équilibrage de charge
• Conclusion
Cargèse 27/09/2011 Page 8Concepts
• Le code est constitué d’un ensemble de modules
• Hydrodynamique
• Thermique
• Post-traitement
• …
• Chaque module est indépendant et possède
• Ses variables, qui représentent les données traitées par le
module (ex: température, vitesse, ∆t)
• Ses options de configuration (jeu de données)
• Ses points d’entrée, qui représentent les opérations
effectuées par le module (ex: calcul des forces,
déplacement des nœuds)
• Les modules peuvent partager du code via les services
• Les modules peuvent partager des données via les variables
Cargèse 27/09/2011 Page 9Module
• Un module est un composant logiciel. Il comporte du code source et
un fichier de définition, appelé descripteur de module, qui contient
• La liste des variables
• La liste des points d’entrée
• Les options de configuration
<module name=‘Hydrodynamic’>
<variables>
<variable field-name=‘velocity’ name=‘Velocity’ data-type=‘real3’
item-kind=‘node’ dim=‘0’/>
<variable=‘density’ name=‘Density’ data-type=‘real’
item-kind=‘cell’ dim=‘0’/>
</variables>
<entry-points>
<entry-point method-name=‘computeForces’ name=‘CalculDesForces’
where=‘compute-loop’/>
< method-name=‘moveNodes’ name=‘DeplacementDesNoeuds’
where=‘compute-loop’/>
</entry-points>
<options>
<simple name=‘cfl’ type=‘real’ default=‘0.5’>
<description>Définition de la CFL</description>
</simple>
</options>
</module>
Cargèse 27/09/2011 Page 10

Soyez le premier à déposer un commentaire !

17/1000 caractères maximum.