OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
MueLuBottomSolver< Level > Class Template Reference

#include <MueLuBottomSolver.h>

Inheritance diagram for MueLuBottomSolver< Level >:
Inheritance graph
[legend]
Collaboration diagram for MueLuBottomSolver< Level >:
Collaboration graph
[legend]

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_thierarchy_t
 
typedef MueLu::Level level_t
 
typedef Xpetra::Matrix< scalar_t, lo_t, go_t, node_txmatrix_t
 
typedef Xpetra::MultiVector< scalar_t, lo_t, go_t, node_txmv_t
 
typedef MueLu::Utilities< scalar_t, lo_t, go_t, node_tutil_t
 
typedef MueLu::ParameterListInterpreter< scalar_t, lo_t, go_t, node_tpListInterpreter_t
 
typedef MueLu::HierarchyManager< scalar_t, lo_t, go_t, node_tmanager_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 ()
 
- Public Member Functions inherited from BottomSolver< Teuchos::RCP< amr::matrix_t >, Teuchos::RCP< amr::multivector_t >, Level >
 BottomSolver ()
 
virtual ~BottomSolver ()
 
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)
 

Private Member Functions

void initMueLuList_m (const std::string &reuse)
 

Private Attributes

Teuchos::RCP< hierarchy_thierarchy_mp
 manages the multigrid hierarchy More...
 
Teuchos::RCP< manager_tfactory_mp
 sets up hierarchy More...
 
Teuchos::RCP< xmatrix_tA_mp
 MueLu requires Xpetra. More...
 
lo_t nSweeps_m
 the number of multigrid iterations More...
 
Teuchos::ParameterList mueluList_m
 
bool rebalance_m
 use subcommunicators (less communication) More...
 
IpplTimings::TimerRef setupTimer_m
 

Additional Inherited Members

- Protected Attributes inherited from BottomSolver< Teuchos::RCP< amr::matrix_t >, Teuchos::RCP< amr::multivector_t >, Level >
bool isInitialized_m
 

Detailed Description

template<class Level>
class MueLuBottomSolver< Level >

Definition at line 37 of file MueLuBottomSolver.h.

Member Typedef Documentation

◆ AmrBox_t

template<class Level >
typedef amr::AmrBox_t MueLuBottomSolver< Level >::AmrBox_t

Definition at line 51 of file MueLuBottomSolver.h.

◆ AmrIntVect_t

template<class Level >
typedef amr::AmrIntVect_t MueLuBottomSolver< Level >::AmrIntVect_t

Definition at line 52 of file MueLuBottomSolver.h.

◆ go_t

template<class Level >
typedef amr::global_ordinal_t MueLuBottomSolver< Level >::go_t

Definition at line 48 of file MueLuBottomSolver.h.

◆ hierarchy_t

template<class Level >
typedef MueLu::Hierarchy<scalar_t, lo_t, go_t, node_t> MueLuBottomSolver< Level >::hierarchy_t

Definition at line 56 of file MueLuBottomSolver.h.

◆ level_t

template<class Level >
typedef MueLu::Level MueLuBottomSolver< Level >::level_t

Definition at line 57 of file MueLuBottomSolver.h.

◆ lo_t

template<class Level >
typedef amr::local_ordinal_t MueLuBottomSolver< Level >::lo_t

Definition at line 47 of file MueLuBottomSolver.h.

◆ manager_t

template<class Level >
typedef MueLu::HierarchyManager<scalar_t, lo_t, go_t, node_t> MueLuBottomSolver< Level >::manager_t

Definition at line 63 of file MueLuBottomSolver.h.

◆ matrix_t

template<class Level >
typedef amr::matrix_t MueLuBottomSolver< Level >::matrix_t

Definition at line 42 of file MueLuBottomSolver.h.

◆ mv_t

template<class Level >
typedef amr::multivector_t MueLuBottomSolver< Level >::mv_t

Definition at line 45 of file MueLuBottomSolver.h.

◆ node_t

template<class Level >
typedef amr::node_t MueLuBottomSolver< Level >::node_t

Definition at line 49 of file MueLuBottomSolver.h.

◆ op_t

template<class Level >
typedef amr::operator_t MueLuBottomSolver< Level >::op_t

Definition at line 46 of file MueLuBottomSolver.h.

◆ pListInterpreter_t

template<class Level >
typedef MueLu::ParameterListInterpreter<scalar_t, lo_t, go_t, node_t> MueLuBottomSolver< Level >::pListInterpreter_t

Definition at line 62 of file MueLuBottomSolver.h.

◆ scalar_t

template<class Level >
typedef amr::scalar_t MueLuBottomSolver< Level >::scalar_t

Definition at line 44 of file MueLuBottomSolver.h.

◆ util_t

template<class Level >
typedef MueLu::Utilities<scalar_t, lo_t, go_t, node_t> MueLuBottomSolver< Level >::util_t

Definition at line 60 of file MueLuBottomSolver.h.

◆ vector_t

template<class Level >
typedef amr::vector_t MueLuBottomSolver< Level >::vector_t

Definition at line 43 of file MueLuBottomSolver.h.

◆ xmatrix_t

template<class Level >
typedef Xpetra::Matrix<scalar_t, lo_t, go_t, node_t> MueLuBottomSolver< Level >::xmatrix_t

Definition at line 58 of file MueLuBottomSolver.h.

◆ xmv_t

template<class Level >
typedef Xpetra::MultiVector<scalar_t, lo_t, go_t, node_t> MueLuBottomSolver< Level >::xmv_t

Definition at line 59 of file MueLuBottomSolver.h.

Constructor & Destructor Documentation

◆ MueLuBottomSolver()

template<class Level >
MueLuBottomSolver< Level >::MueLuBottomSolver ( const bool &  rebalance,
const std::string &  reuse 
)

Member Function Documentation

◆ convertToMueLuReuseOption()

template<class Level >
std::string MueLuBottomSolver< Level >::convertToMueLuReuseOption ( const std::string &  reuse)
static

Definition at line 132 of file MueLuBottomSolver.hpp.

Referenced by AmrMultiGrid::initBaseSolver_m().

◆ getNumIters()

template<class Level >
std::size_t MueLuBottomSolver< Level >::getNumIters
virtual
Returns
the number of required iterations

Implements BottomSolver< Teuchos::RCP< amr::matrix_t >, Teuchos::RCP< amr::multivector_t >, Level >.

Definition at line 125 of file MueLuBottomSolver.hpp.

◆ initMueLuList_m()

template<class Level >
void MueLuBottomSolver< Level >::initMueLuList_m ( const std::string &  reuse)
private

◆ setOperator()

template<class Level >
void MueLuBottomSolver< Level >::setOperator ( const Teuchos::RCP< matrix_t > &  A,
Level *  level_p = nullptr 
)

Definition at line 62 of file MueLuBottomSolver.hpp.

References IpplTimings::startTimer(), and IpplTimings::stopTimer().

Here is the call graph for this function:

◆ solve()

template<class Level >
void MueLuBottomSolver< Level >::solve ( const Teuchos::RCP< mv_t > &  x,
const Teuchos::RCP< mv_t > &  b 
)

Definition at line 45 of file MueLuBottomSolver.hpp.

Member Data Documentation

◆ A_mp

template<class Level >
Teuchos::RCP<xmatrix_t> MueLuBottomSolver< Level >::A_mp
private

MueLu requires Xpetra.

Definition at line 92 of file MueLuBottomSolver.h.

◆ factory_mp

template<class Level >
Teuchos::RCP<manager_t> MueLuBottomSolver< Level >::factory_mp
private

sets up hierarchy

Definition at line 90 of file MueLuBottomSolver.h.

Referenced by MueLuBottomSolver< Level >::MueLuBottomSolver().

◆ hierarchy_mp

template<class Level >
Teuchos::RCP<hierarchy_t> MueLuBottomSolver< Level >::hierarchy_mp
private

manages the multigrid hierarchy

Definition at line 88 of file MueLuBottomSolver.h.

Referenced by MueLuBottomSolver< Level >::MueLuBottomSolver().

◆ mueluList_m

template<class Level >
Teuchos::ParameterList MueLuBottomSolver< Level >::mueluList_m
private

Definition at line 96 of file MueLuBottomSolver.h.

Referenced by MueLuBottomSolver< Level >::MueLuBottomSolver().

◆ nSweeps_m

template<class Level >
lo_t MueLuBottomSolver< Level >::nSweeps_m
private

the number of multigrid iterations

Definition at line 94 of file MueLuBottomSolver.h.

◆ rebalance_m

template<class Level >
bool MueLuBottomSolver< Level >::rebalance_m
private

use subcommunicators (less communication)

Definition at line 98 of file MueLuBottomSolver.h.

◆ setupTimer_m

template<class Level >
IpplTimings::TimerRef MueLuBottomSolver< Level >::setupTimer_m
private

Definition at line 100 of file MueLuBottomSolver.h.


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