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< bool > | selected |
std::vector< bool > | mg_selected |
std::vector< unsigned int > | target_component |
std::vector< unsigned int > | mg_target_component |
std::vector< std::vector < unsigned int > > | sizes |
std::vector< unsigned int > | component_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 |
Memory used by this object.
Reimplemented in MGTransferSelect< number >.
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.
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.
std::vector<unsigned int> MGTransferComponentBase::target_component [protected] |
Target component of the fine-level vector if renumbering is required.
std::vector<unsigned int> MGTransferComponentBase::mg_target_component [protected] |
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.
std::vector<unsigned int> MGTransferComponentBase::component_start [protected] |
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.
std::vector<std::map<unsigned int, unsigned int> > MGTransferComponentBase::copy_to_and_from_indices [protected] |
Unused now, but intended to hold the mapping for the copy_to/from_mg
-functions.