17 #ifndef __deal2__block_info_h 18 #define __deal2__block_info_h 20 #include <deal.II/base/subscriptor.h> 21 #include <deal.II/base/memory_consumption.h> 22 #include <deal.II/lac/block_indices.h> 30 template <
int dim,
int spacedim>
class DoFHandler;
33 template <
int dim,
int spacedim>
class DoFHandler;
118 template <
int dim,
int spacedim>
127 template <
int dim,
int spacedim>
171 unsigned int n_base_elements()
const;
177 unsigned int base_element (
const unsigned int i)
const;
185 print(OS &stream)
const;
192 std::size_t memory_consumption ()
const;
198 template <
class Archive>
199 void serialize (Archive &ar,
200 const unsigned int version);
270 return local_renumbering[i];
280 return base_elements[i];
288 return base_elements.size();
298 os <<
"global dofs " << std::setw(5) << global().total_size() <<
" blocks";
299 for (
unsigned int i=0; i<global().size(); ++i)
300 os <<
' ' << std::setw(5) << global().block_size(i);
303 if (local().size() == 0)
305 os <<
"local dofs not initialized" << std::endl;
309 os <<
"local dofs " << std::setw(5) << local().total_size() <<
" blocks";
310 for (
unsigned int i=0; i<local().size(); ++i)
311 os <<
' ' << std::setw(5) << local().block_size(i);
315 for (
unsigned int l=0; l<levels.size(); ++l)
317 os <<
"level " << std::setw(2) << l <<
" dofs " << std::setw(5) << level(l).total_size() <<
" blocks";
318 for (
unsigned int i=0; i<level(l).size(); ++i)
319 os <<
' ' << std::setw(5) << level(l).block_size(i);
336 template <
class Archive>
338 const unsigned int version)
344 ar &local_renumbering;
348 DEAL_II_NAMESPACE_CLOSE
std::vector< types::global_dof_index > local_renumbering
std::size_t memory_consumption() const
#define AssertIndexRange(index, range)
Auxiliary class aiding in the handling of block structures like in BlockVector or FESystem...
void serialize(Archive &ar, const unsigned int version)
unsigned int global_dof_index
unsigned int base_element(const unsigned int i) const
std::size_t memory_consumption(const T &t)
types::global_dof_index renumber(const unsigned int i) const
BlockIndices bi_global
The block structure of the global system.
unsigned int n_base_elements() const
std::vector< BlockIndices > levels
The multilevel block structure.
const BlockIndices & level(unsigned int level) const
const BlockIndices & local() const
A small class collecting the different BlockIndices involved in global, multilevel and local computat...
const BlockIndices & global() const
void print(OS &stream) const
BlockIndices bi_local
The block structure of the cell systems.
std::vector< unsigned int > base_elements