|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
#include <MueLuBottomSolver.h>
Public Types | |
| typedef amr::matrix_t | matrix_t |
| typedef amr::vector_t | vector_t |
| typedef amr::scalar_t | scalar_t |
| typedef amr::multivector_t | mv_t |
| typedef amr::operator_t | op_t |
| typedef amr::local_ordinal_t | lo_t |
| typedef amr::global_ordinal_t | go_t |
| typedef amr::node_t | node_t |
| typedef amr::AmrBox_t | AmrBox_t |
| typedef amr::AmrIntVect_t | AmrIntVect_t |
| typedef MueLu::Hierarchy< scalar_t, lo_t, go_t, node_t > | hierarchy_t |
| typedef MueLu::Level | level_t |
| typedef Xpetra::Matrix< scalar_t, lo_t, go_t, node_t > | xmatrix_t |
| typedef Xpetra::MultiVector< scalar_t, lo_t, go_t, node_t > | xmv_t |
| typedef MueLu::Utilities< scalar_t, lo_t, go_t, node_t > | util_t |
| typedef MueLu::ParameterListInterpreter< scalar_t, lo_t, go_t, node_t > | pListInterpreter_t |
| typedef MueLu::HierarchyManager< scalar_t, lo_t, go_t, node_t > | manager_t |
Public Member Functions | |
| MueLuBottomSolver (const bool &rebalance, const std::string &reuse) | |
| void | solve (const Teuchos::RCP< mv_t > &x, const Teuchos::RCP< mv_t > &b) |
| void | setOperator (const Teuchos::RCP< matrix_t > &A, Level *level_p=nullptr) |
| std::size_t | getNumIters () |
| virtual void | solve (const Teuchos::RCP< amr::multivector_t > &x, const Teuchos::RCP< amr::multivector_t > &b)=0 |
| virtual void | setOperator (const Teuchos::RCP< amr::matrix_t > &A, Level *level_p=nullptr)=0 |
| bool | hasOperator () const |
Static Public Member Functions | |
| static std::string | convertToMueLuReuseOption (const std::string &reuse) |
Protected Attributes | |
| bool | isInitialized_m |
Private Member Functions | |
| void | initMueLuList_m (const std::string &reuse) |
Private Attributes | |
| Teuchos::RCP< hierarchy_t > | hierarchy_mp |
| manages the multigrid hierarchy | |
| Teuchos::RCP< manager_t > | factory_mp |
| sets up hierarchy | |
| Teuchos::RCP< xmatrix_t > | A_mp |
| MueLu requires Xpetra. | |
| lo_t | nSweeps_m |
| the number of multigrid iterations | |
| Teuchos::ParameterList | mueluList_m |
| bool | rebalance_m |
| use subcommunicators (less communication) | |
| IpplTimings::TimerRef | setupTimer_m |
Definition at line 37 of file MueLuBottomSolver.h.
| typedef amr::AmrBox_t MueLuBottomSolver< Level >::AmrBox_t |
Definition at line 51 of file MueLuBottomSolver.h.
| typedef amr::AmrIntVect_t MueLuBottomSolver< Level >::AmrIntVect_t |
Definition at line 52 of file MueLuBottomSolver.h.
| typedef amr::global_ordinal_t MueLuBottomSolver< Level >::go_t |
Definition at line 48 of file MueLuBottomSolver.h.
| typedef MueLu::Hierarchy<scalar_t, lo_t, go_t, node_t> MueLuBottomSolver< Level >::hierarchy_t |
Definition at line 56 of file MueLuBottomSolver.h.
| typedef MueLu::Level MueLuBottomSolver< Level >::level_t |
Definition at line 57 of file MueLuBottomSolver.h.
| typedef amr::local_ordinal_t MueLuBottomSolver< Level >::lo_t |
Definition at line 47 of file MueLuBottomSolver.h.
| typedef MueLu::HierarchyManager<scalar_t, lo_t, go_t, node_t> MueLuBottomSolver< Level >::manager_t |
Definition at line 63 of file MueLuBottomSolver.h.
| typedef amr::matrix_t MueLuBottomSolver< Level >::matrix_t |
Definition at line 42 of file MueLuBottomSolver.h.
| typedef amr::multivector_t MueLuBottomSolver< Level >::mv_t |
Definition at line 45 of file MueLuBottomSolver.h.
| typedef amr::node_t MueLuBottomSolver< Level >::node_t |
Definition at line 49 of file MueLuBottomSolver.h.
| typedef amr::operator_t MueLuBottomSolver< Level >::op_t |
Definition at line 46 of file MueLuBottomSolver.h.
| typedef MueLu::ParameterListInterpreter<scalar_t, lo_t, go_t, node_t> MueLuBottomSolver< Level >::pListInterpreter_t |
Definition at line 62 of file MueLuBottomSolver.h.
| typedef amr::scalar_t MueLuBottomSolver< Level >::scalar_t |
Definition at line 44 of file MueLuBottomSolver.h.
| typedef MueLu::Utilities<scalar_t, lo_t, go_t, node_t> MueLuBottomSolver< Level >::util_t |
Definition at line 60 of file MueLuBottomSolver.h.
| typedef amr::vector_t MueLuBottomSolver< Level >::vector_t |
Definition at line 43 of file MueLuBottomSolver.h.
| typedef Xpetra::Matrix<scalar_t, lo_t, go_t, node_t> MueLuBottomSolver< Level >::xmatrix_t |
Definition at line 58 of file MueLuBottomSolver.h.
| typedef Xpetra::MultiVector<scalar_t, lo_t, go_t, node_t> MueLuBottomSolver< Level >::xmv_t |
Definition at line 59 of file MueLuBottomSolver.h.
| MueLuBottomSolver< Level >::MueLuBottomSolver | ( | const bool & | rebalance, |
| const std::string & | reuse ) |
Definition at line 25 of file MueLuBottomSolver.hpp.
References A_mp, BottomSolver< Teuchos::RCP< amr::matrix_t >, Teuchos::RCP< amr::multivector_t >, Level >::BottomSolver(), factory_mp, hierarchy_mp, initMueLuList_m(), mueluList_m, nSweeps_m, rebalance_m, and setupTimer_m.
|
static |
Definition at line 131 of file MueLuBottomSolver.hpp.
|
virtual |
Implements BottomSolver< Teuchos::RCP< amr::matrix_t >, Teuchos::RCP< amr::multivector_t >, Level >.
Definition at line 124 of file MueLuBottomSolver.hpp.
References nSweeps_m.
|
inherited |
Definition at line 59 of file BottomSolver.h.
|
private |
Definition at line 151 of file MueLuBottomSolver.hpp.
References mueluList_m, nSweeps_m, and rebalance_m.
Referenced by MueLuBottomSolver().
|
pure virtualinherited |
Set the system matrix
| A | system matrix |
| void MueLuBottomSolver< Level >::setOperator | ( | const Teuchos::RCP< matrix_t > & | A, |
| Level * | level_p = nullptr ) |
Definition at line 62 of file MueLuBottomSolver.hpp.
References A_mp, factory_mp, hierarchy_mp, BottomSolver< Teuchos::RCP< amr::matrix_t >, Teuchos::RCP< amr::multivector_t >, Level >::isInitialized_m, setupTimer_m, IpplTimings::startTimer(), and IpplTimings::stopTimer().
|
pure virtualinherited |
Solves
\[ Ax = b \]
| x | left-hand side |
| b | right-hand side |
| void MueLuBottomSolver< Level >::solve | ( | const Teuchos::RCP< mv_t > & | x, |
| const Teuchos::RCP< mv_t > & | b ) |
Definition at line 45 of file MueLuBottomSolver.hpp.
References hierarchy_mp, and nSweeps_m.
|
private |
MueLu requires Xpetra.
Definition at line 89 of file MueLuBottomSolver.h.
Referenced by MueLuBottomSolver(), and setOperator().
|
private |
sets up hierarchy
Definition at line 88 of file MueLuBottomSolver.h.
Referenced by MueLuBottomSolver(), and setOperator().
|
private |
manages the multigrid hierarchy
Definition at line 87 of file MueLuBottomSolver.h.
Referenced by MueLuBottomSolver(), setOperator(), and solve().
|
protectedinherited |
Definition at line 63 of file BottomSolver.h.
Referenced by Amesos2BottomSolver< Level >::setOperator(), BelosBottomSolver< Level >::setOperator(), and MueLuBottomSolver< Level >::setOperator().
|
private |
Definition at line 93 of file MueLuBottomSolver.h.
Referenced by initMueLuList_m(), and MueLuBottomSolver().
|
private |
the number of multigrid iterations
Definition at line 91 of file MueLuBottomSolver.h.
Referenced by getNumIters(), initMueLuList_m(), MueLuBottomSolver(), and solve().
|
private |
use subcommunicators (less communication)
Definition at line 95 of file MueLuBottomSolver.h.
Referenced by initMueLuList_m(), and MueLuBottomSolver().
|
private |
Definition at line 97 of file MueLuBottomSolver.h.
Referenced by MueLuBottomSolver(), and setOperator().