Arcane  4.1.11.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::mesh::MeshNodeMerger

Merging nodes of a mesh. Plus de détails...

#include <arcane/mesh/MeshNodeMerger.h>

Graphe d'héritage de Arcane::mesh::MeshNodeMerger:
Graphe de collaboration de Arcane::mesh::MeshNodeMerger:

Fonctions membres publiques

 MeshNodeMerger (IMesh *mesh)
void mergeNodes (Int32ConstArrayView nodes_local_id, Int32ConstArrayView nodes_to_merge_local_id, bool allow_non_corresponding_face=false)
Fonctions membres publiques hérités de Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Construit un accesseur via le gestionnaire de trace m.
 TraceAccessor (const TraceAccessor &rhs)
 Constructeur par recopie.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Opérateur de recopie.
virtual ~TraceAccessor ()
 Libère les ressources.
ITraceMngtraceMng () const
 Gestionnaire de trace.
TraceMessage info () const
 Flot pour un message d'information.
TraceMessage pinfo () const
 Flot pour un message d'information en parallèle.
TraceMessage info (char category) const
 Flot pour un message d'information d'une catégorie donnée.
TraceMessage pinfo (char category) const
 Flot pour un message d'information parallèle d'une catégorie donnée.
TraceMessage info (bool v) const
 Flot pour un message d'information.
TraceMessage warning () const
 Flot pour un message d'avertissement.
TraceMessage pwarning () const
TraceMessage error () const
 Flot pour un message d'erreur.
TraceMessage perror () const
TraceMessage log () const
 Flot pour un message de log.
TraceMessage plog () const
 Flot pour un message de log.
TraceMessage logdate () const
 Flot pour un message de log précédé de la date.
TraceMessage fatal () const
 Flot pour un message d'erreur fatale.
TraceMessage pfatal () const
 Flot pour un message d'erreur fatale en parallèle.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flot pour un message de debug.
Trace::eDebugLevel configDbgLevel () const
 Niveau debug du fichier de configuration.
TraceMessage info (Int32 verbose_level) const
 Flot pour un message d'information d'un niveau donné
TraceMessage linfo () const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
TraceMessage linfo (Int32 relative_level) const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
void fatalMessage (const StandaloneTraceMessage &o) const

Attributs privés

IMeshm_mesh = nullptr
NodeFamilym_node_family = nullptr
EdgeFamilym_edge_family = nullptr
FaceFamilym_face_family = nullptr
CellFamilym_cell_family = nullptr
std::map< Node, Nodem_nodes_correspondance
std::map< Face, Facem_faces_correspondance

Membres hérités additionnels

Fonctions membres protégées hérités de Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Description détaillée

Merging nodes of a mesh.

The current implementation only handles 'classical' meshes and only handles node, edge, face, and cell families.

Furthermore, the 3D part has not been tested. It should work as long as the edges are not active. Same for the parallel part, but it has not been tested either.

Définition à la ligne 52 du fichier MeshNodeMerger.h.

Documentation des constructeurs et destructeur

◆ MeshNodeMerger()

Arcane::mesh::MeshNodeMerger::MeshNodeMerger ( IMesh * mesh)
explicit

Définition à la ligne 42 du fichier MeshNodeMerger.cc.

Documentation des fonctions membres

◆ mergeNodes()

void Arcane::mesh::MeshNodeMerger::mergeNodes ( Int32ConstArrayView nodes_local_id,
Int32ConstArrayView nodes_to_merge_local_id,
bool allow_non_corresponding_face = false )

The principle of the algorithm is as follows:

  1. Determine the set of faces and cells that have at least one modified node. These are the ones that need to be processed.
  2. For faces, determine those whose nodes are all merged. These faces will be merged and disappear. It must be determined with which faces they will merge. In 3D, the same must be done for edges.
  3. Once everything is calculated, the connectivities of the entities (cells, faces, and edges) that are modified must be updated.
  4. Finally, the merged nodes, edges, and faces must be destroyed.

It may be necessary to adapt this algorithm when the new connectivities are in place.

Définition à la ligne 81 du fichier MeshNodeMerger.cc.

Références ARCANE_FATAL, Arcane::Face::backCell(), Arcane::FaceReorienter::checkAndChangeOrientation(), ENUMERATE_, ENUMERATE_CELL, Arcane::mesh::ItemTools::findFaceInNode2(), Arcane::TraceAccessor::info(), Arcane::Face::nbCell(), Arcane::ItemWithNodes::nbNode(), Arcane::ItemWithNodes::nodes(), Arcane::Item::null(), Arcane::Array< DataType >::resize(), Arcane::ConstArrayView< T >::size(), Arcane::Item::type(), et Arcane::Item::uniqueId().

Référencé par Arcane::UnstructuredMeshUtilities::mergeNodes().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

Documentation des données membres

◆ m_cell_family

CellFamily* Arcane::mesh::MeshNodeMerger::m_cell_family = nullptr
private

Définition à la ligne 71 du fichier MeshNodeMerger.h.

◆ m_edge_family

EdgeFamily* Arcane::mesh::MeshNodeMerger::m_edge_family = nullptr
private

Définition à la ligne 69 du fichier MeshNodeMerger.h.

◆ m_face_family

FaceFamily* Arcane::mesh::MeshNodeMerger::m_face_family = nullptr
private

Définition à la ligne 70 du fichier MeshNodeMerger.h.

◆ m_faces_correspondance

std::map<Face, Face> Arcane::mesh::MeshNodeMerger::m_faces_correspondance
private

Définition à la ligne 73 du fichier MeshNodeMerger.h.

◆ m_mesh

IMesh* Arcane::mesh::MeshNodeMerger::m_mesh = nullptr
private

Définition à la ligne 67 du fichier MeshNodeMerger.h.

◆ m_node_family

NodeFamily* Arcane::mesh::MeshNodeMerger::m_node_family = nullptr
private

Définition à la ligne 68 du fichier MeshNodeMerger.h.

◆ m_nodes_correspondance

std::map<Node, Node> Arcane::mesh::MeshNodeMerger::m_nodes_correspondance
private

Définition à la ligne 72 du fichier MeshNodeMerger.h.


La documentation de cette classe a été générée à partir des fichiers suivants :