Merging nodes of a mesh. More...
#include <arcane/mesh/MeshNodeMerger.h>
Public Member Functions | |
| MeshNodeMerger (IMesh *mesh) | |
| void | mergeNodes (Int32ConstArrayView nodes_local_id, Int32ConstArrayView nodes_to_merge_local_id, bool allow_non_corresponding_face=false) |
| Public Member Functions inherited from Arcane::TraceAccessor | |
| TraceAccessor (ITraceMng *m) | |
| Constructs an accessor via the trace manager m. | |
| TraceAccessor (const TraceAccessor &rhs) | |
| Copy constructor. | |
| TraceAccessor & | operator= (const TraceAccessor &rhs) |
| Copy assignment operator. | |
| virtual | ~TraceAccessor () |
| Frees resources. | |
| ITraceMng * | traceMng () const |
| Trace manager. | |
| TraceMessage | info () const |
| Flow for an information message. | |
| TraceMessage | pinfo () const |
| Flow for a parallel information message. | |
| TraceMessage | info (char category) const |
| Flow for an information message of a given category. | |
| TraceMessage | pinfo (char category) const |
| Flow for a parallel information message of a given category. | |
| TraceMessage | info (bool v) const |
| Flow for an information message. | |
| TraceMessage | warning () const |
| Flow for a warning message. | |
| TraceMessage | pwarning () const |
| TraceMessage | error () const |
| Flow for an error message. | |
| TraceMessage | perror () const |
| TraceMessage | log () const |
| Flow for a log message. | |
| TraceMessage | plog () const |
| Flow for a log message. | |
| TraceMessage | logdate () const |
| Flow for a log message preceded by the date. | |
| TraceMessage | fatal () const |
| Flow for a fatal error message. | |
| TraceMessage | pfatal () const |
| Flow for a parallel fatal error message. | |
| TraceMessageDbg | debug (Trace::eDebugLevel=Trace::Medium) const |
| Flow for a debug message. | |
| Trace::eDebugLevel | configDbgLevel () const |
| Debug level of the configuration file. | |
| TraceMessage | info (Int32 verbose_level) const |
| Flow for an information message of a given level. | |
| TraceMessage | linfo () const |
| Flow for an information message with the local information level of this instance. | |
| TraceMessage | linfo (Int32 relative_level) const |
| Flow for an information message with the local information level of this instance. | |
| void | fatalMessage (const StandaloneTraceMessage &o) const |
Private Attributes | |
| IMesh * | m_mesh = nullptr |
| NodeFamily * | m_node_family = nullptr |
| EdgeFamily * | m_edge_family = nullptr |
| FaceFamily * | m_face_family = nullptr |
| CellFamily * | m_cell_family = nullptr |
| std::map< Node, Node > | m_nodes_correspondance |
| std::map< Face, Face > | m_faces_correspondance |
Additional Inherited Members | |
| Protected Member Functions inherited from Arcane::TraceAccessor | |
| void | _setLocalVerboseLevel (Int32 v) |
| Int32 | _localVerboseLevel () const |
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.
Definition at line 52 of file MeshNodeMerger.h.
|
explicit |
Definition at line 42 of file MeshNodeMerger.cc.
| 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:
It may be necessary to adapt this algorithm when the new connectivities are in place.
Definition at line 81 of file MeshNodeMerger.cc.
References 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< T >::resize(), Arcane::ConstArrayView< T >::size(), Arcane::Item::type(), and Arcane::Item::uniqueId().
Referenced by Arcane::UnstructuredMeshUtilities::mergeNodes().
|
private |
Definition at line 71 of file MeshNodeMerger.h.
|
private |
Definition at line 69 of file MeshNodeMerger.h.
|
private |
Definition at line 70 of file MeshNodeMerger.h.
Definition at line 73 of file MeshNodeMerger.h.
|
private |
Definition at line 67 of file MeshNodeMerger.h.
|
private |
Definition at line 68 of file MeshNodeMerger.h.
Definition at line 72 of file MeshNodeMerger.h.