#include <lac/householder.h>
#include <lac/vector.h>
#include <lac/block_vector.h>
+#include <lac/trilinos_vector.h>
+#include <lac/trilinos_block_vector.h>
#include <grid/tria.h>
#include <grid/tria_iterator.h>
#include <grid/grid_generator.h>
Vector<float> &);
+#ifdef DEAL_II_USE_TRILINOS
+
+template
+void FETools::interpolate<deal_II_dimension>
+(const DoFHandler<deal_II_dimension> &, const TrilinosWrappers::Vector &,
+ const DoFHandler<deal_II_dimension> &, TrilinosWrappers::Vector &);
+template
+void FETools::interpolate<deal_II_dimension>
+(const DoFHandler<deal_II_dimension> &, const TrilinosWrappers::Vector &,
+ const DoFHandler<deal_II_dimension> &, const ConstraintMatrix &,
+ TrilinosWrappers::Vector &);
+template
+void FETools::back_interpolate<deal_II_dimension>
+(const DoFHandler<deal_II_dimension> &, const TrilinosWrappers::Vector &,
+ const FiniteElement<deal_II_dimension> &, TrilinosWrappers::Vector &);
+template
+void FETools::back_interpolate<deal_II_dimension>
+(const DoFHandler<deal_II_dimension> &, const ConstraintMatrix &,
+ const TrilinosWrappers::Vector &,
+ const DoFHandler<deal_II_dimension> &, const ConstraintMatrix &,
+ TrilinosWrappers::Vector &);
+template
+void FETools::interpolation_difference<deal_II_dimension>
+(const DoFHandler<deal_II_dimension> &, const TrilinosWrappers::Vector &,
+ const FiniteElement<deal_II_dimension> &, TrilinosWrappers::Vector &);
+template
+void FETools::interpolation_difference<deal_II_dimension>
+(const DoFHandler<deal_II_dimension> &, const ConstraintMatrix &,
+ const TrilinosWrappers::Vector &,
+ const DoFHandler<deal_II_dimension> &, const ConstraintMatrix &,
+ TrilinosWrappers::Vector &);
+template
+void FETools::project_dg<deal_II_dimension>
+(const DoFHandler<deal_II_dimension> &, const TrilinosWrappers::Vector &,
+ const DoFHandler<deal_II_dimension> &, TrilinosWrappers::Vector &);
+template
+void FETools::extrapolate<deal_II_dimension>
+(const DoFHandler<deal_II_dimension> &, const TrilinosWrappers::Vector &,
+ const DoFHandler<deal_II_dimension> &, TrilinosWrappers::Vector &);
+template
+void FETools::extrapolate<deal_II_dimension>
+(const DoFHandler<deal_II_dimension> &, const TrilinosWrappers::Vector &,
+ const DoFHandler<deal_II_dimension> &, const ConstraintMatrix &,
+ TrilinosWrappers::Vector &);
+
+#endif
+
+
template
void FETools::interpolate<deal_II_dimension>
(const DoFHandler<deal_II_dimension> &, const BlockVector<double> &,
const DoFHandler<deal_II_dimension> &, const ConstraintMatrix &,
Vector<float> &);
+
+#ifdef DEAL_II_USE_TRILINOS
+
+template
+void FETools::interpolate<deal_II_dimension>
+(const DoFHandler<deal_II_dimension> &, const TrilinosWrappers::BlockVector &,
+ const DoFHandler<deal_II_dimension> &, TrilinosWrappers::BlockVector &);
+template
+void FETools::interpolate<deal_II_dimension>
+(const DoFHandler<deal_II_dimension> &, const TrilinosWrappers::BlockVector &,
+ const DoFHandler<deal_II_dimension> &, const ConstraintMatrix &,
+ TrilinosWrappers::BlockVector &);
+template
+void FETools::back_interpolate<deal_II_dimension>
+(const DoFHandler<deal_II_dimension> &, const TrilinosWrappers::BlockVector &,
+ const FiniteElement<deal_II_dimension> &, TrilinosWrappers::BlockVector &);
+template
+void FETools::back_interpolate<deal_II_dimension>
+(const DoFHandler<deal_II_dimension> &, const ConstraintMatrix &,
+ const TrilinosWrappers::BlockVector &,
+ const DoFHandler<deal_II_dimension> &, const ConstraintMatrix &,
+ TrilinosWrappers::BlockVector &);
+template
+void FETools::interpolation_difference<deal_II_dimension>
+(const DoFHandler<deal_II_dimension> &, const TrilinosWrappers::BlockVector &,
+ const FiniteElement<deal_II_dimension> &, TrilinosWrappers::BlockVector &);
+template
+void FETools::interpolation_difference<deal_II_dimension>
+(const DoFHandler<deal_II_dimension> &, const ConstraintMatrix &,
+ const TrilinosWrappers::BlockVector &,
+ const DoFHandler<deal_II_dimension> &, const ConstraintMatrix &,
+ TrilinosWrappers::BlockVector &);
+template
+void FETools::project_dg<deal_II_dimension>
+(const DoFHandler<deal_II_dimension> &, const TrilinosWrappers::BlockVector &,
+ const DoFHandler<deal_II_dimension> &, TrilinosWrappers::BlockVector &);
+template
+void FETools::extrapolate<deal_II_dimension>
+(const DoFHandler<deal_II_dimension> &, const TrilinosWrappers::BlockVector &,
+ const DoFHandler<deal_II_dimension> &, TrilinosWrappers::BlockVector &);
+template
+void FETools::extrapolate<deal_II_dimension>
+(const DoFHandler<deal_II_dimension> &, const TrilinosWrappers::BlockVector &,
+ const DoFHandler<deal_II_dimension> &, const ConstraintMatrix &,
+ TrilinosWrappers::BlockVector &);
+
+#endif
+
+
template
void FETools::interpolate<deal_II_dimension>
(const hp::DoFHandler<deal_II_dimension> &, const Vector<double> &,
#include <lac/vector.h>
#include <lac/petsc_vector.h>
+#include <lac/trilinos_vector.h>
#include <grid/grid_refinement.h>
#include <grid/tria_accessor.h>
return m;
}
#endif
+
+
+#ifdef DEAL_II_USE_TRILINOS
+ TrilinosScalar
+ max_element (const TrilinosWrappers::Vector &criteria)
+ {
+ TrilinosScalar m = 0;
+ criteria.vector->MaxValue(&m);
+ return m;
+ }
+
+
+ TrilinosScalar
+ min_element (const TrilinosWrappers::Vector &criteria)
+ {
+ TrilinosScalar m = 0;
+ criteria.vector->MinValue(&m);
+ return m;
+ }
+#endif
}
const PETScWrappers::Vector &);
#endif
+
+#ifdef DEAL_II_USE_TRILINOS
+template
+void
+GridRefinement::
+refine (Triangulation<deal_II_dimension> &,
+ const TrilinosWrappers::Vector &,
+ const double);
+
+template
+void
+GridRefinement::
+coarsen (Triangulation<deal_II_dimension> &,
+ const TrilinosWrappers::Vector &,
+ const double);
+
+
+template
+void
+GridRefinement::
+refine_and_coarsen_fixed_number (Triangulation<deal_II_dimension> &,
+ const TrilinosWrappers::Vector &,
+ const double,
+ const double,
+ const unsigned int);
+
+template
+void
+GridRefinement::
+refine_and_coarsen_fixed_fraction (Triangulation<deal_II_dimension> &,
+ const TrilinosWrappers::Vector &,
+ const double,
+ const double,
+ const unsigned int);
+
+template
+void
+GridRefinement::
+refine_and_coarsen_optimize (Triangulation<deal_II_dimension> &,
+ const TrilinosWrappers::Vector &);
+#endif
+
DEAL_II_NAMESPACE_CLOSE