DOLFIN
DOLFIN C++ interface
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
dolfin::BelosKrylovSolver Class Reference

#include <BelosKrylovSolver.h>

Inheritance diagram for dolfin::BelosKrylovSolver:
Inheritance graph
[legend]
Collaboration diagram for dolfin::BelosKrylovSolver:
Collaboration graph
[legend]

Public Types

typedef Tpetra::Operator< double, int, dolfin::la_index, TpetraVector::node_typeop_type
 Tpetra operator type.
 
typedef Belos::LinearProblem< double, TpetraVector::vector_type, op_typeproblem_type
 Belos problem type.
 

Public Member Functions

 BelosKrylovSolver (std::string method="default", std::string preconditioner="default")
 
 BelosKrylovSolver (std::string method, std::shared_ptr< TrilinosPreconditioner > preconditioner)
 Create Krylov solver for a particular method and TrilinosPreconditioner.
 
 ~BelosKrylovSolver ()
 Destructor.
 
void set_operator (std::shared_ptr< const GenericLinearOperator > A)
 Set operator (matrix)
 
void set_operators (std::shared_ptr< const GenericLinearOperator > A, std::shared_ptr< const GenericLinearOperator > P)
 Set operator (matrix) and preconditioner matrix.
 
const TpetraMatrixget_operator () const
 Get operator (matrix)
 
std::size_t solve (GenericVector &x, const GenericVector &b)
 Solve linear system Ax = b and return number of iterations.
 
std::size_t solve (const GenericLinearOperator &A, GenericVector &x, const GenericVector &b)
 Solve linear system Ax = b and return number of iterations.
 
std::string str (bool verbose) const
 Return informal string representation (pretty-print)
 
std::string parameter_type () const
 Return parameter type: "krylov_solver" or "lu_solver".
 
- Public Member Functions inherited from dolfin::GenericLinearSolver
virtual void update_parameters (const Parameters &parameters)
 Update solver parameters (useful for LinearSolver wrapper)
 
- Public Member Functions inherited from dolfin::Variable
 Variable ()
 Create unnamed variable.
 
 Variable (const std::string name, const std::string label)
 Create variable with given name and label.
 
 Variable (const Variable &variable)
 Copy constructor.
 
virtual ~Variable ()
 Destructor.
 
const Variableoperator= (const Variable &variable)
 Assignment operator.
 
void rename (const std::string name, const std::string label)
 Rename variable.
 
std::string name () const
 Return name.
 
std::string label () const
 Return label (description)
 
std::size_t id () const
 

Static Public Member Functions

static std::map< std::string, std::string > methods ()
 Return a list of available solver methods.
 
static std::map< std::string, std::string > preconditioners ()
 Return a list of available preconditioners.
 
static Parameters default_parameters ()
 Default parameter values.
 

Friends

class Ifpack2Preconditioner
 
class MueluPreconditioner
 

Additional Inherited Members

- Public Attributes inherited from dolfin::Variable
Parameters parameters
 Parameters.
 
- Static Protected Member Functions inherited from dolfin::GenericLinearSolver
static const GenericMatrixrequire_matrix (const GenericLinearOperator &A)
 
static std::shared_ptr< const GenericMatrixrequire_matrix (std::shared_ptr< const GenericLinearOperator > A)
 

Detailed Description

This class implements Krylov methods for linear systems of the form Ax = b. It is a wrapper for the Belos iterative solver from Trilinos

Constructor & Destructor Documentation

BelosKrylovSolver::BelosKrylovSolver ( std::string  method = "default",
std::string  preconditioner = "default" 
)

Create Krylov solver for a particular method and names preconditioner


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