Arcane est un environnement de développement pour les codes de calculs numériques parallèles. Il prend en charge les aspects architecturaux d'un code de calcul comme les structures de données pour le maillage, le parallélisme mais aussi des aspects plus liés à l'environnement comme la configuration du jeu de données.
Arcane peut s'utiliser de deux manières:
La procédure d'installation est décrite ici
L'API publique d'Arcane contient les répertoires d'en-tête suivants:
Arcane utilise les composantes suivantes de Arccore. Elle n'ont normalement pas besoin d'être incluses directement par l'utilisateur:
Les autres répertoires sont considérés comme internes à Arcane et ne doivent pas être utilisés.
Un code de calcul, quel qu'il soit, peut être vu comme un système prenant certaines valeurs en entrée et fournissant des valeurs en sortie en effectuant des opérations. Comme il est impossible de pouvoir traiter tous les types de codes de calcul, Arcane se restreint aux codes de calcul ayant les propriétés suivantes :
Chacun des termes décrit précédemment possède une terminologie propre à Arcane :
En général, un code de calcul peut être décomposé en plusieurs parties distinctes. Par exemple, le calcul numérique proprement dit et la partie effectuant des sorties pour le dépouillement. De même, un code peut utiliser plusieurs physiques : hydrodynamique, thermique, ... Pour assurer la modularité d'un code, Arcane fournit ce qu'on appelle un module qui regroupe l'ensemble des points d'entrée et variables correspondant à une partie donnée du code.
Enfin, les modules ont souvent besoin de capitaliser certaines fonctionnalités. Par exemple, un module thermique et un module hydrodynamique peuvent vouloir utiliser le même schéma numérique. Pour assurer la capitalisation du code, Arcane fournit ce qu'on appelle un service
Les 4 notions décrites précédemment (point d'entrée, variable, module et service) sont les notions de base de Arcane. Elles sont décrites plus en détail dans le document Types fondamentaux. Néanmoins, avant de voir plus en détail le fonctionnement de ces trois objets, il faut connaître les notions de base présentées dans les chapitres de ce document.