13#ifndef dealii_mg_sparse_matrix_collection_h
14#define dealii_mg_sparse_matrix_collection_h
38 template <
typename number>
43 resize(
const unsigned int minlevel,
const unsigned int maxlevel);
45 template <
int dim,
int spacedim>
63 template <
typename number>
66 const unsigned int maxlevel)
68 matrix.resize(minlevel, maxlevel);
69 matrix.clear_elements();
70 matrix_up.resize(minlevel + 1, maxlevel);
71 matrix_up.clear_elements();
72 matrix_down.resize(minlevel + 1, maxlevel);
73 matrix_down.clear_elements();
74 matrix_in.resize(minlevel, maxlevel);
75 matrix_in.clear_elements();
76 matrix_out.resize(minlevel, maxlevel);
77 matrix_out.clear_elements();
78 sparsity.resize(minlevel, maxlevel);
79 sparsity_edge.resize(minlevel, maxlevel);
83 template <
typename number>
84 template <
int dim,
int spacedim>
92 for (
unsigned int level = sparsity.min_level();
93 level <= sparsity.max_level();
98 sparsity[
level].copy_from(dsp);
110 sparsity_edge[
level].copy_from(ci_sparsity);
111 matrix_up[
level].reinit(sparsity_edge[
level]);
112 matrix_down[
level].reinit(sparsity_edge[
level]);
117 template <
typename number>
const Triangulation< dim, spacedim > & get_triangulation() const
types::global_dof_index n_dofs() const
void reinit(const size_type m, const size_type n, const IndexSet &rowset=IndexSet())
unsigned int n_levels() const
void reinit(const DoFHandler< dim, spacedim > &dof_handler)
MGLevelObject< SparseMatrix< number > > matrix_in
MGLevelObject< SparseMatrix< number > > matrix
MGLevelObject< SparseMatrix< number > > matrix_out
MGLevelObject< SparseMatrix< number > > matrix_up
MGLevelObject< SparsityPattern > sparsity
void resize(const unsigned int minlevel, const unsigned int maxlevel)
MGLevelObject< SparsityPattern > sparsity_edge
MGLevelObject< SparseMatrix< number > > matrix_down
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define AssertIndexRange(index, range)