* course Q1 on each cell.
*
* For this case (continuous elements on grids with hanging nodes), please
- * use the @p interpolate function with an additional @p ConstraintMatrix
+ * use the @p interpolate() function with an additional ConstraintMatrix
* argument, see below, or make the field conforming yourself by calling the
* @p distribute function of your hanging node constraints object.
*/
* interpolation. The same is true if @p fe1 is a continuous and @p fe2 is a
* discontinuous finite element. For the case that @p fe1 is a discontinuous
* and @p fe2 is a continuous finite element there is no point interpolation
- * defined at the discontinuities. Therefore the meanvalue is taken at the
- * DoF values on the discontinuities.
+ * defined at the discontinuities. Therefore the mean value is taken at the
+ * DoF values at the discontinuities.
*/
template <int dim, int spacedim,
template <int, int> class DH1,
//---------------------------------------------------------------------------
+for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS; Vector : SERIAL_VECTORS)
+ {
+ namespace FETools
+ \{
+#if deal_II_dimension <= deal_II_space_dimension
+ template
+ void interpolate<deal_II_dimension,deal_II_space_dimension>
+ (const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, const Vector &,
+ const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, Vector &);
+
+ template
+ void interpolate<deal_II_dimension,deal_II_space_dimension>
+ (const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, const Vector &,
+ const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, const ConstraintMatrix &,
+ Vector &);
+#endif
+ \}
+ }
+
for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS)
{
namespace FETools
template
void compute_embedding_matrices<deal_II_dimension, double, deal_II_space_dimension>
(const FiniteElement<deal_II_dimension,deal_II_space_dimension> &,
- std::vector<std::vector<FullMatrix<double> > >&,bool);
-
- template
- void interpolate<deal_II_dimension,deal_II_space_dimension>
- (const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, const Vector<double> &,
- const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, Vector<double> &);
-
- template
- void interpolate<deal_II_dimension,deal_II_space_dimension>
- (const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, const Vector<double> &,
- const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, const ConstraintMatrix &,
- Vector<double> &);
-
- template
- void interpolate<deal_II_dimension,deal_II_space_dimension>
- (const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, const Vector<float> &,
- const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, Vector<float> &);
- template
-
- void interpolate<deal_II_dimension,deal_II_space_dimension>
- (const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, const Vector<float> &,
- const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, const ConstraintMatrix &,
- Vector<float> &);
-
-
- template
- void interpolate<deal_II_dimension,deal_II_space_dimension>
- (const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, const BlockVector<double> &,
- const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, BlockVector<double> &);
-
- template
- void interpolate<deal_II_dimension,deal_II_space_dimension>
- (const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, const BlockVector<double> &,
- const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, const ConstraintMatrix &,
- BlockVector<double> &);
-
- template
- void interpolate<deal_II_dimension,deal_II_space_dimension>
- (const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, const BlockVector<float> &,
- const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, BlockVector<float> &);
-
- template
- void interpolate<deal_II_dimension,deal_II_space_dimension>
- (const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, const BlockVector<float> &,
- const DoFHandler<deal_II_dimension,deal_II_space_dimension> &, const ConstraintMatrix &,
- BlockVector<float> &);
+ std::vector<std::vector<FullMatrix<double> > >&,bool);
#endif
\}
}