BiTransfer< T > Class Template Reference

Class templates for transfer operators based on multilinear ansatz functions over bisected grids. More...

#include <BiTransfer.hpp>

Inheritance diagram for BiTransfer< T >:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

void PrintParam ()
 Prints the name of the transfer object and (optionally) the parameters.
virtual bool ProperGrids (const Array< int > &p_domain_size, const Array< int > &p_range_size)
 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).
void Prolong (MultiVector< T > &src, MultiVector< T > &dst)
 Prolongs the coarse grid.
void Restrict (MultiVector< T > &src, MultiVector< T > &dst)
 The restriction.
 BiTransfer (unsigned the_disp_type)
 Constructor which sets the display type.

Detailed Description

template<typename T>
class BiTransfer< T >

Class templates for transfer operators based on multilinear ansatz functions over bisected grids.

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

Date:
Oct. 25, 2004 - created


Constructor & Destructor Documentation

template<typename T>
BiTransfer< T >::BiTransfer ( unsigned  the_disp_type  )  [inline]

Constructor which sets the display type.

Parameters:
[in] the_disp_type The display type


Member Function Documentation

template<typename T>
void BiTransfer< T >::PrintParam (  )  [inline, virtual]

Prints the name of the transfer object and (optionally) the parameters.

Implements SysTransfer< T >.

template<typename T>
virtual bool BiTransfer< T >::ProperGrids ( const Array< int > &  p_domain_size,
const Array< int > &  p_range_size 
) [inline, 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
Note:
The grid sizes corresponding to the same dimensions should be either halved or equal.

Implements Transfer< T >.

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

Prolongs the coarse grid.

This is implemented as computation of halved sums of manyfolds of the grid. We do it recursively and start with the manyfolds of the smallest dimensionality.

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

Implements Transfer< T >.

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

The restriction.

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

Implements Transfer< T >.


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