16 #include <deal.II/lac/trilinos_parallel_block_vector.h> 18 #ifdef DEAL_II_WITH_TRILINOS 20 # include <deal.II/lac/trilinos_block_sparse_matrix.h> 21 # include <deal.II/lac/trilinos_index_access.h> 24 DEAL_II_NAMESPACE_OPEN
50 for (size_type i = 0; i < this->
n_blocks(); ++i)
71 const MPI_Comm & communicator,
72 const bool omit_zeroing_entries)
74 const size_type no_blocks = parallel_partitioning.size();
75 std::vector<size_type> block_sizes(no_blocks);
77 for (size_type i = 0; i < no_blocks; ++i)
79 block_sizes[i] = parallel_partitioning[i].size();
86 for (size_type i = 0; i <
n_blocks(); ++i)
89 omit_zeroing_entries);
96 const std::vector<IndexSet> &ghost_values,
97 const MPI_Comm & communicator,
98 const bool vector_writable)
100 const size_type no_blocks = parallel_partitioning.size();
101 std::vector<size_type> block_sizes(no_blocks);
103 for (size_type i = 0; i < no_blocks; ++i)
105 block_sizes[i] = parallel_partitioning[i].size();
112 for (size_type i = 0; i <
n_blocks(); ++i)
129 for (size_type i = 0; i <
n_blocks(); ++i)
140 std::vector<size_type> block_sizes(num_blocks, 0);
145 for (size_type i = 0; i < this->
n_blocks(); ++i)
169 for (size_type i = 0; i < this->
n_blocks(); ++i)
179 const unsigned int precision,
180 const bool scientific,
181 const bool across)
const 183 for (size_type i = 0; i < this->
n_blocks(); ++i)
186 out <<
'C' << i <<
':';
188 out <<
"Component " << i << std::endl;
189 this->
components[i].print(out, precision, scientific, across);
197 DEAL_II_NAMESPACE_CLOSE
void reinit(const std::vector< IndexSet > ¶llel_partitioning, const MPI_Comm &communicator=MPI_COMM_WORLD, const bool omit_zeroing_entries=false)
BlockIndices block_indices
unsigned int n_block_cols() const
void swap(BlockVector &u, BlockVector &v)
const BlockIndices & get_block_indices() const
#define Assert(cond, exc)
static ::ExceptionBase & ExcDimensionMismatch(std::size_t arg1, std::size_t arg2)
void reinit(const unsigned int n_blocks, const size_type n_elements_per_block)
std::vector< MPI::Vector > components
BlockVector & operator=(const value_type s)
unsigned int n_blocks() const
void import_nonlocal_data_for_fe(const TrilinosWrappers::BlockSparseMatrix &m, const BlockVector &v)
BlockType & block(const unsigned int row, const unsigned int column)
unsigned int n_block_rows() const
BlockType & block(const unsigned int i)
BlockVectorBase & operator=(const value_type s)
void print(std::ostream &out, const unsigned int precision=3, const bool scientific=true, const bool across=true) const
BaseClass::value_type value_type