#include <multigrid_amg.h>
  
Public Member Functions | |
| MGTransferAgglomeration (const MGLevelObject< TrilinosWrappers::SparseMatrix * > &transfer_matrices, const std::vector< DoFHandler< dim > * > &dof_handlers) | |
| MGTransferAgglomeration (const MGLevelObject< TrilinosWrappers::SparseMatrix > &transfer_matrices, const std::vector< DoFHandler< dim > * > &dof_handlers) | |
| void | prolongate (const unsigned int to_level, VectorType &dst, const VectorType &src) const override | 
| void | prolongate_and_add (const unsigned int to_level, VectorType &dst, const VectorType &src) const override | 
| void | restrict_and_add (const unsigned int from_level, VectorType &dst, const VectorType &src) const override | 
| void | copy_to_mg (const DoFHandler< dim > &dof_handler, MGLevelObject< VectorType > &dst, const VectorType &src) const | 
| void | copy_from_mg (const DoFHandler< dim > &dof_handler, VectorType &dst, const MGLevelObject< VectorType > &src) const | 
  Public Member Functions inherited from MGTransferBase< VectorType > | |
| virtual | ~MGTransferBase () override=default | 
| void | serialize (Archive &ar, const unsigned int version) | 
| unsigned int | n_subscriptions () const | 
| unsigned int | n_subscriptions () const | 
| void | list_subscribers (StreamType &stream) const | 
| void | list_subscribers () const | 
| void | list_subscribers (StreamType &stream) const | 
| void | list_subscribers () const | 
  Public Member Functions inherited from EnableObserverPointer | |
| EnableObserverPointer () | |
| EnableObserverPointer (const EnableObserverPointer &) | |
| EnableObserverPointer (EnableObserverPointer &&) noexcept | |
| virtual | ~EnableObserverPointer () | 
| EnableObserverPointer & | operator= (const EnableObserverPointer &) | 
| EnableObserverPointer & | operator= (EnableObserverPointer &&) noexcept | 
| void | serialize (Archive &ar, const unsigned int version) | 
| unsigned int | n_subscriptions () const | 
| void | list_subscribers (StreamType &stream) const | 
| void | list_subscribers () const | 
| unsigned int | n_subscriptions () const | 
| void | list_subscribers (StreamType &stream) const | 
| void | list_subscribers () const | 
Private Attributes | |
| MGLevelObject< ObserverPointer< TrilinosWrappers::SparseMatrix > > | transfer_matrices | 
| std::vector< const DoFHandler< dim > * > | dof_handlers | 
Additional Inherited Members | |
  Static Public Member Functions inherited from MGTransferBase< VectorType > | |
| static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) | 
| static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) | 
  Static Public Member Functions inherited from EnableObserverPointer | |
| static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) | 
| static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) | 
This class implements the transfer across possibly agglomerated multigrid levels. To perform this, it needs a sequence of transfer matrices and DoFHandlers which identify the degrees of freedom on each level.
Definition at line 409 of file multigrid_amg.h.
| dealii::MGTransferAgglomeration< dim, VectorType >::MGTransferAgglomeration | ( | const MGLevelObject< TrilinosWrappers::SparseMatrix * > & | transfer_matrices, | 
| const std::vector< DoFHandler< dim > * > & | dof_handlers ) | 
Constructor. It takes a sequence of transfer matrices from possibly agglomerated meshes.
Definition at line 23 of file multigrid_amg.cc.
References dof_handlers, MGLevelObject< class Object >::max_level(), MGLevelObject< class Object >::min_level(), MGLevelObject< class Object >::n_levels(), and transfer_matrices.
| dealii::MGTransferAgglomeration< dim, VectorType >::MGTransferAgglomeration | ( | const MGLevelObject< TrilinosWrappers::SparseMatrix > & | transfer_matrices, | 
| const std::vector< DoFHandler< dim > * > & | dof_handlers ) | 
Same as above, but taking vectors of Trilinos::SparseMatrix objects, instead of pointers.
Definition at line 44 of file multigrid_amg.cc.
References dof_handlers, MGLevelObject< class Object >::max_level(), MGLevelObject< class Object >::min_level(), MGLevelObject< class Object >::n_levels(), and transfer_matrices.
| void dealii::MGTransferAgglomeration< dim, VectorType >::copy_from_mg | ( | const DoFHandler< dim > & | dof_handler, | 
| VectorType & | dst, | ||
| const MGLevelObject< VectorType > & | src ) const | 
Transfer from multi-level vector to normal vector.
Definition at line 143 of file multigrid_amg.cc.
References MGLevelObject< class Object >::max_level().
| void dealii::MGTransferAgglomeration< dim, VectorType >::copy_to_mg | ( | const DoFHandler< dim > & | dof_handler, | 
| MGLevelObject< VectorType > & | dst, | ||
| const VectorType & | src ) const | 
Transfer from a vector on the global grid to vectors defined on each of the levels separately for the active degrees of freedom. In particular, for a globally refined mesh only the finest level in dst is filled as a plain copy of src. All the other level objects are left untouched.
Definition at line 114 of file multigrid_amg.cc.
References dof_handlers, MGLevelObject< class Object >::max_level(), and MGLevelObject< class Object >::min_level().
      
  | 
  overridevirtual | 
Perform prolongation from a coarse level vector src to a fine one dst. The previous content of dst is overwritten. 
Implements MGTransferBase< VectorType >.
Definition at line 68 of file multigrid_amg.cc.
References prolongate_and_add().
      
  | 
  overridevirtual | 
Perform prolongation, summing into the previous content of dst.
Reimplemented from MGTransferBase< VectorType >.
Definition at line 81 of file multigrid_amg.cc.
References transfer_matrices.
Referenced by prolongate().
      
  | 
  overridevirtual | 
Perform restriction.
Implements MGTransferBase< VectorType >.
Definition at line 95 of file multigrid_amg.cc.
References transfer_matrices.
      
  | 
  private | 
Pointers to DoFHandler employe on the levels.
Definition at line 488 of file multigrid_amg.h.
Referenced by copy_to_mg(), MGTransferAgglomeration(), and MGTransferAgglomeration().
      
  | 
  private | 
Sequence of transfer operators, stored as pointers to Trilinos matrices.
Definition at line 483 of file multigrid_amg.h.
Referenced by MGTransferAgglomeration(), MGTransferAgglomeration(), prolongate_and_add(), and restrict_and_add().