16 #ifndef dealii_block_vector_h 17 #define dealii_block_vector_h 37 # ifdef DEAL_II_WITH_TRILINOS 70 template <
typename Number>
135 template <typename OtherNumber>
138 #ifdef DEAL_II_WITH_TRILINOS 150 BlockVector(
const std::vector<size_type> &block_sizes);
167 template <
typename InputIterator>
168 BlockVector(
const std::vector<size_type> &block_sizes,
169 const InputIterator
first,
170 const InputIterator
end);
225 template <
class Number2>
235 #ifdef DEAL_II_WITH_TRILINOS 259 const bool omit_zeroing_entries =
false);
278 reinit(
const std::vector<size_type> &block_sizes,
279 const bool omit_zeroing_entries =
false);
292 const bool omit_zeroing_entries =
false);
307 template <
typename Number2>
310 const bool omit_zeroing_entries =
false);
316 template <
class BlockVector2>
318 scale(
const BlockVector2 &v);
338 print(std::ostream & out,
339 const unsigned int precision = 3,
340 const bool scientific =
true,
341 const bool across =
true)
const;
349 block_write(std::ostream &out)
const;
363 block_read(std::istream &in);
384 template <
typename Number>
385 template <
typename InputIterator>
387 const InputIterator
first,
388 const InputIterator
end)
394 reinit(block_sizes,
true);
395 InputIterator start =
first;
398 InputIterator end = start;
408 template <
typename Number>
420 template <
typename Number>
431 template <
typename Number>
441 template <
typename Number>
442 template <
typename Number2>
451 template <
typename Number>
461 template <
typename Number>
470 template <
typename Number>
471 template <
class BlockVector2>
489 template <
typename Number>
499 namespace LinearOperatorImplementation
508 template <
typename number>
512 template <
typename Matrix>
516 bool omit_zeroing_entries)
518 v.
reinit(matrix.get_row_indices(), omit_zeroing_entries);
521 template <
typename Matrix>
525 bool omit_zeroing_entries)
527 v.
reinit(matrix.get_column_indices(), omit_zeroing_entries);
540 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