Reference documentation for deal.II version 9.3.3
|
#include <deal.II/multigrid/mg_coarse.h>
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 |
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 |
Subscriptor functionality | |
Classes derived from Subscriptor provide a facility to subscribe to this object. This is mostly used by the SmartPointer class. | |
std::atomic< unsigned int > | counter |
std::map< std::string, unsigned int > | counter_map |
std::vector< std::atomic< bool > * > | validity_pointers |
const std::type_info * | object_info |
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) |
using | map_value_type = decltype(counter_map)::value_type |
using | map_iterator = decltype(counter_map)::iterator |
static std::mutex | mutex |
static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) |
void | check_no_subscribers () const noexcept |
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 92 of file mg_coarse.h.
MGCoarseGridIterativeSolver< VectorType, SolverType, MatrixType, PreconditionerType >::MGCoarseGridIterativeSolver | ( | ) |
Default constructor.
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.
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.
void MGCoarseGridIterativeSolver< VectorType, SolverType, MatrixType, PreconditionerType >::clear | ( | ) |
Clear all pointers.
|
overridevirtual |
Implementation of the abstract function. Calls the solve method of the given solver with matrix, vectors, and preconditioner.
Implements MGCoarseGridBase< VectorType >.
|
private |
Reference to the solver.
Definition at line 141 of file mg_coarse.h.
|
private |
Reference to the matrix.
Definition at line 151 of file mg_coarse.h.
|
private |
Reference to the preconditioner.
Definition at line 161 of file mg_coarse.h.