Reference documentation for deal.II version 9.2.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PETScWrappers::PreconditionBoomerAMG Class Reference

#include <deal.II/lac/petsc_precondition.h>

Inheritance diagram for PETScWrappers::PreconditionBoomerAMG:


struct  AdditionalData

Public Member Functions

 PreconditionBoomerAMG ()=default
 PreconditionBoomerAMG (const MatrixBase &matrix, const AdditionalData &additional_data=AdditionalData())
 PreconditionBoomerAMG (const MPI_Comm communicator, const AdditionalData &additional_data=AdditionalData())
void initialize (const MatrixBase &matrix, const AdditionalData &additional_data=AdditionalData())
- Public Member Functions inherited from PETScWrappers::PreconditionerBase
 PreconditionerBase ()
virtual ~PreconditionerBase ()
void clear ()
void vmult (VectorBase &dst, const VectorBase &src) const
void Tvmult (VectorBase &dst, const VectorBase &src) const
const PC & get_pc () const

Protected Member Functions

void initialize ()
- Protected Member Functions inherited from PETScWrappers::PreconditionerBase
void create_pc ()
 operator Mat () const

Protected Attributes

AdditionalData additional_data
- Protected Attributes inherited from PETScWrappers::PreconditionerBase
PC pc
Mat matrix

Detailed Description

A class that implements the interface to use the BoomerAMG algebraic multigrid preconditioner from the HYPRE suite. Note that PETSc has to be configured with HYPRE (e.g. with --download-hypre=1).

The preconditioner does support parallel distributed computations. See step-40 for an example.

Timo Heister, 2010

Definition at line 686 of file petsc_precondition.h.

Constructor & Destructor Documentation

◆ PreconditionBoomerAMG() [1/3]

PETScWrappers::PreconditionBoomerAMG::PreconditionBoomerAMG ( )

Empty Constructor. You need to call initialize() before using this object.

◆ PreconditionBoomerAMG() [2/3]

PETScWrappers::PreconditionBoomerAMG::PreconditionBoomerAMG ( 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.

Definition at line 472 of file

◆ PreconditionBoomerAMG() [3/3]

PETScWrappers::PreconditionBoomerAMG::PreconditionBoomerAMG ( const MPI_Comm  communicator,
const AdditionalData additional_data = AdditionalData() 

Same as above but without setting a matrix to form the preconditioner. Intended to be used with SLEPc objects.

Definition at line 452 of file

Member Function Documentation

◆ initialize() [1/2]

void PETScWrappers::PreconditionBoomerAMG::initialize ( const MatrixBase matrix,
const AdditionalData additional_data = AdditionalData() 

Initialize the preconditioner object and calculate all data that is necessary for applying it in a solver. This function is automatically called when calling the constructor with the same arguments and is only used if you create the preconditioner without arguments.

Definition at line 533 of file

◆ initialize() [2/2]

void PETScWrappers::PreconditionBoomerAMG::initialize ( )

Initialize the preconditioner object without knowing a particular matrix. This function sets up appropriate parameters to the underlying PETSc object after it has been created.

Definition at line 480 of file

Member Data Documentation

◆ additional_data

AdditionalData PETScWrappers::PreconditionBoomerAMG::additional_data

Store a copy of the flags for this particular preconditioner.

Definition at line 784 of file petsc_precondition.h.

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