|
FEAT 3
Finite Element Analysis Toolbox
|
Root mesh node class template. More...
#include <mesh_node.hpp>
Public Types | |
| typedef MeshNode< RootMesh_, RootMesh_ > | BaseClass |
| base class typedef More... | |
| typedef BaseClass::MeshAtlasType | MeshAtlasType |
| mesh atlas type More... | |
| typedef BaseClass::MeshChartType | MeshChartType |
| mesh chart type More... | |
| typedef MeshPartNode< RootMeshType > | MeshPartNodeType |
| the mesh part node type More... | |
| typedef BaseClass::MeshPartType | MeshPartType |
| mesh part type More... | |
| typedef BaseClass::MeshType | MeshType |
| this mesh type More... | |
| typedef RootMesh_ | RootMeshType |
| the root mesh type, has to be a Mesh More... | |
Public Member Functions | |
| RootMeshNode (std::unique_ptr< MeshType > mesh, MeshAtlasType *atlas=nullptr) | |
| Constructor. More... | |
| virtual | ~RootMeshNode () |
| Virtual destructor. More... | |
| void | adapt (bool recursive=true) |
| Adapts this mesh node. More... | |
| bool | adapt_by_name (const String &part_name, bool recursive=false) |
| Adapts this mesh node. More... | |
| void | add_halo (int rank, std::unique_ptr< MeshPartType > halo_part) |
| Adds a halo mesh part to this mesh node. More... | |
| MeshPartNodeType * | add_mesh_part (const String &part_name, std::unique_ptr< MeshPartType > mesh_part, const String &chart_name="", const MeshChartType *chart=nullptr) |
| Adds a new mesh-part child node. More... | |
| MeshPartNodeType * | add_mesh_part_node (const String &part_name, std::unique_ptr< MeshPartNodeType > mesh_part_node, const String &chart_name="", const MeshChartType *chart=nullptr) |
| Adds a new mesh-part child node. More... | |
| MeshPartType * | add_patch (int rank, std::unique_ptr< MeshPartType > patch_part) |
| Adds a patch mesh part to this mesh node. More... | |
| std::size_t | bytes () const |
| void | clear_halos () |
| Deletes all halo meshparts from this mesh node. More... | |
| void | clear_patches () |
| Deletes all patch meshparts from this mesh node. More... | |
| std::unique_ptr< RootMeshNode > | clone_unique () const |
| Creates an independent clone of this object and returns a unique pointer to it. More... | |
| void | create_patch_meshpart (const Adjacency::Graph &elems_at_rank, const int rank) |
| Creates a patch meshpart for a child and adds it to the patch map. More... | |
| void | create_permutation (PermutationStrategy strategy) |
| Creates a mesh permutation. More... | |
| std::unique_ptr< RootMeshNode > | extract_patch (std::vector< Index > &&elements, bool split_meshparts, bool split_halos, bool split_patches) |
| Extracts a patch from the root mesh as a new mesh node. More... | |
| std::unique_ptr< RootMeshNode > | extract_patch (std::vector< int > &comm_ranks, const Adjacency::Graph &elems_at_rank, const int rank) |
| Extracts a patch from the root mesh as a new mesh node. More... | |
| std::unique_ptr< RootMeshNode > | extract_patch (std::vector< int > &comm_ranks, const Partition &partition, const int rank) |
| Extracts a patch from a manual partition. More... | |
| MeshPartType * | find_mesh_part (const String &part_name) |
| Searches this container for a MeshPart. More... | |
| const MeshPartType * | find_mesh_part (const String &part_name) const |
| const MeshChartType * | find_mesh_part_chart (const String &part_name) const |
| Searches for a chart belonging to a MeshPart by name. More... | |
| String | find_mesh_part_chart_name (const String &part_name) const |
| Searches for a chart name belonging to a MeshPart by name. More... | |
| MeshPartNodeType * | find_mesh_part_node (const String &part_name) |
| Searches this container for a MeshPartNode. More... | |
| const MeshPartNodeType * | find_mesh_part_node (const String &part_name) const |
| const MeshAtlasType * | get_atlas () const |
| const MeshPartType * | get_halo (int rank) const |
| Returns a halo meshpart for a given neighbor. More... | |
| const std::map< int, std::unique_ptr< MeshPartType > > & | get_halo_map () const |
| MeshType * | get_mesh () |
| Returns the mesh of this node. More... | |
| const MeshType * | get_mesh () const |
| std::deque< String > | get_mesh_part_names (bool no_internals=false) const |
| Returns the names of all mesh parts of this node. More... | |
| const MeshPartType * | get_patch (int rank) const |
| Returns a patch meshpart for a given child. More... | |
| const std::map< int, std::unique_ptr< MeshPartType > > & | get_patch_map () const |
| template<typename TemplateSet_ , typename VertexMarker_ > | |
| std::unique_ptr< RootMeshNode > | refine_partial_unique (const VertexMarker_ &marker, AdaptMode adapt_mode=AdaptMode::chart) const |
| Refines this node and its sub-tree partially. More... | |
| std::unique_ptr< RootMeshNode > | refine_unique (AdaptMode adapt_mode=AdaptMode::chart) const |
| Refines this node and its sub-tree. More... | |
| void | remove_all_mesh_parts () |
| Removes all mesh parts from this mesh node. More... | |
| bool | remove_mesh_part (const String &part_name) |
| Removes a mesh-part and its corresponding node. More... | |
| void | rename_halos (const std::map< int, int > &ranks) |
| Renames the halo meshparts. More... | |
| void | rename_mesh_parts (const std::map< String, String > &renames) |
| Renames a set of mesh-parts. More... | |
| void | set_mesh (std::unique_ptr< MeshType > mesh) |
| bool | set_mesh_part_chart (const String &part_name, const String &chart_name, const MeshChartType *chart) |
| Sets the chart for a particular mesh part. More... | |
| void | set_permutation (MeshPermutation< typename MeshType::ShapeType > &&mesh_perm) |
| Creates a mesh permutation. More... | |
Static Public Member Functions | |
| static std::unique_ptr< RootMeshNode > | make_unique (std::unique_ptr< MeshType > mesh, MeshAtlasType *atlas=nullptr) |
| Creates a new RootMeshNode on the heap and returns a unique pointer to it. More... | |
| static String | name () |
| Returns the name of the class. More... | |
Protected Types | |
| typedef MeshPartNodeContainer::const_iterator | MeshPartNodeConstIterator |
| submesh node const-iterator type More... | |
| typedef std::map< String, MeshPartNodeBin > | MeshPartNodeContainer |
| submesh node bin container type More... | |
| typedef MeshPartNodeContainer::iterator | MeshPartNodeIterator |
| submesh node iterator type More... | |
| typedef MeshPartNodeContainer::reverse_iterator | MeshPartNodeReverseIterator |
| submesh node reverse-iterator type More... | |
Protected Member Functions | |
| void | _apply_mesh_perm_to_parts () |
| helper function: applies the mesh permutation to all mesh parts, halos and patches More... | |
| void | _clone (const RootMeshNode &other) |
| void | refine_children (MeshNode &refined_node) const |
| Refines all child nodes of this node. More... | |
| void | refine_mesh_parts (MeshNode &refined_node) const |
| Refines all child MeshPart nodes of this node. More... | |
Protected Attributes | |
| MeshAtlasType * | _atlas |
| our atlas pointer More... | |
| std::map< int, std::unique_ptr< MeshPartType > > | _halos |
| a map of our halo mesh-parts More... | |
| std::unique_ptr< MeshType > | _mesh |
| a pointer to the mesh of this node More... | |
| MeshPartNodeContainer | _mesh_part_nodes |
| child submesh nodes More... | |
| std::map< int, std::unique_ptr< MeshPartType > > | _patches |
| a map of our patch mesh-parts More... | |
Root mesh node class template.
This class template is used for the root node of a mesh tree.
Definition at line 746 of file mesh_node.hpp.
| typedef MeshNode<RootMesh_, RootMesh_> FEAT::Geometry::RootMeshNode< RootMesh_ >::BaseClass |
base class typedef
Definition at line 751 of file mesh_node.hpp.
| typedef BaseClass::MeshAtlasType FEAT::Geometry::RootMeshNode< RootMesh_ >::MeshAtlasType |
mesh atlas type
Definition at line 758 of file mesh_node.hpp.
| typedef BaseClass::MeshChartType FEAT::Geometry::RootMeshNode< RootMesh_ >::MeshChartType |
mesh chart type
Definition at line 760 of file mesh_node.hpp.
|
protectedinherited |
submesh node const-iterator type
Definition at line 176 of file mesh_node.hpp.
|
protectedinherited |
submesh node bin container type
Definition at line 172 of file mesh_node.hpp.
|
protectedinherited |
submesh node iterator type
Definition at line 174 of file mesh_node.hpp.
|
protectedinherited |
submesh node reverse-iterator type
Definition at line 178 of file mesh_node.hpp.
|
inherited |
the mesh part node type
Definition at line 127 of file mesh_node.hpp.
| typedef BaseClass::MeshPartType FEAT::Geometry::RootMeshNode< RootMesh_ >::MeshPartType |
mesh part type
Definition at line 756 of file mesh_node.hpp.
| typedef BaseClass::MeshType FEAT::Geometry::RootMeshNode< RootMesh_ >::MeshType |
this mesh type
Definition at line 754 of file mesh_node.hpp.
|
inherited |
the root mesh type, has to be a Mesh
Definition at line 121 of file mesh_node.hpp.
|
inlineexplicit |
Constructor.
| [in] | mesh | A resident unique pointer to the mesh for this node. |
| [in] | atlas | A resident pointer to the atlas for this node. |
Definition at line 804 of file mesh_node.hpp.
|
inlinevirtual |
Virtual destructor.
Definition at line 815 of file mesh_node.hpp.
|
inlineprotected |
helper function: applies the mesh permutation to all mesh parts, halos and patches
Definition at line 1553 of file mesh_node.hpp.
References FEAT::Geometry::RootMeshNode< RootMesh_ >::_halos, FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::_mesh, FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::_mesh_part_nodes, and FEAT::Geometry::RootMeshNode< RootMesh_ >::_patches.
Referenced by FEAT::Geometry::RootMeshNode< RootMesh_ >::create_permutation(), and FEAT::Geometry::RootMeshNode< RootMesh_ >::set_permutation().
|
inlineprotected |
Definition at line 771 of file mesh_node.hpp.
|
inlineinherited |
Adapts this mesh node.
This function loops over all MeshPart nodes and uses their associated charts (if given) to adapt the mesh in this node.
| [in] | recursive | If set to true, all mesh_part nodes are adapted prior to adapting this node. |
Definition at line 481 of file mesh_node.hpp.
|
inlineinherited |
Adapts this mesh node.
This function adapts this node by a specific chart whose name is given.
| [in] | part_name | The name of the mesh_part node that is to be used for adaption. |
| [in] | recursive | If set to true, the mesh_part node associated with part_name will be adapted prior to adapting this node. |
true if this node was adapted successfully or false if no node is associated with part_name or if the node did not contain any chart. Definition at line 523 of file mesh_node.hpp.
|
inline |
Adds a halo mesh part to this mesh node.
| [in] | rank | The rank of the neighbor this halo belongs to. |
| [in] | halo_part | A resident unique pointer to the halo mesh part for the neighbor. |
Definition at line 874 of file mesh_node.hpp.
References FEAT::Geometry::RootMeshNode< RootMesh_ >::_halos, and XASSERTM.
Referenced by FEAT::Control::Domain::VoxelDomainControl< DomainLevel_ >::_deslag_patch_halos(), and FEAT::Control::Domain::PartiDomainControlBase< DomainLevel_ >::_split_basemesh_halos().
|
inlineinherited |
Adds a new mesh-part child node.
| [in] | part_name | The name of the child node. |
| [in] | mesh_part | A resident unique pointer to the mesh_part to be added. |
| [in] | chart_name | The name of the chart that the mesh-part is to be linked to. |
| [in] | chart | A resident pointer to the chart that the subnode is to be associated with. May be nullptr. |
nullptr. Definition at line 316 of file mesh_node.hpp.
|
inlineinherited |
Adds a new mesh-part child node.
| [in] | part_name | The name of the child node. |
| [in] | mesh_part_node | A resident unique pointer to the mesh_part node to be added. |
| [in] | chart_name | The name of the chart that the mesh-part is to be linked to. |
| [in] | chart | A resident pointer to the chart that the subnode is to be associated with. May be nullptr. |
nullptr. Definition at line 281 of file mesh_node.hpp.
|
inline |
Adds a patch mesh part to this mesh node.
| [in] | rank | The rank of the child this patch belongs to. |
| [in] | patch_part | A resident pointer to the patch mesh part for the child. |
Definition at line 947 of file mesh_node.hpp.
References FEAT::Geometry::RootMeshNode< RootMesh_ >::_patches, and XASSERT.
Referenced by FEAT::Geometry::RootMeshNode< RootMesh_ >::create_patch_meshpart(), and FEAT::Geometry::RootMeshNode< RootMesh_ >::extract_patch().
|
inline |
Definition at line 855 of file mesh_node.hpp.
References FEAT::Geometry::RootMeshNode< RootMesh_ >::_halos, FEAT::Geometry::RootMeshNode< RootMesh_ >::_patches, and FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::bytes().
|
inline |
Deletes all halo meshparts from this mesh node.
Definition at line 902 of file mesh_node.hpp.
|
inline |
Deletes all patch meshparts from this mesh node.
Definition at line 975 of file mesh_node.hpp.
|
inline |
Creates an independent clone of this object and returns a unique pointer to it.
Definition at line 847 of file mesh_node.hpp.
|
inline |
Creates a patch meshpart for a child and adds it to the patch map.
| [in] | elems_at_rank | A transient reference to the adjacency graph that describes which elements belong to each child rank. |
| [in] | rank | The child rank for which the patch meshpart is to be created. |
Definition at line 1485 of file mesh_node.hpp.
References FEAT::Geometry::RootMeshNode< RootMesh_ >::add_patch(), FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::get_mesh(), and FEAT::Geometry::Factory< MeshPart< MeshType_ > >::make_unique().
|
inline |
Creates a mesh permutation.
This function creates a permutation based on one of the standards permutation strategies and also permutes the mesh parts, halos and patches stored in this mesh node.
Definition at line 1511 of file mesh_node.hpp.
References FEAT::Geometry::RootMeshNode< RootMesh_ >::_apply_mesh_perm_to_parts(), FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::_mesh, and XASSERTM.
|
inline |
Extracts a patch from the root mesh as a new mesh node.
| [in] | elements | A vector containing the indices of the patch elements. |
| [in] | split_meshparts | Specifies whether the mesh-parts of the mesh node are to be extracted. If false, then the returned mesh node will not contain any mesh parts. |
| [in] | split_halos | Specifies whether the halos of the mesh node are to be extracted. If false, then the returned mesh node will not contain any halos. |
| [in] | split_patches | Specifies whether the patch mesh-parts of the mesh node are to be extracted. If false, then the returned mesh node will not contain any patch mesh parts. |
Definition at line 1151 of file mesh_node.hpp.
References FEAT::Geometry::RootMeshNode< RootMesh_ >::add_patch(), FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::find_mesh_part_chart(), FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::find_mesh_part_chart_name(), FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::find_mesh_part_node(), FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::get_mesh(), FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::get_mesh_part_names(), FEAT::Geometry::Factory< MeshPart< MeshType_ > >::make_unique(), FEAT::Geometry::RootMeshNode< RootMesh_ >::make_unique(), and XASSERTM.
Referenced by FEAT::Control::Domain::VoxelDomainControl< DomainLevel_ >::_deslag_mesh_node(), and FEAT::Geometry::RootMeshNode< RootMesh_ >::extract_patch().
|
inline |
Extracts a patch from the root mesh as a new mesh node.
This function also computes the communication neighbor ranks.
| [out] | comm_ranks | A transient reference to the communication neighbor ranks vector for this process. |
| [in] | elems_at_rank | A transient reference to the elements-at-rank graph representing the partitioning from which the patch is to be extracted. |
| [in] | rank | The rank of the patch to be created. |
Definition at line 1296 of file mesh_node.hpp.
References FEAT::Geometry::RootMeshNode< RootMesh_ >::add_patch(), FEAT::Geometry::PatchMeshPartFactory< MeshType_ >::empty(), FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::find_mesh_part_chart(), FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::find_mesh_part_chart_name(), FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::find_mesh_part_node(), FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::get_mesh(), FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::get_mesh_part_names(), FEAT::Adjacency::Graph::image_begin(), FEAT::Adjacency::Graph::image_end(), FEAT::Adjacency::injectify, FEAT::Geometry::Factory< MeshPart< MeshType_ > >::make_unique(), FEAT::Geometry::RootMeshNode< RootMesh_ >::make_unique(), FEAT::stringify(), FEAT::Adjacency::transpose, XABORTM, and XASSERTM.
|
inline |
Extracts a patch from a manual partition.
This function also computes the communication ranks.
| [out] | comm_ranks | A transient reference to the communication ranks vector for this rank. |
| [in] | partition | A transient reference to the partition from which the patch is to be extracted. |
| [in] | rank | The rank of the patch to be created. |
Definition at line 1468 of file mesh_node.hpp.
References FEAT::Geometry::RootMeshNode< RootMesh_ >::extract_patch(), and FEAT::Geometry::Partition::get_patches().
|
inlineinherited |
Searches this container for a MeshPart.
| [in] | part_name | The name of the node associated with the mesh_part to be found. |
part_name or nullptr if no such node was found. Definition at line 398 of file mesh_node.hpp.
|
inlineinherited |
Searches this container for a MeshPart.
| [in] | part_name | The name of the node associated with the mesh_part to be found. |
part_name or nullptr if no such node was found. Definition at line 405 of file mesh_node.hpp.
|
inlineinherited |
Searches for a chart belonging to a MeshPart by name.
| [in] | part_name | The name of the node associated with the chart to be found. |
part_name of nullptr if no such node was found or if the corresponding node did not have a chart. Definition at line 421 of file mesh_node.hpp.
|
inlineinherited |
Searches for a chart name belonging to a MeshPart by name.
| [in] | part_name | The name of the node associated with the chart to be found. |
part_name or an empty string is no such node was found. Definition at line 437 of file mesh_node.hpp.
|
inlineinherited |
Searches this container for a MeshPartNode.
| [in] | part_name | The name of the node to be found. |
part_name or nullptr if no such node was found. Definition at line 376 of file mesh_node.hpp.
|
inlineinherited |
Searches this container for a MeshPartNode.
| [in] | part_name | The name of the node to be found. |
part_name or nullptr if no such node was found. Definition at line 383 of file mesh_node.hpp.
|
inline |
nullptr. Definition at line 820 of file mesh_node.hpp.
References FEAT::Geometry::RootMeshNode< RootMesh_ >::_atlas.
Referenced by FEAT::Meshopt::ChartDistanceFunction< ElementalFunction_, Trafo_, RefCellTrafo_ >::compute_dist_add(), FEAT::Meshopt::ChartDistanceFunction< ElementalFunction_, Trafo_, RefCellTrafo_ >::compute_dist_max(), and FEAT::Meshopt::ChartDistanceFunction< ElementalFunction_, Trafo_, RefCellTrafo_ >::compute_dist_min().
|
inline |
Returns a halo meshpart for a given neighbor.
| [in] | rank | The rank of the neighbor for which the halo is to be returned. |
nullptr, if no halo for this neighbor rank exists. Definition at line 889 of file mesh_node.hpp.
References FEAT::Geometry::RootMeshNode< RootMesh_ >::_halos.
|
inline |
Definition at line 896 of file mesh_node.hpp.
References FEAT::Geometry::RootMeshNode< RootMesh_ >::_halos.
Referenced by FEAT::Geometry::DistributedMeshDistortion< MeshType_ >::_calc_boundary_facets(), FEAT::Geometry::DistributedUmbrellaSmoother< MeshType_ >::_calc_boundary_facets(), FEAT::Geometry::DistributedMeshDistortion< MeshType_ >::_calc_shortest_edge(), FEAT::Geometry::DistributedMeshDistortion< MeshType_ >::_calc_vertex_owners(), FEAT::Control::Domain::VoxelDomainControl< DomainLevel_ >::_deslag_mesh_node(), FEAT::Control::Domain::VoxelDomainControl< DomainLevel_ >::_deslag_patch_halos(), FEAT::Geometry::DistributedUmbrellaSmoother< MeshType_ >::_init_edge_multiplicity(), FEAT::Control::Domain::PartiDomainControlBase< DomainLevel_ >::_split_basemesh_halos(), FEAT::Geometry::DistributedMeshDistortion< MeshType_ >::_synchronize(), FEAT::Geometry::DistributedUmbrellaSmoother< MeshType_ >::_synchronize(), and FEAT::Assembly::StokesFBMAssembler< MeshType_ >::sync().
|
inlineinherited |
Returns the mesh of this node.
Definition at line 225 of file mesh_node.hpp.
|
inlineinherited |
Returns the mesh of this node.
Definition at line 231 of file mesh_node.hpp.
|
inlineinherited |
Returns the names of all mesh parts of this node.
| [in] | no_internals | Specifies whether to skip all internal mesh-parts whose names begin with an underscore. |
Definition at line 251 of file mesh_node.hpp.
|
inline |
Returns a patch meshpart for a given child.
| [in] | rank | The rank of the child for which the patch is to be returned. |
nullptr, if no patch for this child rank exists. Definition at line 962 of file mesh_node.hpp.
References FEAT::Geometry::RootMeshNode< RootMesh_ >::_patches.
Referenced by FEAT::Control::Domain::VoxelDomainControl< DomainLevel_ >::_compute_base_mesh_coloring(), FEAT::Control::Domain::VoxelDomainControl< DomainLevel_ >::_compute_base_mesh_layering(), FEAT::Control::Domain::VoxelDomainControl< DomainLevel_ >::_compute_refined_mesh_coloring(), FEAT::Control::Domain::VoxelDomainControl< DomainLevel_ >::_compute_refined_mesh_layering(), FEAT::Control::Domain::VoxelDomainControl< DomainLevel_ >::_deslag_patch_halos(), FEAT::Control::Domain::VoxelDomainControl< DomainLevel_ >::_extract_patch_coloring(), FEAT::Control::Domain::VoxelDomainControl< DomainLevel_ >::_extract_patch_layering(), and FEAT::Control::Domain::PartiDomainControlBase< DomainLevel_ >::_split_basemesh_halos().
|
inline |
Definition at line 969 of file mesh_node.hpp.
References FEAT::Geometry::RootMeshNode< RootMesh_ >::_patches.
|
inlinestatic |
Creates a new RootMeshNode on the heap and returns a unique pointer to it.
| [in] | mesh | A resident unique pointer to the mesh for the newly created node. |
| [in] | atlas | A resident pointer to the atlas for the newly created node. |
Definition at line 837 of file mesh_node.hpp.
Referenced by FEAT::Geometry::RootMeshNode< RootMesh_ >::extract_patch(), FEAT::Geometry::MeshFileReader::parse(), FEAT::Geometry::RootMeshNode< RootMesh_ >::refine_partial_unique(), and FEAT::Geometry::RootMeshNode< RootMesh_ >::refine_unique().
|
inlinestatic |
Returns the name of the class.
Definition at line 1546 of file mesh_node.hpp.
|
inlineprotectedinherited |
Refines all child nodes of this node.
| [in,out] | refined_node | A reference to the node generated by refining this node. |
Definition at line 565 of file mesh_node.hpp.
|
inlineprotectedinherited |
Refines all child MeshPart nodes of this node.
| [in,out] | refined_node | A reference to the node generated by refining this node. |
Definition at line 577 of file mesh_node.hpp.
|
inline |
Refines this node and its sub-tree partially.
| [in] | adapt_mode | Mode for adaption, defaults to chart. |
Definition at line 1050 of file mesh_node.hpp.
References FEAT::Geometry::RootMeshNode< RootMesh_ >::_halos, FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::_mesh, FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::_mesh_part_nodes, FEAT::Geometry::RootMeshNode< RootMesh_ >::_patches, and FEAT::Geometry::RootMeshNode< RootMesh_ >::make_unique().
|
inline |
Refines this node and its sub-tree.
| [in] | adapt_mode | Mode for adaption, defaults to chart. |
Definition at line 989 of file mesh_node.hpp.
References FEAT::Geometry::RootMeshNode< RootMesh_ >::_halos, FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::_mesh, FEAT::Geometry::RootMeshNode< RootMesh_ >::_patches, FEAT::Geometry::RootMeshNode< RootMesh_ >::make_unique(), and FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::refine_children().
|
inlineinherited |
Removes all mesh parts from this mesh node.
Definition at line 339 of file mesh_node.hpp.
|
inlineinherited |
Removes a mesh-part and its corresponding node.
| [in] | part_name | The name of the child node to be removed |
true, if a mesh-part with the corresponding name was removed, otherwise false. Definition at line 333 of file mesh_node.hpp.
|
inline |
Renames the halo meshparts.
This function can be used to rename the halo meshparts when the rank ordering in the communicator has changed.
| [in] | ranks | An map of oldrank-newrank pairs. |
Definition at line 916 of file mesh_node.hpp.
References FEAT::Geometry::RootMeshNode< RootMesh_ >::_halos.
|
inlineinherited |
Renames a set of mesh-parts.
| [in] | renames | A transient map of oldname-newname pairs. |
Definition at line 449 of file mesh_node.hpp.
|
inlineinherited |
Definition at line 236 of file mesh_node.hpp.
|
inlineinherited |
Sets the chart for a particular mesh part.
| [in] | part_name | The name of the mesh part that the chart is to be assigned to. |
| [in] | chart | A resident pointer to the chart that is to be assigned. May also be nullptr. |
true if the chart was assigned successfully or false if no mesh part with the specified name was found. Definition at line 357 of file mesh_node.hpp.
|
inline |
Creates a mesh permutation.
This function creates a permutation based on one of the standards permutation strategies and also permutes the mesh parts, halos and patches stored in this mesh node.
Definition at line 1530 of file mesh_node.hpp.
References FEAT::Geometry::RootMeshNode< RootMesh_ >::_apply_mesh_perm_to_parts(), FEAT::Geometry::MeshNode< RootMesh_, RootMesh_ >::_mesh, and XASSERTM.
|
protected |
our atlas pointer
Definition at line 764 of file mesh_node.hpp.
Referenced by FEAT::Geometry::RootMeshNode< RootMesh_ >::get_atlas().
|
protected |
a map of our halo mesh-parts
Definition at line 766 of file mesh_node.hpp.
Referenced by FEAT::Geometry::RootMeshNode< RootMesh_ >::_apply_mesh_perm_to_parts(), FEAT::Geometry::RootMeshNode< RootMesh_ >::add_halo(), FEAT::Geometry::RootMeshNode< RootMesh_ >::bytes(), FEAT::Geometry::RootMeshNode< RootMesh_ >::get_halo(), FEAT::Geometry::RootMeshNode< RootMesh_ >::get_halo_map(), FEAT::Geometry::RootMeshNode< RootMesh_ >::refine_partial_unique(), FEAT::Geometry::RootMeshNode< RootMesh_ >::refine_unique(), and FEAT::Geometry::RootMeshNode< RootMesh_ >::rename_halos().
|
protectedinherited |
a pointer to the mesh of this node
Definition at line 182 of file mesh_node.hpp.
|
protectedinherited |
child submesh nodes
Definition at line 184 of file mesh_node.hpp.
|
protected |
a map of our patch mesh-parts
Definition at line 768 of file mesh_node.hpp.
Referenced by FEAT::Geometry::RootMeshNode< RootMesh_ >::_apply_mesh_perm_to_parts(), FEAT::Geometry::RootMeshNode< RootMesh_ >::add_patch(), FEAT::Geometry::RootMeshNode< RootMesh_ >::bytes(), FEAT::Geometry::RootMeshNode< RootMesh_ >::get_patch(), FEAT::Geometry::RootMeshNode< RootMesh_ >::get_patch_map(), FEAT::Geometry::RootMeshNode< RootMesh_ >::refine_partial_unique(), and FEAT::Geometry::RootMeshNode< RootMesh_ >::refine_unique().