Entry point for computing clipping a computational mesh by overlaying a geometry and computing the intersection volume the geometry makes with each mesh cell.
More...
#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/develop/src/axom/quest/MeshClipper.hpp>
|
| struct | Impl |
| | Single interface for methods implemented with execution space templates. More...
|
| |
|
| static void | accumulateClippingStats (conduit::Node &curStats, const conduit::Node &newStats) |
| | Add new stats to current stats, intended for developer use. More...
|
| |
Entry point for computing clipping a computational mesh by overlaying a geometry and computing the intersection volume the geometry makes with each mesh cell.
To construct:
- Wrap the computational mesh in a ShapeMesh object.
- Allocate a MeshClipperStrategy implementation to provide geometry-specific operations. Axom natively provides implementations for some common geometries.
To compute the intersection volumes, use one of the clip() methods.
◆ LabelType
Whether an element is in, out or on shape boundary.
◆ MeshClipper()
Construct a shape clipper.
- Parameters
-
| [in/out] | bpMesh Single-domain Blueprint mesh to shape into. |
| [in] | strategy | Strategy where external shape-dependent operations are implemented. |
bpMesh must be an unstructured hex mesh. That is the only type currently supported.
◆ getShapeMesh()
| ShapeMesh& axom::quest::experimental::MeshClipper::getShapeMesh |
( |
| ) |
|
|
inline |
◆ getAllocatorID()
| int axom::quest::experimental::MeshClipper::getAllocatorID |
( |
| ) |
const |
|
inline |
◆ setVerbose()
| void axom::quest::experimental::MeshClipper::setVerbose |
( |
bool |
verbose | ) |
|
|
inline |
◆ clip() [1/2]
| void axom::quest::experimental::MeshClipper::clip |
( |
axom::Array< double > & |
ovlap | ) |
|
Clip.
- Parameters
-
| ovlap | [out] Shape overlap volume of each cell in the shapee mesh. |
◆ clip() [2/2]
| void axom::quest::experimental::MeshClipper::clip |
( |
axom::ArrayView< double > |
ovlap | ) |
|
Clip.
- Parameters
-
| ovlap | [out] Shape overlap volume of each cell in the shapee mesh. |
◆ dimension()
| int axom::quest::experimental::MeshClipper::dimension |
( |
| ) |
const |
|
inline |
◆ logClippingStats()
| void axom::quest::experimental::MeshClipper::logClippingStats |
( |
bool |
local = false, |
|
|
bool |
sum = true, |
|
|
bool |
max = false |
|
) |
| const |
Log clipping statistics. Intended for developer use.
- Parameters
-
| local | [in] Log the MPI local statistics. |
| sum | [in] Log the statistics summed over MPI ranks. |
| max | [in] Log the max statistics over MPI ranks. |
This is a collective method if MPI-parallel.
◆ getClippingStats()
| const conduit::Node& axom::quest::experimental::MeshClipper::getClippingStats |
( |
| ) |
const |
|
inline |
Get local assorted clipping statistics, intended for developer use.
◆ getGlobalClippingStats()
| conduit::Node axom::quest::experimental::MeshClipper::getGlobalClippingStats |
( |
| ) |
const |
Get global assorted clipping statistics, intended for developer use.
This is a collective method if MPI-parallel.
◆ setScreenLevel()
| void axom::quest::experimental::MeshClipper::setScreenLevel |
( |
int |
screenLevel | ) |
|
|
inline |
Set the level of screening, intended for developer use.
- Parameters
-
| screenLevel | [in] the value to control how much screening is done to avoid using the slower clipping functions. |
Screenlevel values:
◆ getScreenLevel()
| int axom::quest::experimental::MeshClipper::getScreenLevel |
( |
| ) |
const |
|
inline |
Get the level of screening, intended for developer use.
◆ accumulateClippingStats()
| static void axom::quest::experimental::MeshClipper::accumulateClippingStats |
( |
conduit::Node & |
curStats, |
|
|
const conduit::Node & |
newStats |
|
) |
| |
|
static |
Add new stats to current stats, intended for developer use.
◆ NUM_TETS_PER_HEX
| constexpr axom::IndexType axom::quest::experimental::MeshClipper::NUM_TETS_PER_HEX = ShapeMesh::NUM_TETS_PER_HEX |
|
staticconstexpr |
The documentation for this class was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/develop/src/axom/quest/MeshClipper.hpp