Reference documentation for deal.II version GIT 969cfe8cd8 2022-06-28 20:20:01+00:00
\(\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\}}\)
Public Member Functions | Private Attributes | List of all members
MGCoarseGridSVD< number, VectorType > Class Template Referenceabstract

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

Inheritance diagram for MGCoarseGridSVD< number, VectorType >:
[legend]

Public Member Functions

 MGCoarseGridSVD ()=default
 
void initialize (const FullMatrix< number > &A, const double threshold=0)
 
void operator() (const unsigned int level, VectorType &dst, const VectorType &src) const
 
void log () const
 
virtual void operator() (const unsigned int level, Vector< double > &dst, const Vector< double > &src) const=0
 

Private Attributes

LAPACKFullMatrix< number > matrix
 

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 ::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

template<typename number = double, class VectorType = Vector<number>>
class MGCoarseGridSVD< number, VectorType >

Coarse grid solver using singular value decomposition of LAPACK matrices.

Upon initialization, the singular value decomposition of the matrix is computed. then, the operator() uses

Definition at line 208 of file mg_coarse.h.

Constructor & Destructor Documentation

◆ MGCoarseGridSVD()

template<typename number = double, class VectorType = Vector<number>>
MGCoarseGridSVD< number, VectorType >::MGCoarseGridSVD ( )
default

Constructor leaving an uninitialized object.

Member Function Documentation

◆ initialize()

template<typename number = double, class VectorType = Vector<number>>
void MGCoarseGridSVD< number, VectorType >::initialize ( const FullMatrix< number > &  A,
const double  threshold = 0 
)

Initialize for a new matrix. This resets the dimensions to the

◆ operator()() [1/2]

template<typename number = double, class VectorType = Vector<number>>
void MGCoarseGridSVD< number, VectorType >::operator() ( const unsigned int  level,
VectorType &  dst,
const VectorType &  src 
) const

◆ log()

template<typename number = double, class VectorType = Vector<number>>
void MGCoarseGridSVD< number, VectorType >::log ( ) const

Write the singular values to deallog.

◆ operator()() [2/2]

virtual void MGCoarseGridBase< Vector< double > >::operator() ( const unsigned int  level,
VectorType &  dst,
const VectorType &  src 
) const
pure virtualinherited

Solution operator.

Member Data Documentation

◆ matrix

template<typename number = double, class VectorType = Vector<number>>
LAPACKFullMatrix<number> MGCoarseGridSVD< number, VectorType >::matrix
private

Matrix for singular value decomposition.

Definition at line 237 of file mg_coarse.h.


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