Reference documentation for deal.II version 9.3.3
\(\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 Types | Public Member Functions | Private Attributes | List of all members

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

Inheritance diagram for PreconditionRichardson:
[legend]

Classes

class  AdditionalData
 

Public Types

using size_type = types::global_dof_index
 

Public Member Functions

 PreconditionRichardson ()
 
void initialize (const AdditionalData &parameters)
 
template<typename MatrixType >
void initialize (const MatrixType &matrix, const AdditionalData &parameters)
 
template<class VectorType >
void vmult (VectorType &, const VectorType &) const
 
template<class VectorType >
void Tvmult (VectorType &, const VectorType &) const
 
template<class VectorType >
void vmult_add (VectorType &, const VectorType &) const
 
template<class VectorType >
void Tvmult_add (VectorType &, const VectorType &) const
 
void clear ()
 
size_type m () const
 
size_type n () const
 

Private Attributes

double relaxation
 
size_type n_rows
 
size_type n_columns
 

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 intcounter
 
std::map< std::string, unsigned intcounter_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 ::ExceptionBaseExcInUse (int arg1, std::string arg2, std::string arg3)
 
static ::ExceptionBaseExcNoSubscriber (std::string arg1, std::string arg2)
 
void check_no_subscribers () const noexcept
 

Detailed Description

Preconditioning with Richardson's method. This preconditioner just scales the vector with a constant relaxation factor provided by the AdditionalData object.

In Krylov-space methods, this preconditioner should not have any effect. Using SolverRichardson, the two relaxation parameters will be just multiplied. Still, this class is useful in multigrid smoother objects (MGSmootherRelaxation).

Definition at line 195 of file precondition.h.


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