|
AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
|
Take a source topology with clean matset and a target topology and intersect the source and target zones to build up a new matset on the target mesh that represents how the source mesh overlaps the target mesh. More...
#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/develop/src/axom/bump/TopologyMapper.hpp>
Public Types | |
| using | SrcShapeView = PrimalAdaptor< SrcTopologyView, SrcCoordsetView, MAX_VERTS_2D, makeFaces > |
| using | TargetShapeView = PrimalAdaptor< TargetTopologyView, TargetCoordsetView, MAX_VERTS_2D > |
Public Member Functions | |
| TopologyMapper (const SrcTopologyView &srcTopoView, const SrcCoordsetView &srcCoordsetView, const SrcMatsetView &srcMatsetView, const TargetTopologyView &targetTopoView, const TargetCoordsetView &targetCoordsetView) | |
| Constructor. More... | |
| void | setAllocatorID (int allocator_id) |
| Set the allocator id to use when allocating memory. More... | |
| int | getAllocatorID () const |
| Get the allocator id to use when allocating memory. More... | |
| void | execute (const conduit::Node &n_srcMesh, const conduit::Node &n_options, conduit::Node &n_targetMesh) const |
| Intersect the source and target topologies and map the source material onto the target mesh. More... | |
Public Attributes | |
| SrcShapeView | m_srcView |
| SrcMatsetView | m_srcMatsetView |
| TargetShapeView | m_targetView |
| int | m_allocator_id |
Take a source topology with clean matset and a target topology and intersect the source and target zones to build up a new matset on the target mesh that represents how the source mesh overlaps the target mesh.
| ExecSpace | The execution space where the algorithm will execute. |
| SrcTopologyView | The view type for the source topology. |
| SrcCoordsetView | The view type for the source coordset. |
| SrcMatsetView | The view type for the source matset. |
| TargetTopologyView | The view type for the target topology. |
| TargetCoordsetView | The view type for the target coordset. |
| MAX_VERTS_2D | The maximum number of vertices allowed in a polygon. This value is used only in 2D. |
| makeFaces | Make faces instead of proper Polyhedron zones when polyhedra are involved. This enables faster conversion between Blueprint and Axom since making planes is less complicated than Axom's Polyhedron. |
| using axom::bump::TopologyMapper< ExecSpace, SrcTopologyView, SrcCoordsetView, SrcMatsetView, TargetTopologyView, TargetCoordsetView, MAX_VERTS_2D, makeFaces >::SrcShapeView = PrimalAdaptor<SrcTopologyView, SrcCoordsetView, MAX_VERTS_2D, makeFaces> |
| using axom::bump::TopologyMapper< ExecSpace, SrcTopologyView, SrcCoordsetView, SrcMatsetView, TargetTopologyView, TargetCoordsetView, MAX_VERTS_2D, makeFaces >::TargetShapeView = PrimalAdaptor<TargetTopologyView, TargetCoordsetView, MAX_VERTS_2D> |
|
inline |
Constructor.
| srcTopoView | The source topology view. |
| srcCoordsetView | The source coordset view. |
| srcMatsetView | The source matset view. |
| targetTopoView | The target topology view. |
| targetCoordsetView | The target coordset view. |
|
inline |
Set the allocator id to use when allocating memory.
| allocator_id | The allocator id to use when allocating memory. |
References axom::isValidAllocatorID(), axom::bump::TopologyMapper< ExecSpace, SrcTopologyView, SrcCoordsetView, SrcMatsetView, TargetTopologyView, TargetCoordsetView, MAX_VERTS_2D, makeFaces >::m_allocator_id, and SLIC_ERROR_IF.
|
inline |
Get the allocator id to use when allocating memory.
|
inline |
Intersect the source and target topologies and map the source material onto the target mesh.
| n_srcMesh | The Conduit node that contains the coordset, topology, matset for the source mesh. |
| n_options | A Conduit node that contains the algorithm options. A copy will be made in the appropriate memory space. |
| n_targetMesh | The node that contains the coordset and topology for the source mesh. |
* The n_options node must contain the following keys. * * source/matsetName: "name of source mesh matset" * target/topologyName: "name of target mesh topology" * target/matsetName "name of new target mesh matset" * * The n_options node may contain these optional parameters. * * source/selectedZones: [0,1,2,...] # List of selected zone ids in source mesh. * target/selectedZones: [0,1,2,...] # List of selected zone ids in target mesh. * *
References AXOM_ANNOTATE_BEGIN, AXOM_ANNOTATE_END, AXOM_ANNOTATE_SCOPE, AXOM_LAMBDA, AXOM_TM_ASSERT_OR_RETURN, axom::sidre::ConduitMemory::axomAllocIdToConduit(), axom::serial::reductions::ReduceSum< ExecSpace, T >::get(), axom::bump::TopologyMapper< ExecSpace, SrcTopologyView, SrcCoordsetView, SrcMatsetView, TargetTopologyView, TargetCoordsetView, MAX_VERTS_2D, makeFaces >::getAllocatorID(), axom::bump::TopologyMapper< ExecSpace, SrcTopologyView, SrcCoordsetView, SrcMatsetView, TargetTopologyView, TargetCoordsetView, MAX_VERTS_2D, makeFaces >::m_srcMatsetView, axom::bump::TopologyMapper< ExecSpace, SrcTopologyView, SrcCoordsetView, SrcMatsetView, TargetTopologyView, TargetCoordsetView, MAX_VERTS_2D, makeFaces >::m_srcView, axom::bump::TopologyMapper< ExecSpace, SrcTopologyView, SrcCoordsetView, SrcMatsetView, TargetTopologyView, TargetCoordsetView, MAX_VERTS_2D, makeFaces >::m_targetView, axom::bump::PrimalAdaptor< TopologyView, CoordsetView, MAX_VERTS_2D, makeFaces >::numberOfZones(), axom::spin::BVH< NDIMS, ExecSpace, FloatType, BVHImpl >::setAllocatorID(), axom::bump::SelectedZones< ExecSpace >::setSorted(), axom::bump::detail::shapeOverlap(), axom::ArrayView< T, DIM, SPACE >::size(), SLIC_ASSERT, SLIC_ERROR, SLIC_ERROR_IF, axom::Array< T, DIM, SPACE, StoragePolicy >::view(), and axom::bump::SelectedZones< ExecSpace >::view().
| SrcShapeView axom::bump::TopologyMapper< ExecSpace, SrcTopologyView, SrcCoordsetView, SrcMatsetView, TargetTopologyView, TargetCoordsetView, MAX_VERTS_2D, makeFaces >::m_srcView |
| SrcMatsetView axom::bump::TopologyMapper< ExecSpace, SrcTopologyView, SrcCoordsetView, SrcMatsetView, TargetTopologyView, TargetCoordsetView, MAX_VERTS_2D, makeFaces >::m_srcMatsetView |
| TargetShapeView axom::bump::TopologyMapper< ExecSpace, SrcTopologyView, SrcCoordsetView, SrcMatsetView, TargetTopologyView, TargetCoordsetView, MAX_VERTS_2D, makeFaces >::m_targetView |
| int axom::bump::TopologyMapper< ExecSpace, SrcTopologyView, SrcCoordsetView, SrcMatsetView, TargetTopologyView, TargetCoordsetView, MAX_VERTS_2D, makeFaces >::m_allocator_id |