Reference documentation for deal.II version 9.1.1
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
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 (std::atomic< bool > *const validity, const std::string &identifier="") const
 
void unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") 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 ::ExceptionBaseExcInUse (int arg1, std::string arg2, std::string arg3)
 
static ::ExceptionBaseExcNoSubscriber (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

◆ MGCoarseGridIterativeSolver() [1/2]

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

Default constructor.

◆ MGCoarseGridIterativeSolver() [2/2]

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

◆ initialize()

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.

◆ clear()

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

Clear all pointers.

◆ operator()()

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

◆ solver

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.

◆ matrix

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.

◆ preconditioner

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: