AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::quest::SamplingShaper Class Reference

Concrete class for sample based shaping. More...

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/v0.6.1/src/axom/quest/SamplingShaper.hpp>

Inheritance diagram for axom::quest::SamplingShaper:

Public Member Functions

 SamplingShaper (const klee::ShapeSet &shapeSet, sidre::MFEMSidreDataCollection *dc)
 
void adjustVolumeFractions () override
 
bool isVerbose () const
 
sidre::MFEMSidreDataCollection * getDC ()
 
mint::MeshgetSurfaceMesh () const
 
virtual bool isValidFormat (const std::string &format) const
 Predicate to determine if the specified format is valid. More...
 
Functions to get and set shaping parameters related to sampling; supplements parameters in base class
void setSamplingType (shaping::VolFracSampling vfSampling)
 
void setQuadratureOrder (int quadratureOrder)
 
void setVolumeFractionOrder (int volfracOrder)
 
Functions related to the stages for a given shape
void prepareShapeQuery (klee::Dimensions shapeDimension, const klee::Shape &shape) override
 Initializes the spatial index for shaping. More...
 
void runShapeQuery (const klee::Shape &shape) override
 
void applyReplacementRules (const klee::Shape &shape) override
 
void finalizeShapeQuery () override
 
Functions to get and set shaping parameters
void setSamplesPerKnotSpan (int nSamples)
 
void setVertexWeldThreshold (double threshold)
 
void setVerbosity (bool isVerbose)
 
Functions related to the stages for a given shape
virtual void loadShape (const klee::Shape &shape)
 Loads the shape from file into m_surfaceMesh. More...
 
virtual void applyTransforms (const klee::Shape &shape)
 

Protected Member Functions

int getRank () const
 Helper function to get the rank associated with the current process. More...
 
double allReduceSum (double val) const
 Helper to apply a parallel sum reduction to a quantity. More...
 

Protected Attributes

const klee::ShapeSetm_shapeSet
 
sidre::MFEMSidreDataCollection * m_dc
 
mint::Meshm_surfaceMesh {nullptr}
 
int m_samplesPerKnotSpan {25}
 
double m_vertexWeldThreshold {1e-9}
 
bool m_verboseOutput {false}
 
MPI_Comm m_comm {MPI_COMM_SELF}
 

Detailed Description

Concrete class for sample based shaping.

Constructor & Destructor Documentation

◆ SamplingShaper()

axom::quest::SamplingShaper::SamplingShaper ( const klee::ShapeSet shapeSet,
sidre::MFEMSidreDataCollection *  dc 
)
inline

Member Function Documentation

◆ setSamplingType()

void axom::quest::SamplingShaper::setSamplingType ( shaping::VolFracSampling  vfSampling)
inline

◆ setQuadratureOrder()

void axom::quest::SamplingShaper::setQuadratureOrder ( int  quadratureOrder)
inline

◆ setVolumeFractionOrder()

void axom::quest::SamplingShaper::setVolumeFractionOrder ( int  volfracOrder)
inline

◆ prepareShapeQuery()

void axom::quest::SamplingShaper::prepareShapeQuery ( klee::Dimensions  shapeDimension,
const klee::Shape shape 
)
inlineoverridevirtual

◆ runShapeQuery()

void axom::quest::SamplingShaper::runShapeQuery ( const klee::Shape shape)
inlineoverridevirtual

◆ applyReplacementRules()

◆ finalizeShapeQuery()

void axom::quest::SamplingShaper::finalizeShapeQuery ( )
inlineoverridevirtual

Implements axom::quest::Shaper.

◆ adjustVolumeFractions()

void axom::quest::SamplingShaper::adjustVolumeFractions ( )
inlineoverridevirtual

◆ setSamplesPerKnotSpan()

void axom::quest::Shaper::setSamplesPerKnotSpan ( int  nSamples)
inherited

◆ setVertexWeldThreshold()

void axom::quest::Shaper::setVertexWeldThreshold ( double  threshold)
inherited

◆ setVerbosity()

void axom::quest::Shaper::setVerbosity ( bool  isVerbose)
inlineinherited

◆ isVerbose()

bool axom::quest::Shaper::isVerbose ( ) const
inlineinherited

◆ getDC()

◆ getSurfaceMesh()

◆ isValidFormat()

virtual bool axom::quest::Shaper::isValidFormat ( const std::string &  format) const
virtualinherited

Predicate to determine if the specified format is valid.

Parameters
formatA string listing the format to check

Referenced by axom::quest::Shaper::getSurfaceMesh().

◆ loadShape()

virtual void axom::quest::Shaper::loadShape ( const klee::Shape shape)
virtualinherited

Loads the shape from file into m_surfaceMesh.

Referenced by axom::quest::Shaper::getSurfaceMesh().

◆ applyTransforms()

virtual void axom::quest::Shaper::applyTransforms ( const klee::Shape shape)
virtualinherited

◆ getRank()

int axom::quest::Shaper::getRank ( ) const
protectedinherited

Helper function to get the rank associated with the current process.

Note
This function can be called even in non-mpi configurations

Referenced by axom::quest::Shaper::getSurfaceMesh().

◆ allReduceSum()

double axom::quest::Shaper::allReduceSum ( double  val) const
protectedinherited

Helper to apply a parallel sum reduction to a quantity.

Note
This is a no-op when running without MPI

Referenced by axom::quest::Shaper::getSurfaceMesh(), and axom::quest::IntersectionShaper::setExecPolicy().

Member Data Documentation

◆ m_shapeSet

const klee::ShapeSet& axom::quest::Shaper::m_shapeSet
protectedinherited

◆ m_dc

sidre::MFEMSidreDataCollection* axom::quest::Shaper::m_dc
protectedinherited

◆ m_surfaceMesh

◆ m_samplesPerKnotSpan

int axom::quest::Shaper::m_samplesPerKnotSpan {25}
protectedinherited

◆ m_vertexWeldThreshold

double axom::quest::Shaper::m_vertexWeldThreshold {1e-9}
protectedinherited

◆ m_verboseOutput

bool axom::quest::Shaper::m_verboseOutput {false}
protectedinherited

◆ m_comm

MPI_Comm axom::quest::Shaper::m_comm {MPI_COMM_SELF}
protectedinherited

The documentation for this class was generated from the following file: