DEAL_II_NAMESPACE_OPEN
+namespace TrilinosWrappers
+{
+ class SparseMatrix;
+ namespace MPI
+ {
+ class SparseMatrix;
+ class Vector;
+ } // namespace MPI
+} // namespace TrilinosWrappers
+namespace PETScWrappers
+{
+ namespace MPI
+ {
+ class SparseMatrix;
+ class Vector;
+ } // namespace MPI
+} // namespace PETScWrappers
+
namespace
{
/**
# define InstantiateMUMPSMatVec(VECTOR) \
template void SparseDirectMUMPS::vmult(VECTOR &, const VECTOR &) const; \
template void SparseDirectMUMPS::Tvmult(VECTOR &, const VECTOR &) const;
-
+# ifdef DEAL_II_WITH_TRILINOS
InstantiateMUMPSMatVec(TrilinosWrappers::MPI::Vector)
+# endif
+# ifdef DEAL_II_WITH_PETSC
InstantiateMUMPSMatVec(PETScWrappers::MPI::Vector)
+# endif
InstantiateMUMPSMatVec(Vector<double>)
# define InstantiateMUMPS(MATRIX) \
InstantiateMUMPS(SparseMatrix<double>)
InstantiateMUMPS(SparseMatrix<float>)
+# ifdef DEAL_II_WITH_TRILINOS
InstantiateMUMPS(TrilinosWrappers::SparseMatrix)
+# endif
+# ifdef DEAL_II_WITH_PETSC
InstantiateMUMPS(PETScWrappers::SparseMatrix)
InstantiateMUMPS(PETScWrappers::MPI::SparseMatrix)
+# endif
// InstantiateMUMPS(SparseMatrixEZ<double>)
// InstantiateMUMPS(SparseMatrixEZ<float>)
InstantiateMUMPS(BlockSparseMatrix<double>)