MGTransferComponentBase Class Reference
[Multilevel support]

Inheritance diagram for MGTransferComponentBase:

Inheritance graph
[legend]

List of all members.

Classes

class  ExcMatricesNotBuilt

Public Member Functions

unsigned int memory_consumption () const

Protected Member Functions

template<int dim, int spacedim>
void build_matrices (const DoFHandler< dim, spacedim > &dof, const MGDoFHandler< dim, spacedim > &mg_dof)

Protected Attributes

std::vector< boolselected
std::vector< boolmg_selected
std::vector< unsigned inttarget_component
std::vector< unsigned intmg_target_component
std::vector< std::vector
< unsigned int > > 
sizes
std::vector< unsigned intcomponent_start
std::vector< std::vector
< unsigned int > > 
mg_component_start
std::vector
< std_cxx1x::shared_ptr
< BlockSparseMatrix< double > > > 
prolongation_matrices
std::vector< std::map
< unsigned int, unsigned int > > 
copy_to_and_from_indices

Private Attributes

std::vector
< std_cxx1x::shared_ptr
< BlockSparsityPattern > > 
prolongation_sparsities


Detailed Description

Implementation of matrix generation for component wise multigrid transfer.

Note:
MGTransferBlockBase is probably the more logical class. Still eventually, a class should be developed allowing to select multiple components.
Author:
Guido Kanschat, 2001-2003

Member Function Documentation

unsigned int MGTransferComponentBase::memory_consumption (  )  const

Memory used by this object.

Reimplemented in MGTransferSelect< number >.

template<int dim, int spacedim>
void MGTransferComponentBase::build_matrices ( const DoFHandler< dim, spacedim > &  dof,
const MGDoFHandler< dim, spacedim > &  mg_dof 
) [inline, protected]

Actually build the prolongation matrices for each level.

This function is only called by derived classes. These can also set the member variables selected and mg_selected to restrict the transfer matrices to certain components. Furthermore, they use target_component and mg_target_component for re-ordering and grouping of components.


Member Data Documentation

std::vector<bool> MGTransferComponentBase::selected [protected]

Flag of selected components.

The transfer operators only act on the components having a true entry here. If renumbering by target_component is used, this refers to the renumbered components.

std::vector<bool> MGTransferComponentBase::mg_selected [protected]

Flag of selected components.

The transfer operators only act on the components having a true entry here. If renumbering by mg_target_component is used, this refers to the renumbered components.

Target component of the fine-level vector if renumbering is required.

Target component if renumbering of level vectors is required.

std::vector<std::vector<unsigned int> > MGTransferComponentBase::sizes [mutable, protected]

Sizes of the multi-level vectors.

Start index of each component.

std::vector<std::vector<unsigned int> > MGTransferComponentBase::mg_component_start [protected]

Start index of each component on all levels.

std::vector<std_cxx1x::shared_ptr<BlockSparsityPattern> > MGTransferComponentBase::prolongation_sparsities [private]

std::vector<std_cxx1x::shared_ptr<BlockSparseMatrix<double> > > MGTransferComponentBase::prolongation_matrices [protected]

The actual prolongation matrix. column indices belong to the dof indices of the mother cell, i.e. the coarse level. while row indices belong to the child cell, i.e. the fine level.

Unused now, but intended to hold the mapping for the copy_to/from_mg-functions.


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

deal.II documentation generated on Sat Aug 15 16:52:10 2009 by doxygen 1.5.9