Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Structures et types de base

Types de bases

Arcane fournit un ensemble de types de base, correspondant soit à un type existant du C++ (comme int, double), soit à une classe (comme Real2). Ces types sont utilisés pour toutes les opérations courantes mais aussi pour les variables. Par exemple, lorsqu'on souhaite déclarer un entier, il faut utiliser Integer au lieu de int ou long. Cela permet de modifier la taille de ces types (par exemple, utiliser des entiers sur 8 octets au lieu de 4) sans modifier le code source.

Les types de bases sont :

Nom de la classeCorrespondance dans les spécifications
Integer entier signé sur 32 bits
Int16 entier signé sur 16 bits
Int32 entier signé sur 32 bits
Int64 entier signé sur 64 bits
Byte représente un caractère sur 8 bits
Real réel IEEE 754
Real2 coordonnée 2D, vecteur de deux réels
Real3 coordonnée 3D, vecteur de trois réels
Real2x2 tenseur 2D, vecteur de quatre réels
Real3x3 tenseur 3D, vecteur de neufs réels
String chaîne de caractères au format UTF-8

Les flottants (Real, Real2, Real2x2, Real3, Real3x3) utilisent des réels double précision de la norme IEEE 754 et sont stockés sur 8 octets.

Entités du maillage

Il existe 4 types d'entités de base dans un maillage : les noeuds, les arêtes, les faces et les mailles. `A chacun de ces types correspond une classe C++ dans Arcane. Pour chaque type d'entité, il existe un type groupe qui gère un ensemble d'entités de ce type. La classe qui gère un groupe d'une entité a pour nom celui de l'entité suffixée par Group. Par exemple, pour les noeuds, il s'agit de NodeGroup.

Nom de la classeCorrespondance dans les spécifications
Node un noeud
Cell une maille
Face une face en 3D, une arête en 2D
Edge une arête en 3D
Particle une particule
DoF un degré de liberté
NodeGroup un groupe de noeuds
CellGroup un groupe de mailles
FaceGroup un groupe de faces
EdgeGroup un groupe d'arêtes
ParticleGroup un groupe de particules
DoFGroup un groupe de degrés de liberté
Note
Les faces Face sont les entités de dimension N-1 avec N la dimension des mailles. En dimension 2, les faces correspondent donc aux arêtes et en dimension 3 aux faces des polyèdres. Ceci permet aux algorithmes numériques de parcourir le maillage indépendamment de sa dimension. L'entité arête (Edge) n'existe que pour les maillages 3D et correspond alors à une arête.

Chaque entité du maillage correspond à une instance d'une classe. Par exemple, si le maillage contient 15 mailles, il y a 15 instances du type Cell. Chaque classe fournit un certain nombre d'opérations permettant de relier les instances entre elles. Par exemple, la méthode Cell::node(Int32) de la classe Cell permet de récupérer le i-ème noeud de cette maille. De même, la méthode Cell::nbNode() permet de récupérer le nombre de noeuds de la maille. Pour plus de renseignements sur les opérations supportées, il est nécessaire de se reporter à la documentation en ligne des classes correspondantes (Node, Edge, Face, Cell, Particle, DoF).