Reference documentation for deal.II version 9.1.0-pre
Public Member Functions | Private Attributes | List of all members
MGCoarseGridIterativeSolver< VectorType, SolverType, MatrixType, PreconditionerType > Class Template Reference

#include <deal.II/multigrid/mg_coarse.h>

Inheritance diagram for MGCoarseGridIterativeSolver< VectorType, SolverType, MatrixType, PreconditionerType >:
[legend]

Public Member Functions

 MGCoarseGridIterativeSolver ()
 
 MGCoarseGridIterativeSolver (SolverType &solver, const MatrixType &matrix, const PreconditionerType &precondition)
 
void initialize (SolverType &solver, const MatrixType &matrix, const PreconditionerType &precondition)
 
void clear ()
 
virtual void operator() (const unsigned int level, VectorType &dst, const VectorType &src) const override
 
- Public Member Functions inherited from MGCoarseGridBase< VectorType >
virtual ~MGCoarseGridBase () override=default
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
 Subscriptor (Subscriptor &&) noexcept
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
Subscriptoroperator= (Subscriptor &&) noexcept
 
void subscribe (const char *identifier=nullptr) const
 
void unsubscribe (const char *identifier=nullptr) const
 
unsigned int n_subscriptions () const
 
template<typename StreamType >
void list_subscribers (StreamType &stream) const
 
void list_subscribers () const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

SmartPointer< SolverType, MGCoarseGridIterativeSolver< VectorType, SolverType, MatrixType, PreconditionerType > > solver
 
SmartPointer< const MatrixType, MGCoarseGridIterativeSolver< VectorType, SolverType, MatrixType, PreconditionerType > > matrix
 
SmartPointer< const PreconditionerType, MGCoarseGridIterativeSolver< VectorType, SolverType, MatrixType, PreconditionerType > > preconditioner
 

Additional Inherited Members

- Static Public Member Functions inherited from Subscriptor
static::ExceptionBase & ExcInUse (int arg1, std::string arg2, std::string arg3)
 
static::ExceptionBase & ExcNoSubscriber (std::string arg1, std::string arg2)
 

Detailed Description

template<class VectorType, class SolverType, class MatrixType, class PreconditionerType>
class MGCoarseGridIterativeSolver< VectorType, SolverType, MatrixType, PreconditionerType >

Coarse grid multigrid operator for an iterative solver.

This class provides a wrapper for a deal.II iterative solver with a given matrix and preconditioner as a coarse grid operator.

Definition at line 179 of file mg_coarse.h.

Constructor & Destructor Documentation

template<class VectorType , class SolverType , class MatrixType , class PreconditionerType >
MGCoarseGridIterativeSolver< VectorType, SolverType, MatrixType, PreconditionerType >::MGCoarseGridIterativeSolver ( )

Default constructor.

template<class VectorType , class SolverType , class MatrixType , class PreconditionerType >
MGCoarseGridIterativeSolver< VectorType, SolverType, MatrixType, PreconditionerType >::MGCoarseGridIterativeSolver ( SolverType &  solver,
const MatrixType &  matrix,
const PreconditionerType &  precondition 
)

Constructor. Only a reference to these objects is stored, so their lifetime needs to exceed the usage in this class.

Member Function Documentation

template<class VectorType , class SolverType , class MatrixType , class PreconditionerType >
void MGCoarseGridIterativeSolver< VectorType, SolverType, MatrixType, PreconditionerType >::initialize ( SolverType &  solver,
const MatrixType &  matrix,
const PreconditionerType &  precondition 
)

Initialize with new data, see the corresponding constructor for more details.

template<class VectorType , class SolverType , class MatrixType , class PreconditionerType >
void MGCoarseGridIterativeSolver< VectorType, SolverType, MatrixType, PreconditionerType >::clear ( )

Clear all pointers.

template<class VectorType , class SolverType , class MatrixType , class PreconditionerType >
virtual void MGCoarseGridIterativeSolver< VectorType, SolverType, MatrixType, PreconditionerType >::operator() ( const unsigned int  level,
VectorType &  dst,
const VectorType &  src 
) const
overridevirtual

Implementation of the abstract function. Calls the solve method of the given solver with matrix, vectors, and preconditioner.

Implements MGCoarseGridBase< VectorType >.

Member Data Documentation

template<class VectorType , class SolverType , class MatrixType , class PreconditionerType >
SmartPointer<SolverType, MGCoarseGridIterativeSolver<VectorType, SolverType, MatrixType, PreconditionerType> > MGCoarseGridIterativeSolver< VectorType, SolverType, MatrixType, PreconditionerType >::solver
private

Reference to the solver.

Definition at line 228 of file mg_coarse.h.

template<class VectorType , class SolverType , class MatrixType , class PreconditionerType >
SmartPointer<const MatrixType, MGCoarseGridIterativeSolver<VectorType, SolverType, MatrixType, PreconditionerType> > MGCoarseGridIterativeSolver< VectorType, SolverType, MatrixType, PreconditionerType >::matrix
private

Reference to the matrix.

Definition at line 238 of file mg_coarse.h.

template<class VectorType , class SolverType , class MatrixType , class PreconditionerType >
SmartPointer<const PreconditionerType, MGCoarseGridIterativeSolver<VectorType, SolverType, MatrixType, PreconditionerType> > MGCoarseGridIterativeSolver< VectorType, SolverType, MatrixType, PreconditionerType >::preconditioner
private

Reference to the preconditioner.

Definition at line 248 of file mg_coarse.h.


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