Make a new polyhedral topology, coordset, and matset by extracting selected zones from the input 3D structured mesh. We make assumptions for structured 3D meshes that let us make unique faces by construction.
More...
|
| virtual void | makeTopology (const SelectedZonesView selectedZonesView, const Sizes &AXOM_UNUSED_PARAM(dataSizes), const Sizes &AXOM_UNUSED_PARAM(extra), const axom::ArrayView< ConnectivityType > &old2newView, const conduit::Node &n_topo, const conduit::Node &AXOM_UNUSED_PARAM(n_options), conduit::Node &n_newTopo) const override |
| | Make the output topology for just the selected zones. This is an override of the base class' behavior and we make assumptions for 3D structured topologies to help make faces more easily. More...
|
| |
| std::string | matsetName (const conduit::Node &n_input, const std::string &topoName) const |
| | Return the matset for the named topology. More...
|
| |
| void | makeMatset (const SelectedZonesView selectedZonesView, const conduit::Node &n_matset, conduit::Node &n_newMatset) const |
| | Make a new matset that covers the selected zones. More...
|
| |
| axom::ArrayView< axom::IndexType > | zoneSliceView (const SelectedZonesView &selectedZonesView, const Sizes &extra) |
| | Create a zone slice view, building m_zoneSlice if needed. More...
|
| |
| Sizes | getExtra (const conduit::Node &n_options) const |
| | Return a Sizes object initialized from the options. More...
|
| |
| Sizes | nodeMap (const SelectedZonesView &selectedZonesView, const Sizes &extra, axom::Array< ConnectivityType > &AXOM_UNUSED_PARAM(old2new), axom::Array< axom::IndexType > &nodeSlice) const |
| | Make node map and node slice information for the selected zones but do not limit the selection to only the used nodes. More...
|
| |
| Sizes | compactNodeMap (const SelectedZonesView selectedZonesView, const Sizes &extra, axom::Array< ConnectivityType > &old2new, axom::Array< axom::IndexType > &nodeSlice) const |
| | Make node map and node slice information for the selected zones selecting only the used nodes. More...
|
| |
| virtual void | makeTopology (const SelectedZonesView selectedZonesView, const Sizes &dataSizes, const Sizes &extra, const axom::ArrayView< ConnectivityType > &old2newView, const conduit::Node &n_topo, const conduit::Node &n_options, conduit::Node &n_newTopo) const |
| | Make the output topology for just the selected zones. More...
|
| |
| void | makeCoordset (const SliceData &nodeSlice, const conduit::Node &n_coordset, conduit::Node &n_newCoordset) const |
| | Make the new coordset using the blend data and the input coordset/coordsetview. More...
|
| |
| void | makeFields (const SliceData &nodeSlice, const SliceData &zoneSlice, const std::string &newTopoName, const conduit::Node &n_fields, conduit::Node &n_newFields) const |
| | Make fields for the output mesh, as needed. More...
|
| |
| std::string | topologyName (const conduit::Node &n_input, const conduit::Node &n_options) const |
| | Get the topology name. More...
|
| |
| bool | compact (const conduit::Node &n_options) const |
| | Return whether coordset/vertex compaction is desired. More...
|
| |
| std::string | outputShape (const conduit::Node &n_topo) const |
| | Return the name of the output shape type. More...
|
| |
template<typename ExecSpace, typename IndexPolicy, typename CoordsetView, typename MatsetView>
class axom::bump::ExtractZonesAndMatsetPolyhedral< ExecSpace, IndexPolicy, CoordsetView, MatsetView >
Make a new polyhedral topology, coordset, and matset by extracting selected zones from the input 3D structured mesh. We make assumptions for structured 3D meshes that let us make unique faces by construction.
- Template Parameters
-
| ExecSpace | The execution space where the algorithm will run. |
| IndexPolicy | The structured indexing policy used in the topology. |
| CoordsetView | The coordset view type. |
| MatsetView | The matset view type. |
template<typename ExecSpace , typename IndexPolicy , typename CoordsetView , typename MatsetView >
|
|
inlineoverrideprotectedvirtual |
Make the output topology for just the selected zones. This is an override of the base class' behavior and we make assumptions for 3D structured topologies to help make faces more easily.
- Parameters
-
| selectedZonesView | A view that contains the ids of the zones to extract. |
| dataSizes | Array sizes for connectivity, sizes, etc. |
| extra | Extra sizes for connectivity, sizes, etc. |
| old2newView | A view that lets us map old node numbers to new node numbers. |
| n_topo | The input topology. |
| n_options | A node containing the options (ignored). |
| n_newTopo | A node to contain the new topology. |
References AXOM_ANNOTATE_BEGIN, AXOM_ANNOTATE_END, AXOM_ANNOTATE_SCOPE, AXOM_LAMBDA, axom::sidre::ConduitMemory::axomAllocIdToConduit(), axom::Array< T, DIM, SPACE, StoragePolicy >::clear(), axom::Array< T, DIM, SPACE, StoragePolicy >::fill(), axom::serial::reductions::ReduceSum< ExecSpace, T >::get(), axom::bump::ExtractZones< ExecSpace, TopologyView, CoordsetView >::getAllocatorID(), axom::bump::ExtractZones< ExecSpace, TopologyView, CoordsetView >::m_topologyView, axom::bump::views::StructuredTopologyView< IndexPolicy >::numberOfZones(), axom::ArrayView< T, DIM, SPACE >::size(), SLIC_ASSERT, SLIC_ERROR_IF, and axom::Array< T, DIM, SPACE, StoragePolicy >::view().
template<typename ExecSpace , typename TopologyView , typename CoordsetView >
Create a zone slice view, building m_zoneSlice if needed.
- Parameters
-
| selectedZonesView | A view that contains the selected zone ids. |
| extra | A Sizes object containing any extra size that needs to be allocated. |
- Returns
- An array view containing the zone slice.
References AXOM_LAMBDA, axom::copy(), axom::ArrayView< T, DIM, SPACE >::data(), axom::bump::ExtractZones< ExecSpace, TopologyView, CoordsetView >::getAllocatorID(), axom::bump::ExtractZones< ExecSpace, TopologyView, CoordsetView >::m_zoneSlice, axom::Array< T, DIM, SPACE, StoragePolicy >::size(), axom::ArrayView< T, DIM, SPACE >::size(), axom::Array< T, DIM, SPACE, StoragePolicy >::view(), and axom::bump::ExtractZones< ExecSpace, TopologyView, CoordsetView >::Sizes::zones.
template<typename ExecSpace , typename TopologyView , typename CoordsetView >
Make node map and node slice information for the selected zones but do not limit the selection to only the used nodes.
- Parameters
-
| selectedZonesView | The selected zones. |
| extra | A Sizes object containing any extra sizes to use for allocation. |
| [out] | old2new | An array that contains the new node id for each node in the mesh. |
| [out] | nodeSlice | An array that contains the node ids that will be selected from the input mesh when making coordsets and vertex fields. |
- Returns
- A Sizes object that contains the size of the nodes,zones,connectivity (excluding extra) for the output mesh.
- Note
- old2new is not used in this method.
References AXOM_ANNOTATE_SCOPE, AXOM_LAMBDA, axom::ArrayView< T, DIM, SPACE >::empty(), axom::serial::reductions::ReduceSum< ExecSpace, T >::get(), axom::bump::ExtractZones< ExecSpace, TopologyView, CoordsetView >::getAllocatorID(), axom::bump::ExtractZones< ExecSpace, TopologyView, CoordsetView >::m_coordsetView, axom::bump::ExtractZones< ExecSpace, TopologyView, CoordsetView >::m_topologyView, axom::bump::ExtractZones< ExecSpace, TopologyView, CoordsetView >::Sizes::nodes, axom::ArrayView< T, DIM, SPACE >::size(), SLIC_ERROR_IF, and axom::Array< T, DIM, SPACE, StoragePolicy >::view().
template<typename ExecSpace , typename TopologyView , typename CoordsetView >
Make node map and node slice information for the selected zones selecting only the used nodes.
- Parameters
-
| selectedZonesView | The selected zones. |
| extra | A Sizes object containing any extra sizes to use for allocation. |
| [out] | old2new | An array that contains the new node id for each node in the mesh. |
| [out] | nodeSlice | An array that contains the node ids that will be selected from the input mesh when making coordsets and vertex fields. |
- Returns
- A Sizes object that contains the size of the nodes,zones,connectivity (excluding extra) for the output mesh.
References AXOM_ANNOTATE_SCOPE, AXOM_LAMBDA, axom::ArrayView< T, DIM, SPACE >::empty(), axom::Array< T, DIM, SPACE, StoragePolicy >::fill(), axom::serial::reductions::ReduceSum< ExecSpace, T >::get(), axom::bump::ExtractZones< ExecSpace, TopologyView, CoordsetView >::getAllocatorID(), axom::bump::ExtractZones< ExecSpace, TopologyView, CoordsetView >::m_coordsetView, axom::bump::ExtractZones< ExecSpace, TopologyView, CoordsetView >::m_topologyView, axom::bump::ExtractZones< ExecSpace, TopologyView, CoordsetView >::Sizes::nodes, axom::ArrayView< T, DIM, SPACE >::size(), SLIC_ERROR_IF, SLIC_INFO, and axom::Array< T, DIM, SPACE, StoragePolicy >::view().
template<typename ExecSpace , typename TopologyView , typename CoordsetView >
|
|
inlineprotectedvirtualinherited |
Make the output topology for just the selected zones.
- Parameters
-
| selectedZonesView | A view that contains the ids of the zones to extract. |
| dataSizes | Array sizes for connectivity, sizes, etc. |
| extra | Extra sizes for connectivity, sizes, etc. |
| old2newView | A view that lets us map old node numbers to new node numbers. |
| n_topo | The input topology. |
| n_options | A node containing the options. |
| n_newTopo | A node to contain the new topology. |
References AXOM_ANNOTATE_SCOPE, AXOM_LAMBDA, axom::sidre::ConduitMemory::axomAllocIdToConduit(), axom::bump::ExtractZones< ExecSpace, TopologyView, CoordsetView >::compact(), axom::bump::ExtractZones< ExecSpace, TopologyView, CoordsetView >::Sizes::connectivity, axom::bump::ExtractZones< ExecSpace, TopologyView, CoordsetView >::getAllocatorID(), axom::bump::ExtractZones< ExecSpace, TopologyView, CoordsetView >::m_topologyView, axom::bump::ExtractZones< ExecSpace, TopologyView, CoordsetView >::outputShape(), axom::ArrayView< T, DIM, SPACE >::size(), SLIC_ERROR, and axom::bump::ExtractZones< ExecSpace, TopologyView, CoordsetView >::Sizes::zones.