|
Reference documentation for deal.II version 9.2.0
|
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\)
\(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\)
\(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\)
\(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Go to the documentation of this file.
16 #ifndef dealii_trilinos_parallel_block_vector_h
17 #define dealii_trilinos_parallel_block_vector_h
22 #ifdef DEAL_II_WITH_TRILINOS
29 # include <functional>
35 template <
typename Number>
111 explicit BlockVector(
const std::vector<IndexSet> ¶llel_partitioning,
112 const MPI_Comm &communicator = MPI_COMM_WORLD);
119 BlockVector(
const std::vector<IndexSet> ¶llel_partitioning,
120 const std::vector<IndexSet> &ghost_values,
122 const bool vector_writable =
false);
178 template <
typename Number>
180 operator=(const ::BlockVector<Number> &v);
191 reinit(
const std::vector<IndexSet> ¶llel_partitioning,
192 const MPI_Comm & communicator = MPI_COMM_WORLD,
193 const bool omit_zeroing_entries =
false);
213 reinit(
const std::vector<IndexSet> &partitioning,
214 const std::vector<IndexSet> &ghost_values,
215 const MPI_Comm & communicator = MPI_COMM_WORLD,
216 const bool vector_writable =
false);
299 print(std::ostream & out,
300 const unsigned int precision = 3,
301 const bool scientific =
true,
302 const bool across =
true)
const;
319 const std::vector<IndexSet> ¶llel_partitioning,
322 reinit(parallel_partitioning, communicator,
false);
328 const std::vector<IndexSet> ¶llel_partitioning,
329 const std::vector<IndexSet> &ghost_values,
331 const bool vector_writable)
333 reinit(parallel_partitioning,
369 template <
typename Number>
375 std::vector<size_type> block_sizes(v.n_blocks(), 0);
394 bool ghosted =
block(0).has_ghost_elements();
396 for (
unsigned int i = 0; i < this->
n_blocks(); ++i)
437 namespace LinearOperatorImplementation
450 template <
typename Matrix>
454 bool omit_zeroing_entries)
457 matrix.get_mpi_communicator(),
458 omit_zeroing_entries);
461 template <
typename Matrix>
465 bool omit_zeroing_entries)
468 matrix.get_mpi_communicator(),
469 omit_zeroing_entries);
488 #endif // DEAL_II_WITH_TRILINOS
typename BlockType::value_type value_type
void swap(BlockVector &v)
BaseClass::reference reference
bool has_ghost_elements() const
BaseClass::pointer pointer
BaseClass::const_pointer const_pointer
static ::ExceptionBase & ExcIteratorRangeDoesNotMatchVectorSize()
BaseClass::value_type value_type
typename BlockType::reference reference
typename BlockType::const_reference const_reference
void swap(BlockVector &u, BlockVector &v)
static void reinit_range_vector(const Matrix &matrix, TrilinosWrappers::MPI::BlockVector &v, bool omit_zeroing_entries)
BlockVector< double > BlockVector
void import_nonlocal_data_for_fe(const TrilinosWrappers::BlockSparseMatrix &m, const BlockVector &v)
std::vector< MPI::Vector > components
void reinit(MatrixBlock< MatrixType > &v, const BlockSparsityPattern &p)
static void reinit_domain_vector(const Matrix &matrix, TrilinosWrappers::MPI::BlockVector &v, bool omit_zeroing_entries)
#define DEAL_II_NAMESPACE_OPEN
unsigned int n_blocks() const
@ matrix
Contents is actually a matrix.
static ::ExceptionBase & ExcNonMatchingBlockVectors()
const value_type * const_pointer
types::global_dof_index size_type
void print(std::ostream &out, const unsigned int precision=3, const bool scientific=true, const bool across=true) const
::internal::BlockVectorIterators::Iterator< BlockVectorBase, true > const_iterator
BlockIndices block_indices
BaseClass::size_type size_type
static ::ExceptionBase & ExcInternalError()
::internal::BlockVectorIterators::Iterator< BlockVectorBase, false > iterator
#define Assert(cond, exc)
void reinit(const unsigned int n_blocks, const size_type n_elements_per_block)
void reinit(const std::vector< IndexSet > ¶llel_partitioning, const MPI_Comm &communicator=MPI_COMM_WORLD, const bool omit_zeroing_entries=false)
#define DeclException0(Exception0)
BaseClass::BlockType BlockType
~BlockVector() override=default
BaseClass::const_reference const_reference
#define DEAL_II_NAMESPACE_CLOSE
BlockType & block(const unsigned int i)
BlockVector & operator=(const value_type s)