Projet C++ - Clément Thiriet

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ément
  • int 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 du PhysicalName de l'élément
  • int *M_node_ids: un tableau d'entiers qui contient les identifiants des Node de 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.

Précédent
PhysicalName
Suivant
Node