|
AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
|
Take a Blueprint polyhedral mesh and merge faces and rewrite the element and subelement connectivity. More...
#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/develop/src/axom/bump/MergePolyhedralFaces.hpp>
Static Public Member Functions | |
| static void | execute (conduit::Node &n_topo, int allocator_id=axom::execution_space< ExecSpace >::allocatorID()) |
| Merge faces using the face definitions and rewrite the element and subelement connectivity. The old definitions are replaced with new data. More... | |
Take a Blueprint polyhedral mesh and merge faces and rewrite the element and subelement connectivity.
Faces are lists of nodes that define a polygonal face of a polyhedron and they are defined in the subelement connectivity. Blueprint's polyhedral topologies define zones using a list of face ids where each face id refers to a polygonal face in the subelement connectivity.
Faces are considered duplicates when they contain the same list of node ids, disregarding any difference in node ordering. When a face is found to have a duplicate, a single face definition is kept and adjacent polyhedral zones are updated to use the single shared face definition.
| ExecSpace | The execution space where the algorithm will execute. |
| ConnectivityType | The type used in the topology connectivity arrays. |
|
inlinestatic |
Merge faces using the face definitions and rewrite the element and subelement connectivity. The old definitions are replaced with new data.
| n_topology | The topology to modify. |
References AXOM_ANNOTATE_BEGIN, AXOM_ANNOTATE_END, AXOM_ANNOTATE_SCOPE, AXOM_LAMBDA, axom::sidre::ConduitMemory::axomAllocIdToConduit(), axom::utilities::binary_search(), axom::bump::Unique< ExecSpace, KeyType >::execute(), axom::serial::reductions::ReduceSum< ExecSpace, T >::get(), axom::serial::reductions::ReduceMax< ExecSpace, T >::get(), axom::serial::reductions::ReduceMax< ExecSpace, T >::max(), axom::bump::HashNaming< IndexT, MAXIDS >::setMaxId(), axom::Array< T, DIM, SPACE, StoragePolicy >::size(), SLIC_ASSERT, SLIC_ERROR_IF, SLIC_INFO, and axom::Array< T, DIM, SPACE, StoragePolicy >::view().