OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
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_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 ()
 
- 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 17 of file MueLuBottomSolver.h.

Member Typedef Documentation

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

Definition at line 31 of file MueLuBottomSolver.h.

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

Definition at line 32 of file MueLuBottomSolver.h.

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

Definition at line 28 of file MueLuBottomSolver.h.

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

Definition at line 36 of file MueLuBottomSolver.h.

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

Definition at line 37 of file MueLuBottomSolver.h.

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

Definition at line 27 of file MueLuBottomSolver.h.

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

Definition at line 43 of file MueLuBottomSolver.h.

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

Definition at line 22 of file MueLuBottomSolver.h.

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

Definition at line 25 of file MueLuBottomSolver.h.

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

Definition at line 29 of file MueLuBottomSolver.h.

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

Definition at line 26 of file MueLuBottomSolver.h.

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

Definition at line 42 of file MueLuBottomSolver.h.

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

Definition at line 24 of file MueLuBottomSolver.h.

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

Definition at line 40 of file MueLuBottomSolver.h.

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

Definition at line 23 of file MueLuBottomSolver.h.

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

Definition at line 38 of file MueLuBottomSolver.h.

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

Definition at line 39 of file MueLuBottomSolver.h.

Constructor & Destructor Documentation

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

Member Function Documentation

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

Definition at line 117 of file MueLuBottomSolver.hpp.

References Util::toUpper().

Referenced by AmrMultiGrid::initBaseSolver_m().

Here is the call graph for this function:

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 110 of file MueLuBottomSolver.hpp.

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

Definition at line 47 of file MueLuBottomSolver.hpp.

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

Here is the call graph for this function:

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

Definition at line 30 of file MueLuBottomSolver.hpp.

Member Data Documentation

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

MueLu requires Xpetra.

Definition at line 72 of file MueLuBottomSolver.h.

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

sets up hierarchy

Definition at line 70 of file MueLuBottomSolver.h.

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

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

manages the multigrid hierarchy

Definition at line 68 of file MueLuBottomSolver.h.

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

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

Definition at line 76 of file MueLuBottomSolver.h.

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

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

the number of multigrid iterations

Definition at line 74 of file MueLuBottomSolver.h.

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

use subcommunicators (less communication)

Definition at line 78 of file MueLuBottomSolver.h.

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

Definition at line 80 of file MueLuBottomSolver.h.


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