AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
TopologyMapper.hpp File Reference
#include "axom/config.hpp"
#include "axom/core.hpp"
#include "axom/primal.hpp"
#include "axom/slic.hpp"
#include "axom/spin.hpp"
#include "axom/bump/PrimalAdaptor.hpp"
#include "axom/bump/VariableShape.hpp"
#include "axom/bump/utilities/utilities.hpp"
#include "axom/sidre/core/ConduitMemory.hpp"
#include <conduit.hpp>
#include <conduit_relay.hpp>
#include <iostream>

Classes

class  axom::bump::TopologyMapper< ExecSpace, SrcTopologyView, SrcCoordsetView, SrcMatsetView, TargetTopologyView, TargetCoordsetView, MAX_VERTS_2D, makeFaces >
 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...
 

Namespaces

 axom
 
 axom::bump
 
 axom::bump::detail
 

Macros

#define AXOM_TM_ASSERT_OR_RETURN(CONDITION)
 

Functions

template<typename T , axom::primal::PolygonArray ARRAY_TYPE, int MAX_VERTS>
AXOM_SUPPRESS_HD_WARN AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const axom::primal::Polygon< T, 2, ARRAY_TYPE, MAX_VERTS > &shape1, const axom::primal::Polygon< T, 2, ARRAY_TYPE, MAX_VERTS > &shape2, double eps=1.e-10)
 Return area where 2 polygons overlap. More...
 
template<typename T , typename Shape2Type >
AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const VariableShape< T, 3 > &shape1, const Shape2Type &shape2, double eps=1.e-10)
 Return the volume of the overlap between the shapes. More...
 
template<typename T , typename Shape1Type >
AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const Shape1Type &shape1, const VariableShape< T, 3 > &shape2, double eps=1.e-10)
 Return the volume of the overlap between the shapes. More...
 
template<typename T >
AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const VariableShape< T, 3 > &shape1, const VariableShape< T, 3 > &shape2, double eps=1.e-10)
 Return the volume of the overlap between the shapes. More...
 
template<typename T >
AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const axom::primal::Tetrahedron< T, 3 > &shape1, const axom::primal::Tetrahedron< T, 3 > &shape2, double eps=1.e-10)
 Return the volume of the overlap between the shapes. More...
 
template<typename T >
AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const axom::primal::Tetrahedron< T, 3 > &shape1, const axom::primal::Hexahedron< T, 3 > &shape2, double eps=1.e-10)
 
template<typename T >
AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const axom::primal::Tetrahedron< T, 3 > &shape1, const axom::primal::Polyhedron< T, 3 > &shape2, double eps=1.e-10)
 
template<typename T >
AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const axom::primal::Tetrahedron< T, 3 > &shape1, const axom::bump::PolyhedralFaces< T > &shape2, double eps=1.e-10)
 
template<typename T >
AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const axom::primal::Hexahedron< T, 3 > &shape1, const axom::primal::Tetrahedron< T, 3 > &shape2, double eps=1.e-10)
 
template<typename T >
AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const axom::primal::Hexahedron< T, 3 > &shape1, const axom::primal::Hexahedron< T, 3 > &shape2, double eps=1.e-10)
 
template<typename T >
AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const axom::primal::Hexahedron< T, 3 > &shape1, const axom::primal::Polyhedron< T, 3 > &shape2, double eps=1.e-10)
 
template<typename T >
AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const axom::primal::Hexahedron< T, 3 > &shape1, const axom::bump::PolyhedralFaces< T > &shape2, double eps=1.e-10)
 
template<typename T >
AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const axom::primal::Polyhedron< T, 3 > &shape1, const axom::primal::Tetrahedron< T, 3 > &shape2, double eps=1.e-10)
 
template<typename T >
AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const axom::primal::Polyhedron< T, 3 > &shape1, const axom::primal::Hexahedron< T, 3 > &shape2, double eps=1.e-10)
 
template<typename T >
AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const axom::primal::Polyhedron< T, 3 > &shape1, const axom::primal::Polyhedron< T, 3 > &shape2, double eps=1.e-10)
 
template<typename T >
AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const axom::primal::Polyhedron< T, 3 > &shape1, const axom::bump::PolyhedralFaces< T > &shape2, double eps=1.e-10)
 
template<typename T >
AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const axom::bump::PolyhedralFaces< T > &shape1, const axom::primal::Tetrahedron< T, 3 > &shape2, double eps=1.e-10)
 
template<typename T >
AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const axom::bump::PolyhedralFaces< T > &shape1, const axom::primal::Hexahedron< T, 3 > &shape2, double eps=1.e-10)
 
template<typename T >
AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const axom::bump::PolyhedralFaces< T > &shape1, const axom::primal::Polyhedron< T, 3 > &shape2, double eps=1.e-10)
 
template<typename T >
AXOM_HOST_DEVICE double axom::bump::detail::shapeOverlap (const axom::bump::PolyhedralFaces< T > &shape1, const axom::bump::PolyhedralFaces< T > &shape2, double eps=1.e-10)
 

Macro Definition Documentation

◆ AXOM_TM_ASSERT_OR_RETURN

#define AXOM_TM_ASSERT_OR_RETURN (   CONDITION)
Value:
do \
{ \
SLIC_ASSERT(CONDITION); \
if(!(CONDITION)) \
{ \
return; \
} \
} while(false)