PETScWrappers::PreconditionBlockJacobi Class Reference
[PETScWrappers]

Inheritance diagram for PETScWrappers::PreconditionBlockJacobi:
Inheritance graph
[legend]

List of all members.

Classes

struct  AdditionalData

Public Member Functions

 PreconditionBlockJacobi (const MatrixBase &matrix, const AdditionalData &additional_data=AdditionalData())

Protected Member Functions

virtual void set_preconditioner_type (PC &pc) const

Protected Attributes

const AdditionalData additional_data

Detailed Description

A class that implements the interface to use the PETSc Block Jacobi preconditioner. The blocking structure of the matrix is determined by the association of degrees of freedom to the individual processors in an MPI-parallel job. If you use this preconditioner on a sequential job (or an MPI job with only one process) then the entire matrix is the only block.

By default, PETSc uses an ILU(0) decomposition of each diagonal block of the matrix for preconditioning. This can be changed, as is explained in the relevant section of the PETSc manual, but is not implemented here.

See the comment in the base class PreconditionerBase for when this preconditioner may or may not work.

Author:
Wolfgang Bangerth, 2004

Constructor & Destructor Documentation

PETScWrappers::PreconditionBlockJacobi::PreconditionBlockJacobi ( const MatrixBase matrix,
const AdditionalData additional_data = AdditionalData() 
)

Constructor. Take the matrix which is used to form the preconditioner, and additional flags if there are any.


Member Function Documentation

virtual void PETScWrappers::PreconditionBlockJacobi::set_preconditioner_type ( PC &  pc  )  const [protected, virtual]

Function that takes a Krylov Subspace Preconditioner context object, and sets the type of preconditioner that is appropriate for the present class.

Implements PETScWrappers::PreconditionerBase.


Member Data Documentation

Store a copy of the flags for this particular preconditioner.


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

deal.II documentation generated on Mon Nov 23 22:58:29 2009 by doxygen 1.6.1