IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
|
Class AdvDiffConvectiveOperatorManager is a singleton manager class to provide access to generic cell-centered ConvectiveOperator implementations suitable for use with class AdvDiffHierarchyIntegrator. More...
#include </home/runner/work/IBAMR/IBAMR/include/ibamr/AdvDiffConvectiveOperatorManager.h>
Public Types | |
using | OperatorMaker = SAMRAI::tbox::Pointer< ConvectiveOperator >(*)(const std::string &operator_object_name, SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var, SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > input_db, ConvectiveDifferencingType difference_form, const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > &bc_coefs) |
Public Member Functions | |
SAMRAI::tbox::Pointer< ConvectiveOperator > | allocateOperator (const std::string &operator_type, const std::string &operator_object_name, SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > Q_var, SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > input_db, ConvectiveDifferencingType difference_form, const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > &bc_coefs) const |
void | registerOperatorFactoryFunction (const std::string &operator_type, OperatorMaker operator_maker) |
Static Public Member Functions | |
static AdvDiffConvectiveOperatorManager * | getManager () |
static void | freeManager () |
Static Public Attributes | |
static const std::string | DEFAULT = "DEFAULT" |
static const std::string | CENTERED = "CENTERED" |
static const std::string | CUI = "CUI" |
static const std::string | PPM = "PPM" |
static const std::string | WAVE_PROP = "WAVE_PROP" |
Protected Member Functions | |
AdvDiffConvectiveOperatorManager () | |
Default constructor. | |
~AdvDiffConvectiveOperatorManager ()=default | |
Destructor. | |
Class AdvDiffConvectiveOperatorManager is a singleton manager class to provide access to generic cell-centered ConvectiveOperator implementations suitable for use with class AdvDiffHierarchyIntegrator.
using IBAMR::AdvDiffConvectiveOperatorManager::OperatorMaker = SAMRAI::tbox::Pointer<ConvectiveOperator> (*)( const std::string& operator_object_name, SAMRAI::tbox::Pointer<SAMRAI::pdat::CellVariable<NDIM, double> > Q_var, SAMRAI::tbox::Pointer<SAMRAI::tbox::Database> input_db, ConvectiveDifferencingType difference_form, const std::vector<SAMRAI::solv::RobinBcCoefStrategy<NDIM>*>& bc_coefs) |
Typedef for functions to construct cell-centered ConvectiveOperators.
Pointer< ConvectiveOperator > IBAMR::AdvDiffConvectiveOperatorManager::allocateOperator | ( | const std::string & | operator_type, |
const std::string & | operator_object_name, | ||
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > | Q_var, | ||
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > | input_db, | ||
ConvectiveDifferencingType | difference_form, | ||
const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > & | bc_coefs | ||
) | const |
Allocate a new AdvDiffConvectiveOperator object of the specified type.
|
static |
Deallocate the AdvDiffConvectiveOperatorManager instance.
It is not necessary to call this function at program termination since it is automatically called by the ShutdownRegistry class.
|
static |
Return a pointer to the instance of the operator manager. Access to AdvDiffConvectiveOperatorManager objects is mediated by the getManager() function.
void IBAMR::AdvDiffConvectiveOperatorManager::registerOperatorFactoryFunction | ( | const std::string & | operator_type, |
OperatorMaker | operator_maker | ||
) |
Register a operator factory function with the operator manager class.
|
static |
Default ConvectiveOperator types automatically provided by the manager class.