12#ifndef ARCANE_MESH_UNSTRUCTUREDMESHUTILITIES_H
13#define ARCANE_MESH_UNSTRUCTUREDMESHUTILITIES_H
17#include "arcane/utils/TraceAccessor.h"
19#include "arcane/core/IMeshUtilities.h"
40class UnstructuredMeshUtilities
46 explicit UnstructuredMeshUtilities(
IMesh*
mesh);
57 bool allow_null)
override;
91 bool initial_partition)
override;
103 IMesh* m_mesh =
nullptr;
109 Real3 _broadcastFarthestNode(
Real distance,
const Node& node,
Fonctions utilitaires sur un maillage.
Interface d'un partitionneur de maillage.
Interface d'une classe proposant des fonctions utilitaires sur maillage.
Implémentation d'un tableau de listes d'entités.
Tableau de listes d'entités.
Classe gérant un vecteur de réel de dimension 3.
Chaîne de caractères unicode.
TraceAccessor(ITraceMng *m)
Construit un accesseur via le gestionnaire de trace m.
Real3 computeDirection(const NodeGroup &node_group, const VariableNodeReal3 &nodes_coord, Real3 *n1, Real3 *n2) override
Real3 computeNormal(const FaceGroup &face_group, const VariableNodeReal3 &nodes_coord) override
Calcule la normale d'un groupe de face.
~UnstructuredMeshUtilities() override
Libère les ressources.
void partitionAndExchangeMeshWithReplication(IMeshPartitionerBase *partitioner, bool initial_partition) override
Repartitionne et échange le maillage en gérant la réplication.
void mergeNodes(Int32ConstArrayView nodes_local_id, Int32ConstArrayView nodes_to_merge_local_id) override
Fusionne des noeuds.
void computeAdjency(ItemPairGroup adjency_array, eItemKind link_kind, Integer nb_layer) override
Calcul des adjacences, rangées dans adjacency_array.
bool writeToFile(const String &file_name, const String &service_name) override
Ecrit le maillage dans un fichier.
void changeOwnersFromCells() override
Positionne les nouveaux propriétaires des noeuds, arêtes et faces à partir des mailles.
void localIdsFromConnectivity(eItemKind item_kind, IntegerConstArrayView items_nb_node, Int64ConstArrayView items_connectivity, Int32ArrayView local_ids, bool allow_null) override
Recherche les identifiants locaux des entités à partir de leur connectivité.
void recomputeItemsUniqueIdFromNodesUniqueId() override
Recalcule les uniqueId() des arêtes, faces et mailles en fonction des uniqueId() des noeuds.
void computeAndSetOwnersForFaces() override
Détermine les propriétaires des faces.
void computeAndSetOwnersForNodes() override
Détermine les propriétaires des noeuds.
ItemGroupT< Face > FaceGroup
Groupe de faces.
ItemGroupT< Node > NodeGroup
Groupe de noeuds.
MeshVariableScalarRefT< Node, Real3 > VariableNodeReal3
Grandeur au noeud de type coordonnées.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
ConstArrayView< Int64 > Int64ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
ArrayView< Int32 > Int32ArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
eItemKind
Genre d'entité de maillage.
double Real
Type représentant un réel.
ConstArrayView< Integer > IntegerConstArrayView
Equivalent C d'un tableau à une dimension d'entiers.