#include <Transfer.hpp>
Inheritance diagram for SysTransfer< T >:


Public Member Functions | |
| virtual void | PrintParam ()=0 |
| Prints the name of the transfer object and (optionally) the parameters. | |
| virtual bool | ProperGrids (int i, const Array< int > &p_domain_size, const Array< int > &p_range_size)=0 |
| Returns true if the grid sizes may correspond to the domain and the range of the prolongation (or the range and the domain of the restriction) for a given part of the system (i.e. for a given index i). | |
| virtual void | Prolong (GridVec< T > &src, GridVec< T > &dst)=0 |
| The prolongation. | |
| virtual void | Restrict (GridVec< T > &src, GridVec< T > &dst)=0 |
| The restriction. | |
| virtual | ~SysTransfer () |
| Virtual destructor. | |
This class template is a generic interface for all transfer (prolongation/restriction) operators used for ex. in the geometrical multigrid methods. All the functions declared in this class are virtual and should be implemented for particular transfer operators.
| virtual SysTransfer< T >::~SysTransfer | ( | ) | [inline, virtual] |
Virtual destructor.
| virtual void SysTransfer< T >::PrintParam | ( | ) | [pure virtual] |
Prints the name of the transfer object and (optionally) the parameters.
Implemented in NLTGlobalAssemble< T >, BiTransfer< T >, ConstTransfer< T >, LinCCTransfer< T >, and MixedTransfer< T >.
| virtual bool SysTransfer< T >::ProperGrids | ( | int | i, | |
| const Array< int > & | p_domain_size, | |||
| const Array< int > & | p_range_size | |||
| ) | [pure virtual] |
Returns true if the grid sizes may correspond to the domain and the range of the prolongation (or the range and the domain of the restriction) for a given part of the system (i.e. for a given index i).
If the subclass does not implement transfer operator for some index, the function should return false.
| [in] | i | The part of the system |
| [in] | p_domain_size | For the domain of the prolongation |
| [in] | p_range_size | For the range of the prolongation |
Implemented in NLTGlobalAssemble< T >.
| virtual void SysTransfer< T >::Prolong | ( | GridVec< T > & | src, | |
| GridVec< T > & | dst | |||
| ) | [pure virtual] |
The prolongation.
| [in] | src | The vector to prolong |
| [in] | dst | The result (the sizes must be initialized!) |
Implemented in NLTGlobalAssemble< T >.
| virtual void SysTransfer< T >::Restrict | ( | GridVec< T > & | src, | |
| GridVec< T > & | dst | |||
| ) | [pure virtual] |
The restriction.
| [in] | src | The vector to restrict |
| [in] | dst | The result (the sizes must be initialized!) |
Implemented in NLTGlobalAssemble< T >.
1.5.2