17 #ifndef __deal2__block_matrix_h
18 #define __deal2__block_matrix_h
21 #include <deal.II/base/config.h>
23 #include <deal.II/base/smartpointer.h>
24 #include <deal.II/lac/block_vector.h>
46 template <
class MATRIX>
56 const unsigned int n_blocks);
61 template <
typename number1,
typename number2>
68 template <
typename number1,
typename number2>
86 template <
class MATRIX>
88 const unsigned int num_blocks)
90 num_blocks (num_blocks),
95 template <
class MATRIX>
96 template <
typename number1,
typename number2>
106 for (
unsigned int i=0; i<num_blocks; ++i)
111 template <
class MATRIX>
112 template <
typename number1,
typename number2>
122 for (
unsigned int i=0; i<num_blocks; ++i)
127 DEAL_II_NAMESPACE_CLOSE
BlockDiagonalMatrix(const MATRIX &M, const unsigned int n_blocks)
void Tvmult(BlockVector< number1 > &dst, const BlockVector< number2 > &src) const
void vmult(BlockVector< number1 > &dst, const BlockVector< number2 > &src) const
#define Assert(cond, exc)
BlockType & block(const unsigned int i)
SmartPointer< const MATRIX, BlockDiagonalMatrix< MATRIX > > matrix
unsigned int n_blocks() const
::ExceptionBase & ExcDimensionMismatch(std::size_t arg1, std::size_t arg2)