16 #ifndef dealii__petsc_parallel_vector_h 17 #define dealii__petsc_parallel_vector_h 20 #include <deal.II/base/config.h> 22 #ifdef DEAL_II_WITH_PETSC 24 # include <deal.II/base/subscriptor.h> 25 # include <deal.II/lac/exceptions.h> 26 # include <deal.II/lac/vector.h> 27 # include <deal.II/lac/petsc_vector_base.h> 28 # include <deal.II/base/index_set.h> 30 DEAL_II_NAMESPACE_OPEN
35 template <
typename>
class Vector;
219 template <
typename Number>
221 const ::Vector<Number> &v,
311 template <
typename number>
333 const bool omit_zeroing_entries =
false);
345 const bool omit_zeroing_entries =
false);
385 void print (std::ostream &out,
386 const unsigned int precision = 3,
387 const bool scientific =
true,
388 const bool across =
true)
const;
448 template <
typename number>
450 const ::Vector<number> &v,
479 internal::VectorReference::ExcWrongMode (VectorOperation::unknown,
482 internal::VectorReference::ExcWrongMode (VectorOperation::unknown,
494 #if DEAL_II_PETSC_VERSION_LT(3,2,0) 495 ierr = VecDestroy (
vector);
497 ierr = VecDestroy (&
vector);
502 ierr = VecCreateSeq (PETSC_COMM_SELF, n, &
vector);
526 ierr = VecGhostUpdateBegin(
vector, INSERT_VALUES, SCATTER_FORWARD);
528 ierr = VecGhostUpdateEnd(
vector, INSERT_VALUES, SCATTER_FORWARD);
536 template <
typename number>
542 ExcDimensionMismatch (
size(), v.size()));
573 compress (::VectorOperation::insert);
593 DEAL_II_NAMESPACE_CLOSE
595 #endif // DEAL_II_WITH_PETSC
types::global_dof_index size_type
Vector & operator=(const Vector &v)
#define AssertThrow(cond, exc)
VectorBase & operator=(const PetscScalar s)
size_type local_size() const
void compress(const VectorOperation::values operation)
unsigned int global_dof_index
VectorOperation::values last_action
#define Assert(cond, exc)
static const bool supports_distributed_data
const MPI_Comm & get_mpi_communicator() const
bool has_ghost_elements() const
void reinit(const MPI_Comm &communicator, const size_type N, const size_type local_size, const bool omit_zeroing_entries=false)
IndexSet locally_owned_elements() const
virtual void create_vector(const size_type n, const size_type local_size)
void print(std::ostream &out, const unsigned int precision=3, const bool scientific=true, const bool across=true) const
void swap(Vector &u, Vector &v)