Class CCPoissonSolverManager is a singleton manager class to provide access to generic cell-centered PoissonSolver implementations.
#include <ibtk/CCPoissonSolverManager.h>
|
| SAMRAI::tbox::Pointer< PoissonSolver > | allocateSolver (const std::string &solver_type, const std::string &solver_object_name, SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > solver_input_db, const std::string &solver_default_options_prefix) const |
| |
| SAMRAI::tbox::Pointer< PoissonSolver > | allocateSolver (const std::string &solver_type, const std::string &solver_object_name, SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > solver_input_db, const std::string &solver_default_options_prefix, const std::string &precond_type, const std::string &precond_object_name, SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > precond_input_db, const std::string &precond_default_options_prefix, const std::string &sub_precond_type="", const std::string &sub_precond_object_name="", SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > sub_precond_input_db=SAMRAI::tbox::Pointer< SAMRAI::tbox::Database >(), const std::string &sub_precond_default_options_prefix="") const |
| |
| void | registerSolverFactoryFunction (const std::string &solver_type, SolverMaker solver_maker) |
| |
◆ SolverMaker
Typedef for functions to construct cell-centered PoissonSolvers.
◆ CCPoissonSolverManager() [1/2]
| IBTK::CCPoissonSolverManager::CCPoissonSolverManager |
( |
| ) |
|
|
protected |
◆ ~CCPoissonSolverManager()
| IBTK::CCPoissonSolverManager::~CCPoissonSolverManager |
( |
| ) |
|
|
protecteddefault |
◆ CCPoissonSolverManager() [2/2]
- Note
- This constructor is not implemented and should not be used.
- Parameters
-
| from | The value to copy to this object. |
◆ getManager()
Return a pointer to the instance of the solver manager. Access to CCPoissonSolverManager objects is mediated by the getManager() function.
- Returns
- A pointer to the solver manager instance.
◆ freeManager()
| static void IBTK::CCPoissonSolverManager::freeManager |
( |
| ) |
|
|
static |
Deallocate the CCPoissonSolverManager instance.
It is not necessary to call this function at program termination since it is automatically called by the ShutdownRegistry class.
◆ allocateSolver() [1/2]
Allocate a new CCPoissonSolver object of the specified type.
◆ allocateSolver() [2/2]
| SAMRAI::tbox::Pointer<PoissonSolver> IBTK::CCPoissonSolverManager::allocateSolver |
( |
const std::string & |
solver_type, |
|
|
const std::string & |
solver_object_name, |
|
|
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > |
solver_input_db, |
|
|
const std::string & |
solver_default_options_prefix, |
|
|
const std::string & |
precond_type, |
|
|
const std::string & |
precond_object_name, |
|
|
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > |
precond_input_db, |
|
|
const std::string & |
precond_default_options_prefix, |
|
|
const std::string & |
sub_precond_type = "", |
|
|
const std::string & |
sub_precond_object_name = "", |
|
|
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > |
sub_precond_input_db = SAMRAI::tbox::Pointer< SAMRAI::tbox::Database >(), |
|
|
const std::string & |
sub_precond_default_options_prefix = "" |
|
) |
| const |
Allocate a new CCPoissonSolver object of the specified type with a preconditioner of a specified type.
- Note
- The preconditioner settings are used only when the parent solver is a KrylovLinearSolver.
◆ registerSolverFactoryFunction()
| void IBTK::CCPoissonSolverManager::registerSolverFactoryFunction |
( |
const std::string & |
solver_type, |
|
|
SolverMaker |
solver_maker |
|
) |
| |
Register a solver factory function with the solver manager class.
◆ operator=()
- Note
- This operator is not implemented and should not be used.
- Parameters
-
| that | The value to assign to this object. |
- Returns
- A reference to this object.
◆ UNDEFINED
| const std::string IBTK::CCPoissonSolverManager::UNDEFINED |
|
static |
Key to use for "undefined" solver types.
◆ DEFAULT_KRYLOV_SOLVER
| const std::string IBTK::CCPoissonSolverManager::DEFAULT_KRYLOV_SOLVER |
|
static |
Default Krylov solver types automatically provided by the manager class.
◆ PETSC_KRYLOV_SOLVER
| const std::string IBTK::CCPoissonSolverManager::PETSC_KRYLOV_SOLVER |
|
static |
◆ DEFAULT_FAC_PRECONDITIONER
| const std::string IBTK::CCPoissonSolverManager::DEFAULT_FAC_PRECONDITIONER |
|
static |
Default FAC preconditioner types automatically provided by the manager class.
◆ BOX_RELAXATION_FAC_PRECONDITIONER
| const std::string IBTK::CCPoissonSolverManager::BOX_RELAXATION_FAC_PRECONDITIONER |
|
static |
◆ LEVEL_RELAXATION_FAC_PRECONDITIONER
| const std::string IBTK::CCPoissonSolverManager::LEVEL_RELAXATION_FAC_PRECONDITIONER |
|
static |
◆ POINT_RELAXATION_FAC_PRECONDITIONER
| const std::string IBTK::CCPoissonSolverManager::POINT_RELAXATION_FAC_PRECONDITIONER |
|
static |
◆ DEFAULT_LEVEL_SOLVER
| const std::string IBTK::CCPoissonSolverManager::DEFAULT_LEVEL_SOLVER |
|
static |
Default level solver types automatically provided by the manager class.
◆ HYPRE_LEVEL_SOLVER
| const std::string IBTK::CCPoissonSolverManager::HYPRE_LEVEL_SOLVER |
|
static |
◆ PETSC_LEVEL_SOLVER
| const std::string IBTK::CCPoissonSolverManager::PETSC_LEVEL_SOLVER |
|
static |
◆ s_solver_manager_instance
Static data members used to control access to and destruction of singleton data manager instance.
◆ s_registered_callback
| bool IBTK::CCPoissonSolverManager::s_registered_callback |
|
staticprivate |
◆ s_shutdown_priority
| unsigned char IBTK::CCPoissonSolverManager::s_shutdown_priority |
|
staticprivate |
◆ d_solver_maker_map
| std::map<std::string, SolverMaker> IBTK::CCPoissonSolverManager::d_solver_maker_map |
|
private |
Mapping from solver type names to solver maker functions.
The documentation for this class was generated from the following file: