TrilinosWrappers::SolverBlockBase Class Reference
[TrilinosWrappers]

Inheritance diagram for TrilinosWrappers::SolverBlockBase:

Inheritance graph
[legend]

List of all members.

Classes

struct  AdditionalData
class  ExcNonMatchingMaps
class  ExcOverlappingMaps
class  ExcTrilinosError

Public Types

enum  SolverBlockName { cg, gmres }

Public Member Functions

 SolverBlockBase (SolverControl &cn)
 SolverBlockBase (const enum SolverBlockName solver_name, SolverControl &cn)
virtual ~SolverBlockBase ()
void solve (const BlockSparseMatrix &A, MPI::BlockVector &x, const MPI::BlockVector &b, const PreconditionBlockBase &preconditioner)
void solve (const BlockSparseMatrix &A, BlockVector &x, const BlockVector &b, const PreconditionBlockBase &preconditioner)
SolverControlcontrol () const

Public Attributes

enum
TrilinosWrappers::SolverBlockBase::SolverBlockName 
solver_name

Protected Attributes

SolverControlsolver_control
AdditionalData additional_data


Detailed Description

Base class for solver classes using the Trilinos solvers on block matrices based on the Trilinos abstract solver interface Thyra.

Author:
Martin Kronbichler, 2008

Member Enumeration Documentation

Enumeration object that is set in the constructor of the derived classes and tells Trilinos which solver to use. This option can also be set in the user program, so one might use this base class instead of one of the specialized derived classes when the solver should be set at runtime. Currently enabled options are:

Enumerator:
cg 
gmres 


Constructor & Destructor Documentation

TrilinosWrappers::SolverBlockBase::SolverBlockBase ( SolverControl cn  ) 

Constructor. Takes the solver control object and creates the solver.

TrilinosWrappers::SolverBlockBase::SolverBlockBase ( const enum SolverBlockName  solver_name,
SolverControl cn 
)

Second constructor. This constructor takes an enum object that specifies the solver name and sets the appropriate Krylov method.

virtual TrilinosWrappers::SolverBlockBase::~SolverBlockBase (  )  [virtual]

Destructor.


Member Function Documentation

void TrilinosWrappers::SolverBlockBase::solve ( const BlockSparseMatrix A,
MPI::BlockVector x,
const MPI::BlockVector b,
const PreconditionBlockBase preconditioner 
)

Solve the linear system Ax=b. Depending on the information provided by derived classes and the object passed as a preconditioner, one of the linear solvers and preconditioners of Trilinos is chosen. This interface is designed for Trilinos running in parallel.

void TrilinosWrappers::SolverBlockBase::solve ( const BlockSparseMatrix A,
BlockVector x,
const BlockVector b,
const PreconditionBlockBase preconditioner 
)

Solve the linear system Ax=b. Depending on the information provided by derived classes and the object passed as a preconditioner, one of the linear solvers and preconditioners of Trilinos is chosen. This interface is designed for Trilinos running in serial.

SolverControl& TrilinosWrappers::SolverBlockBase::control (  )  const

Access to object that controls convergence.


Member Data Documentation

Enumeration object that is set in the constructor of the derived classes and tells Trilinos which solver to use. This option can also be set in the user program, so one might use this base class instead of one of the specialized derived classes when the solver should be set at runtime. Currently enabled options are:

Reference to the object that controls convergence of the iterative solver. In fact, for these Trilinos wrappers, Trilinos does so itself, but we copy the data from this object before starting the solution process, and copy the data back into it afterwards.

Store a copy of the flags for this particular solver.


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

deal.II documentation generated on Sat Aug 15 16:52:54 2009 by doxygen 1.5.9