16 #ifndef dealii__trilinos_epetra_vector_h 17 #define dealii__trilinos_epetra_vector_h 20 #include <deal.II/base/config.h> 22 #ifdef DEAL_II_WITH_TRILINOS 24 #ifdef DEAL_II_WITH_MPI 26 #include <deal.II/base/index_set.h> 27 #include <deal.II/base/std_cxx11/shared_ptr.h> 28 #include <deal.II/lac/read_write_vector.h> 29 #include <deal.II/lac/vector_space_vector.h> 32 #include "Epetra_FEVector.h" 34 DEAL_II_NAMESPACE_OPEN
39 template <
typename Number>
40 class ReadWriteVector;
42 namespace EpetraWrappers
75 const MPI_Comm &communicator);
84 const MPI_Comm &communicator,
85 const bool omit_zeroing_entries =
false);
104 std_cxx11::shared_ptr<const CommunicationPatternBase> communication_pattern =
105 std_cxx11::shared_ptr<const CommunicationPatternBase> ());
136 virtual void add(
const double a);
155 virtual void sadd(
const double s,
const double a,
180 virtual double l1_norm()
const;
186 virtual double l2_norm()
const;
220 virtual size_type
size()
const;
254 virtual void print(std::ostream &out,
255 const unsigned int precision=3,
256 const bool scientific=
true,
257 const bool across=
true)
const;
284 <<
"An error with error number " << arg1
285 <<
" occurred while calling a Trilinos function");
294 const MPI_Comm &mpi_comm);
299 std_cxx11::shared_ptr<Epetra_FEVector>
vector;
315 DEAL_II_NAMESPACE_CLOSE
virtual double l1_norm() const
static ::ExceptionBase & ExcDifferentParallelPartitioning()
virtual double l2_norm() const
virtual double linfty_norm() const
virtual size_type size() const
virtual Vector & operator+=(const VectorSpaceVector< double > &V)
virtual std::size_t memory_consumption() const
virtual void scale(const VectorSpaceVector< double > &scaling_factors)
virtual double mean_value() const
#define DeclException1(Exception1, type1, outsequence)
void create_epetra_comm_pattern(const IndexSet &source_index_set, const MPI_Comm &mpi_comm)
virtual void print(std::ostream &out, const unsigned int precision=3, const bool scientific=true, const bool across=true) const
#define DeclException0(Exception0)
const Epetra_FEVector & trilinos_vector() const
Vector & operator=(const Vector &V)
virtual double operator*(const VectorSpaceVector< double > &V) const
static ::ExceptionBase & ExcTrilinosError(int arg1)
static ::ExceptionBase & ExcVectorTypeNotCompatible()
void reinit(const IndexSet ¶llel_partitioner, const MPI_Comm &communicator, const bool omit_zeroing_entries=false)
virtual ::IndexSet locally_owned_elements() const
virtual double add_and_dot(const double a, const VectorSpaceVector< double > &V, const VectorSpaceVector< double > &W)
std_cxx11::shared_ptr< Epetra_FEVector > vector
virtual void add(const double a)
MPI_Comm get_mpi_communicator() const
virtual void equ(const double a, const VectorSpaceVector< double > &V)
virtual void sadd(const double s, const double a, const VectorSpaceVector< double > &V)
virtual Vector & operator/=(const double factor)
virtual Vector & operator-=(const VectorSpaceVector< double > &V)
virtual Vector & operator*=(const double factor)
std_cxx11::shared_ptr< const CommunicationPattern > epetra_comm_pattern
::IndexSet source_stored_elements