ENDFOREACH()
IF((TRILINOS_VERSION_MAJOR EQUAL 11 AND
- NOT (TRILINOS_VERSION_MINOR LESS 14))
+ NOT (TRILINOS_VERSION_MINOR LESS 14))
OR
(NOT (TRILINOS_VERSION_MAJOR LESS 12)))
ITEM_MATCHES(_module_found MueLu ${Trilinos_PACKAGE_LIST})
SET(DEAL_II_EXPAND_TRILINOS_BLOCK_SPARSITY_PATTERN "TrilinosWrappers::BlockSparsityPattern")
SET(DEAL_II_EXPAND_TRILINOS_MPI_BLOCKVECTOR "TrilinosWrappers::MPI::BlockVector")
SET(DEAL_II_EXPAND_TRILINOS_MPI_VECTOR "TrilinosWrappers::MPI::Vector")
- SET(DEAL_II_EXPAND_EPETRA_VECTOR "LinearAlgebra::EpetraWrappers::Vector")
+ IF (TRILINOS_WITH_MPI)
+ SET(DEAL_II_EXPAND_EPETRA_VECTOR "LinearAlgebra::EpetraWrappers::Vector")
+ ENDIF()
ENDMACRO()
return V.begin();
}
- template <>
- double *begin(LinearAlgebra::EpetraWrappers::Vector &V)
- {
- return V.trilinos_vector()[0];
- }
-
template <typename VectorType>
const double *begin(const VectorType &V)
{
return V.begin();
}
- template <>
- const double *begin(const LinearAlgebra::EpetraWrappers::Vector &V)
+ template <typename VectorType>
+ double *end(VectorType &V)
{
- return V.trilinos_vector()[0];
+ return V.end();
}
template <typename VectorType>
- double *end(VectorType &V)
+ const double *end(const VectorType &V)
{
return V.end();
}
+#ifdef DEAL_II_WITH_MPI
template <>
- double *end(LinearAlgebra::EpetraWrappers::Vector &V)
+ double *begin(LinearAlgebra::EpetraWrappers::Vector &V)
{
- return V.trilinos_vector()[0]+V.trilinos_vector().MyLength();
+ return V.trilinos_vector()[0];
}
- template <typename VectorType>
- const double *end(const VectorType &V)
+ template <>
+ const double *begin(const LinearAlgebra::EpetraWrappers::Vector &V)
{
- return V.end();
+ return V.trilinos_vector()[0];
+ }
+
+ template <>
+ double *end(LinearAlgebra::EpetraWrappers::Vector &V)
+ {
+ return V.trilinos_vector()[0]+V.trilinos_vector().MyLength();
}
template <>
{
return V.trilinos_vector()[0]+V.trilinos_vector().MyLength();
}
+#endif
}
template void
SparseMatrix::vmult (dealii::LinearAlgebra::distributed::Vector<double> &,
const dealii::LinearAlgebra::distributed::Vector<double> &) const;
+#ifdef DEAL_II_WITH_MPI
template void
SparseMatrix::vmult (dealii::LinearAlgebra::EpetraWrappers::Vector &,
const dealii::LinearAlgebra::EpetraWrappers::Vector &) const;
+#endif
template void
SparseMatrix::Tvmult (VectorBase &,
const VectorBase &) const;
template void
SparseMatrix::Tvmult (dealii::LinearAlgebra::distributed::Vector<double> &,
const dealii::LinearAlgebra::distributed::Vector<double> &) const;
+#ifdef DEAL_II_WITH_MPI
template void
SparseMatrix::Tvmult (dealii::LinearAlgebra::EpetraWrappers::Vector &,
const dealii::LinearAlgebra::EpetraWrappers::Vector &) const;
+#endif
template void
SparseMatrix::vmult_add (VectorBase &,
const VectorBase &) const;
template void
SparseMatrix::vmult_add (dealii::LinearAlgebra::distributed::Vector<double> &,
const dealii::LinearAlgebra::distributed::Vector<double> &) const;
+#ifdef DEAL_II_WITH_MPI
template void
SparseMatrix::vmult_add (dealii::LinearAlgebra::EpetraWrappers::Vector &,
const dealii::LinearAlgebra::EpetraWrappers::Vector &) const;
+#endif
template void
SparseMatrix::Tvmult_add (VectorBase &,
const VectorBase &) const;
template void
SparseMatrix::Tvmult_add (dealii::LinearAlgebra::distributed::Vector<double> &,
const dealii::LinearAlgebra::distributed::Vector<double> &) const;
+#ifdef DEAL_II_WITH_MPI
template void
SparseMatrix::Tvmult_add (dealii::LinearAlgebra::EpetraWrappers::Vector &,
const dealii::LinearAlgebra::EpetraWrappers::Vector &) const;
-
+#endif
}
DEAL_II_NAMESPACE_CLOSE