16 #ifndef dealii_block_vector_h 17 #define dealii_block_vector_h 37 # ifdef DEAL_II_WITH_TRILINOS 69 template <
typename Number>
134 template <typename OtherNumber>
137 #ifdef DEAL_II_WITH_TRILINOS 149 BlockVector(
const std::vector<size_type> &block_sizes);
166 template <
typename InputIterator>
167 BlockVector(
const std::vector<size_type> &block_sizes,
168 const InputIterator
first,
169 const InputIterator
end);
224 template <
class Number2>
234 #ifdef DEAL_II_WITH_TRILINOS 258 const bool omit_zeroing_entries =
false);
277 reinit(
const std::vector<size_type> &block_sizes,
278 const bool omit_zeroing_entries =
false);
291 const bool omit_zeroing_entries =
false);
306 template <
typename Number2>
309 const bool omit_zeroing_entries =
false);
315 template <
class BlockVector2>
317 scale(
const BlockVector2 &v);
337 print(std::ostream & out,
338 const unsigned int precision = 3,
339 const bool scientific =
true,
340 const bool across =
true)
const;
348 block_write(std::ostream &out)
const;
362 block_read(std::istream &in);
383 template <
typename Number>
384 template <
typename InputIterator>
386 const InputIterator
first,
387 const InputIterator
end)
393 reinit(block_sizes,
true);
394 InputIterator start =
first;
397 InputIterator end = start;
407 template <
typename Number>
419 template <
typename Number>
430 template <
typename Number>
440 template <
typename Number>
441 template <
typename Number2>
450 template <
typename Number>
460 template <
typename Number>
469 template <
typename Number>
470 template <
class BlockVector2>
487 template <
typename Number>
497 namespace LinearOperatorImplementation
506 template <
typename number>
510 template <
typename Matrix>
514 bool omit_zeroing_entries)
516 v.
reinit(matrix.get_row_indices(), omit_zeroing_entries);
519 template <
typename Matrix>
523 bool omit_zeroing_entries)
525 v.
reinit(matrix.get_column_indices(), omit_zeroing_entries);
536 template <
typename Number>
typename BaseClass::real_type real_type
Contents is actually a matrix.
void compress(::VectorOperation::values operation)
typename BaseClass::BlockType BlockType
static ::ExceptionBase & ExcIteratorRangeDoesNotMatchVectorSize()
types::global_dof_index size_type
::internal::BlockVectorIterators::Iterator< BlockVectorBase, true > const_iterator
~BlockVector() override=default
void reinit(const std::vector< IndexSet > ¶llel_partitioning, const MPI_Comm &communicator=MPI_COMM_WORLD, const bool omit_zeroing_entries=false)
typename BaseClass::const_pointer const_pointer
void scale(const BlockVector2 &v)
static void reinit_domain_vector(const Matrix &matrix, BlockVector< number > &v, bool omit_zeroing_entries)
BlockIndices block_indices
typename BaseClass::iterator iterator
::internal::BlockVectorIterators::Iterator< BlockVectorBase, false > iterator
#define Assert(cond, exc)
typename BaseClass::const_reference const_reference
#define DeclException0(Exception0)
#define DEAL_II_NAMESPACE_CLOSE
void reinit(const unsigned int n_blocks, const size_type block_size=0, const bool omit_zeroing_entries=false)
std::vector< MPI::Vector > components
typename BaseClass::reference reference
SymmetricTensor< 2, dim, Number > b(const Tensor< 2, dim, Number > &F)
void swap(BlockVector< Number > &v)
BlockVector & operator=(const value_type s)
static void reinit_range_vector(const Matrix &matrix, BlockVector< number > &v, bool omit_zeroing_entries)
unsigned int n_blocks() const
void advance(std::tuple< I1, I2 > &t, const unsigned int n)
bool has_ghost_elements() const
typename BaseClass::pointer pointer
typename BlockType::value_type value_type
#define DEAL_II_NAMESPACE_OPEN
typename BlockType::real_type real_type
typename BlockType::const_reference const_reference
void swap(BlockVector &v)
typename BaseClass::const_iterator const_iterator
BlockType & block(const unsigned int i)
BlockVectorBase & operator=(const value_type s)
void copy(const T *begin, const T *end, U *dest)
#define AssertIsFinite(number)
void print(std::ostream &out, const unsigned int precision=3, const bool scientific=true, const bool across=true) const
typename BaseClass::size_type size_type
typename BlockType::reference reference
const value_type * const_pointer
typename BaseClass::value_type value_type