OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
Amesos2BottomSolver< Level > Class Template Referenceabstract

#include <Amesos2BottomSolver.h>

Inheritance diagram for Amesos2BottomSolver< Level >:
Collaboration diagram for Amesos2BottomSolver< Level >:

Public Types

typedef amr::matrix_t matrix_t
typedef amr::multivector_t mv_t
typedef Amesos2::Solver< matrix_t, mv_tsolver_t

Public Member Functions

 Amesos2BottomSolver (std::string solvertype="klu2")
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

Protected Attributes

bool isInitialized_m

Private Attributes

std::string solvertype_m
 kind of solver
Teuchos::RCP< solver_tsolver_mp
 solver instance

Detailed Description

template<class Level>
class Amesos2BottomSolver< Level >

Definition at line 33 of file Amesos2BottomSolver.h.

Member Typedef Documentation

◆ matrix_t

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

Definition at line 38 of file Amesos2BottomSolver.h.

◆ mv_t

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

Definition at line 39 of file Amesos2BottomSolver.h.

◆ solver_t

template<class Level>
typedef Amesos2::Solver<matrix_t, mv_t> Amesos2BottomSolver< Level >::solver_t

Definition at line 41 of file Amesos2BottomSolver.h.

Constructor & Destructor Documentation

◆ Amesos2BottomSolver()

template<class Level>
Amesos2BottomSolver< Level >::Amesos2BottomSolver ( std::string solvertype = "klu2")

Instantiate

Parameters
solvertypeof Amesos2

Definition at line 22 of file Amesos2BottomSolver.hpp.

References BottomSolver< Teuchos::RCP< amr::matrix_t >, Teuchos::RCP< amr::multivector_t >, Level >::BottomSolver(), solver_mp, and solvertype_m.

Here is the call graph for this function:

Member Function Documentation

◆ getNumIters()

template<class Level>
std::size_t Amesos2BottomSolver< 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 60 of file Amesos2BottomSolver.hpp.

◆ hasOperator()

bool BottomSolver< Teuchos::RCP< amr::matrix_t >, Teuchos::RCP< amr::multivector_t >, Level >::hasOperator ( ) const
inherited

Definition at line 59 of file BottomSolver.h.

◆ setOperator() [1/2]

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

Definition at line 43 of file Amesos2BottomSolver.hpp.

References endl(), gmsg, BottomSolver< Teuchos::RCP< amr::matrix_t >, Teuchos::RCP< amr::multivector_t >, Level >::isInitialized_m, solver_mp, and solvertype_m.

Here is the call graph for this function:

◆ setOperator() [2/2]

virtual void BottomSolver< Teuchos::RCP< amr::matrix_t >, Teuchos::RCP< amr::multivector_t >, Level >::setOperator ( const Teuchos::RCP< amr::matrix_t > & A,
Level * level_p = nullptr )
pure virtualinherited

Set the system matrix

Parameters
Asystem matrix

◆ solve() [1/2]

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

Definition at line 32 of file Amesos2BottomSolver.hpp.

References solver_mp.

◆ solve() [2/2]

virtual void BottomSolver< Teuchos::RCP< amr::matrix_t >, Teuchos::RCP< amr::multivector_t >, Level >::solve ( const Teuchos::RCP< amr::multivector_t > & x,
const Teuchos::RCP< amr::multivector_t > & b )
pure virtualinherited

Solves

\[ Ax = b \]

Parameters
xleft-hand side
bright-hand side

Member Data Documentation

◆ isInitialized_m

bool BottomSolver< Teuchos::RCP< amr::matrix_t >, Teuchos::RCP< amr::multivector_t >, Level >::isInitialized_m
protectedinherited

◆ solver_mp

template<class Level>
Teuchos::RCP<solver_t> Amesos2BottomSolver< Level >::solver_mp
private

solver instance

Definition at line 63 of file Amesos2BottomSolver.h.

Referenced by Amesos2BottomSolver(), setOperator(), and solve().

◆ solvertype_m

template<class Level>
std::string Amesos2BottomSolver< Level >::solvertype_m
private

kind of solver

Definition at line 61 of file Amesos2BottomSolver.h.

Referenced by Amesos2BottomSolver(), and setOperator().


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