15#ifndef dealii_block_info_h
16#define dealii_block_info_h
32template <
int dim,
int spacedim>
110 template <
int dim,
int spacedim>
113 bool levels_only =
false,
114 bool active_only =
false);
120 template <
int dim,
int spacedim>
152 renumber(
const unsigned int i)
const;
171 print(OS &stream)
const;
185 template <
class Archive>
187 serialize(Archive &ar,
const unsigned int );
272 for (
unsigned int i = 0; i <
global().
size(); ++i)
278 os <<
"local dofs not initialized" << std::endl;
284 for (
unsigned int i = 0; i <
local().
size(); ++i)
289 for (
unsigned int l = 0; l <
levels.size(); ++l)
291 os <<
"level " << std::setw(2) << l <<
" dofs " << std::setw(5)
292 <<
level(l).total_size() <<
" blocks";
293 for (
unsigned int i = 0; i <
level(l).size(); ++i)
294 os <<
' ' << std::setw(5) <<
level(l).block_size(i);
310template <
class Archive>
size_type block_size(const unsigned int i) const
size_type total_size() const
unsigned int size() const
A small class collecting the different BlockIndices involved in global, multilevel and local computat...
unsigned int base_element(const unsigned int i) const
std::vector< types::global_dof_index > local_renumbering
std::vector< BlockIndices > levels
The multilevel block structure.
unsigned int n_base_elements() const
void serialize(Archive &ar, const unsigned int)
BlockIndices bi_global
The block structure of the global system.
std::size_t memory_consumption() const
BlockIndices bi_local
The block structure of the cell systems.
types::global_dof_index renumber(const unsigned int i) const
std::vector< unsigned int > base_elements
const BlockIndices & level(unsigned int level) const
const BlockIndices & global() const
const BlockIndices & local() const
void print(OS &stream) const
void initialize_local(const DoFHandler< dim, spacedim > &)
Initialize block structure on cells and compute renumbering between cell dofs and block cell dofs.
void initialize(const DoFHandler< dim, spacedim > &, bool levels_only=false, bool active_only=false)
Fill the object with values describing block structure of the DoFHandler.
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_CXX20_REQUIRES(condition)
#define DEAL_II_NAMESPACE_CLOSE
#define AssertIndexRange(index, range)
std::enable_if_t< std::is_fundamental_v< T >, std::size_t > memory_consumption(const T &t)