Référence API
Element
La classe Element représente un élément du maillage (triangle ou segment).
Attributs
int M_id: l'identifiant de l'élémentint M_type: le type de l'élément (1 pour les segments, 2 pour les triangles)int M_tag: le tag de l'élément (toujours 2)int M_physical_name_id: identifiant duPhysicalNamede l'élémentint *M_node_ids: un tableau d'entiers qui contient les identifiants desNodede l'élément
Méthodes
Element()
Element(int id = 0, int type = 1, int tag = 2, int physical_name_id = 0, int *node_ids = nullptr)
Constructeur.
std::ostream
std::ostream &operator<<(std::ostream &os, const Element &e)
Opérateur de sortie.
std::istream
std::istream &operator>>(std::istream &is, Element &el)
Opérateur d'entrée.
Indexation
Lors de la lecture d'un élément, on soustrait 1 à l'identifiant de l'élément car les identifiants des éléments commencent à 1 dans le fichier .msh et à 0 dans le code C++.
type()
int type() const
Retourne le type de l'élément : 1 pour les segments, 2 pour les triangles.
node_id()
int node_id(int i) const
Retourne l'identifiant du noeud d'indice i de l'élément.
area()
double area(Node **nodes) const
Retourne l'aire de l'élément.
integral()
double integral(int quad_order, Evaluator const &eval_f, Node **nodes) const
Retourne l'intégrale de la fonction eval_f sur l'élément.
L'ordre de quadrature est à spécifier en argument. Cette librairie implémente les quadratures de degré 1 à 3.
phi_k()
double phi_k(Node **nodes, int k, double x, double y) const
Retourne la valeur de la fonction de forme phi_k au point (x, y).
grad_phi_k()
std::tuple<double, double> grad_phi_k(Node **nodes, int k) const
Retourne le gradient de la fonction de forme phi_k.
Ce gradient est un std::tuple de double qui contient les coordonnées du vecteur gradient.
Gradient constant
Le gradient de la fonction de forme phi_k est constant sur l'élément, d'où l'absence de paramètres x et y en argument de la fonction.
AKe()
Eigen::MatrixXd AKe(Node **nodes, int quad_order = 3) const
Retourne la matrice A_K associé à l'élément.
L'ordre de quadrature est à spécifier en argument. Cette librairie implémente les quadratures de degré 1 à 3.
FKe()
Eigen::VectorXd FKe(Node **nodes, Evaluator const &eval_f, int quad_order = 3) const
Retourne le vecteur F_K associé à l'élément.
L'ordre de quadrature est à spécifier en argument. Cette librairie implémente les quadratures de degré 1 à 3.