16 #ifndef dealii_trilinos_epetra_vector_h
17 #define dealii_trilinos_epetra_vector_h
22 #ifdef DEAL_II_WITH_TRILINOS
33 # include <Epetra_FEVector.h>
42 template <
typename Number>
43 class ReadWriteVector;
52 namespace EpetraWrappers
87 const MPI_Comm communicator);
97 const MPI_Comm communicator,
98 const bool omit_zeroing_entries =
false);
105 reinit(
const Vector &
V,
const bool omit_zeroing_entries =
false);
142 const std::shared_ptr<const Utilities::MPI::CommunicationPatternBase>
143 &communication_pattern = {});
153 const std::shared_ptr<const Utilities::MPI::CommunicationPatternBase>
154 &communication_pattern = {})
215 sadd(
const double s,
const double a,
const Vector &
V);
301 size()
const override;
347 const Epetra_FEVector &
361 print(std::ostream &out,
362 const unsigned int precision = 3,
363 const bool scientific =
true,
364 const bool across =
true)
const;
392 <<
"An error with error number " << arg1
393 <<
" occurred while calling a Trilinos function");
403 const MPI_Comm mpi_comm);
bool has_ghost_elements() const
Vector & operator-=(const Vector &V)
void equ(const double a, const Vector &V)
Vector & operator=(const Vector &V)
MPI_Comm get_mpi_communicator() const
void compress(const VectorOperation::values operation)
void print(std::ostream &out, const unsigned int precision=3, const bool scientific=true, const bool across=true) const
std::unique_ptr< Epetra_FEVector > vector
const Epetra_FEVector & trilinos_vector() const
void import_elements(const ReadWriteVector< double > &V, VectorOperation::values operation, const std::shared_ptr< const Utilities::MPI::CommunicationPatternBase > &communication_pattern={})
void sadd(const double s, const double a, const Vector &V)
Vector & operator/=(const double factor)
virtual size_type size() const override
types::global_dof_index size_type
size_type locally_owned_size() const
::IndexSet locally_owned_elements() const
Vector & operator+=(const Vector &V)
virtual void extract_subvector_to(const ArrayView< const types::global_dof_index > &indices, ArrayView< double > &elements) const override
void scale(const Vector &scaling_factors)
void create_epetra_comm_pattern(const IndexSet &source_index_set, const MPI_Comm mpi_comm)
double mean_value() const
Vector & operator*=(const double factor)
::IndexSet source_stored_elements
double operator*(const Vector &V) const
std::shared_ptr< const CommunicationPattern > epetra_comm_pattern
std::size_t memory_consumption() const
void reinit(const IndexSet ¶llel_partitioner, const MPI_Comm communicator, const bool omit_zeroing_entries=false)
double linfty_norm() const
double add_and_dot(const double a, const Vector &V, const Vector &W)
#define DEAL_II_DEPRECATED
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define DeclException0(Exception0)
static ::ExceptionBase & ExcVectorTypeNotCompatible()
static ::ExceptionBase & ExcTrilinosError(int arg1)
static ::ExceptionBase & ExcDifferentParallelPartitioning()
#define DeclException1(Exception1, type1, outsequence)
SymmetricTensor< 2, dim, Number > b(const Tensor< 2, dim, Number > &F)
unsigned int global_dof_index