17 #ifndef __deal2__block_indices_h
18 #define __deal2__block_indices_h
21 #include <deal.II/base/config.h>
22 #include <deal.II/base/subscriptor.h>
24 #include <deal.II/base/logstream.h>
28 DEAL_II_NAMESPACE_OPEN
102 void reinit (
const std::vector<size_type> &n);
119 unsigned int size ()
const;
160 std::pair<unsigned int,size_type>
235 const unsigned int n = bi.
size();
241 for (
unsigned int i=1; i<n; ++i)
269 template <
typename MatrixType>
289 template <
typename T>
298 template <
typename T>
307 template <
typename T>
333 template <
typename MatrixType>
358 n_blocks =
static_cast<unsigned int>(n.size());
378 const unsigned int n_blocks,
382 start_indices(n_blocks+1)
393 n_blocks(static_cast<unsigned
int>(n.size())),
394 start_indices(n.size()+1)
411 std::pair<unsigned int,BlockIndices::size_type>
421 return std::pair<size_type,size_type>(block,
522 return (
sizeof(*
this) +
548 DEAL_II_NAMESPACE_CLOSE
bool operator==(const BlockIndices &b) const
#define AssertDimension(dim1, dim2)
Auxiliary class aiding in the handling of block structures like in BlockVector or FESystem...
std::size_t memory_consumption() const
static yes_type check_for_block_matrix(const BlockMatrixBase< T > *)
size_type block_start(const unsigned int i) const
void swap(BlockIndices &u, BlockIndices &v)
unsigned int global_dof_index
#define Assert(cond, exc)
void reinit(const unsigned int n_blocks, const size_type n_elements_per_block)
types::global_dof_index size_type
size_type total_size() const
::ExceptionBase & ExcIndexRange(int arg1, int arg2, int arg3)
std::pair< unsigned int, size_type > global_to_local(const size_type i) const
std::ostream & operator<<(std::ostream &out, const SymmetricTensor< 2, dim, Number > &t)
size_type block_size(const unsigned int i) const
std::vector< size_type > start_indices
BlockIndices & operator=(const BlockIndices &b)
void push_back(const size_type size)
void swap(BlockIndices &b)
unsigned int size() const
::ExceptionBase & ExcDimensionMismatch(std::size_t arg1, std::size_t arg2)
size_type local_to_global(const unsigned int block, const size_type index) const