Transfer< T > Class Template Reference

The transfer operator base class template for scalar grid functions. More...

#include <Transfer.hpp>

Inheritance diagram for Transfer< T >:

Inheritance graph
[legend]
Collaboration diagram for Transfer< T >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual bool ProperGrids (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).
virtual void Prolong (MultiVector< T > &src, MultiVector< T > &dst)=0
 The prolongation.
virtual void Restrict (MultiVector< T > &src, MultiVector< T > &dst)=0
 The restriction.

Detailed Description

template<typename T>
class Transfer< T >

The transfer operator base class template for scalar grid functions.

This class provides an abstract interface for transfer operators implemented for scalar functions. These transfer operators can be also used for vector grid functions if all the dofs are at the same points. In the latter case, the cartesian product of the scalar transfer operators is used.

Note:
The templates depend on a type T. This type should satisfy the conditions listed in small_matrix.hpp for small matrices.


Member Function Documentation

template<typename T>
virtual bool Transfer< T >::ProperGrids ( 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).

Parameters:
[in] p_domain_size For the domain of the prolongation
[in] p_range_size For the range of the prolongation

Implemented in BiTransfer< T >, ConstTransfer< T >, LinCCTransfer< T >, and MixedTransfer< T >.

template<typename T>
virtual void Transfer< T >::Prolong ( MultiVector< T > &  src,
MultiVector< T > &  dst 
) [pure virtual]

The prolongation.

Parameters:
[in] src The vector to prolong
[in] dst The result (the sizes must be initialized!)

Implemented in BiTransfer< T >, ConstTransfer< T >, LinCCTransfer< T >, and MixedTransfer< T >.

template<typename T>
virtual void Transfer< T >::Restrict ( MultiVector< T > &  src,
MultiVector< T > &  dst 
) [pure virtual]

The restriction.

Parameters:
[in] src The vector to restrict
[in] dst The result (the sizes must be initialized!)

Implemented in BiTransfer< T >, ConstTransfer< T >, LinCCTransfer< T >, and MixedTransfer< T >.


The documentation for this class was generated from the following files:
Generated on Fri Sep 21 12:34:43 2007 for SG2 by  doxygen 1.5.2