IBAMR  IBAMR version 0.19.
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | 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.

#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
 
static const std::string CENTERED
 
static const std::string PPM
 
static const std::string UPWIND
 
static const std::string STABILIZED_PPM
 
static const std::string WAVE_PROP
 
static const std::string CUI
 

Protected Member Functions

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

Private Member Functions

 INSStaggeredConvectiveOperatorManager (const INSStaggeredConvectiveOperatorManager &from)=delete
 Copy constructor. More...
 
INSStaggeredConvectiveOperatorManageroperator= (const INSStaggeredConvectiveOperatorManager &that)=delete
 Assignment operator. More...
 

Private Attributes

std::map< std::string, OperatorMakerd_operator_maker_map
 

Static Private Attributes

static INSStaggeredConvectiveOperatorManagers_operator_manager_instance
 
static bool s_registered_callback
 
static unsigned char s_shutdown_priority
 

Member Typedef Documentation

◆ OperatorMaker

Typedef for functions to construct cell-centered ConvectiveOperators.

Constructor & Destructor Documentation

◆ INSStaggeredConvectiveOperatorManager() [1/2]

IBAMR::INSStaggeredConvectiveOperatorManager::INSStaggeredConvectiveOperatorManager ( )
protected

◆ ~INSStaggeredConvectiveOperatorManager()

IBAMR::INSStaggeredConvectiveOperatorManager::~INSStaggeredConvectiveOperatorManager ( )
protecteddefault

◆ INSStaggeredConvectiveOperatorManager() [2/2]

IBAMR::INSStaggeredConvectiveOperatorManager::INSStaggeredConvectiveOperatorManager ( const INSStaggeredConvectiveOperatorManager from)
privatedelete
Note
This constructor is not implemented and should not be used.
Parameters
fromThe value to copy to this object.

Member Function Documentation

◆ getManager()

static 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.

◆ freeManager()

static 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.

◆ allocateOperator()

SAMRAI::tbox::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.

◆ registerOperatorFactoryFunction()

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

Register a operator factory function with the operator manager class.

◆ operator=()

INSStaggeredConvectiveOperatorManager& IBAMR::INSStaggeredConvectiveOperatorManager::operator= ( const INSStaggeredConvectiveOperatorManager that)
privatedelete
Note
This operator is not implemented and should not be used.
Parameters
thatThe value to assign to this object.
Returns
A reference to this object.

Member Data Documentation

◆ DEFAULT

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

Default ConvectiveOperator types automatically provided by the manager class.

◆ CENTERED

const std::string IBAMR::INSStaggeredConvectiveOperatorManager::CENTERED
static

◆ PPM

const std::string IBAMR::INSStaggeredConvectiveOperatorManager::PPM
static

◆ UPWIND

const std::string IBAMR::INSStaggeredConvectiveOperatorManager::UPWIND
static

◆ STABILIZED_PPM

const std::string IBAMR::INSStaggeredConvectiveOperatorManager::STABILIZED_PPM
static

◆ WAVE_PROP

const std::string IBAMR::INSStaggeredConvectiveOperatorManager::WAVE_PROP
static

◆ CUI

const std::string IBAMR::INSStaggeredConvectiveOperatorManager::CUI
static

◆ s_operator_manager_instance

INSStaggeredConvectiveOperatorManager* IBAMR::INSStaggeredConvectiveOperatorManager::s_operator_manager_instance
staticprivate

Static data members used to control access to and destruction of singleton data manager instance.

◆ s_registered_callback

bool IBAMR::INSStaggeredConvectiveOperatorManager::s_registered_callback
staticprivate

◆ s_shutdown_priority

unsigned char IBAMR::INSStaggeredConvectiveOperatorManager::s_shutdown_priority
staticprivate

◆ d_operator_maker_map

std::map<std::string, OperatorMaker> IBAMR::INSStaggeredConvectiveOperatorManager::d_operator_maker_map
private

Mapping from operator type names to operator maker functions.


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