IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
IBAMR::INSStaggeredConvectiveOperatorManager Class Reference

Class INSStaggeredConvectiveOperatorManager is a singleton manager class to provide access to generic cell-centered ConvectiveOperator implementations suitable for use with class INSStaggeredHierarchyIntegrator. More...

#include </home/runner/work/IBAMR/IBAMR/include/ibamr/INSStaggeredConvectiveOperatorManager.h>

Public Types

using OperatorMaker = SAMRAI::tbox::Pointer< ConvectiveOperator >(*)(const std::string &operator_object_name, 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< ConvectiveOperatorallocateOperator (const std::string &operator_type, const std::string &operator_object_name, 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 INSStaggeredConvectiveOperatorManagergetManager ()
 
static void freeManager ()
 

Static Public Attributes

static const std::string DEFAULT = "DEFAULT"
 
static const std::string CENTERED = "CENTERED"
 
static const std::string PPM = "PPM"
 
static const std::string UPWIND = "UPWIND"
 
static const std::string STABILIZED_PPM = "STABILIZED_PPM"
 
static const std::string WAVE_PROP = "WAVE_PROP"
 
static const std::string CUI = "CUI"
 

Protected Member Functions

 INSStaggeredConvectiveOperatorManager ()
 Default constructor.
 
 ~INSStaggeredConvectiveOperatorManager ()=default
 Destructor.
 

Detailed Description

Class INSStaggeredConvectiveOperatorManager is a singleton manager class to provide access to generic cell-centered ConvectiveOperator implementations suitable for use with class INSStaggeredHierarchyIntegrator.

Member Typedef Documentation

◆ OperatorMaker

Typedef for functions to construct cell-centered ConvectiveOperators.

Member Function Documentation

◆ allocateOperator()

Pointer< ConvectiveOperator > IBAMR::INSStaggeredConvectiveOperatorManager::allocateOperator ( const std::string operator_type,
const std::string operator_object_name,
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database input_db,
ConvectiveDifferencingType  difference_form,
const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > &  bc_coefs 
) const

Allocate a new INSStaggeredConvectiveOperator object of the specified type.

◆ freeManager()

void IBAMR::INSStaggeredConvectiveOperatorManager::freeManager ( )
static

Deallocate the INSStaggeredConvectiveOperatorManager instance.

It is not necessary to call this function at program termination since it is automatically called by the ShutdownRegistry class.

◆ getManager()

INSStaggeredConvectiveOperatorManager * IBAMR::INSStaggeredConvectiveOperatorManager::getManager ( )
static

Return a pointer to the instance of the operator manager. Access to INSStaggeredConvectiveOperatorManager objects is mediated by the getManager() function.

Returns
A pointer to the operator manager instance.

◆ registerOperatorFactoryFunction()

void IBAMR::INSStaggeredConvectiveOperatorManager::registerOperatorFactoryFunction ( const std::string operator_type,
OperatorMaker  operator_maker 
)

Register a operator factory function with the operator manager class.

Member Data Documentation

◆ DEFAULT

const std::string IBAMR::INSStaggeredConvectiveOperatorManager::DEFAULT = "DEFAULT"
static

Default ConvectiveOperator types automatically provided by the manager class.


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