OutVector &u1_interpolated);
/**
- * Gives the interpolation of the
- * @p dof1-function @p u1 to a
- * @p dof2-function, and
- * interpolates this to a second
- * @p dof1-function named
- * @p u1_interpolated.
- * @p constraints1 and
- * @p constraints2 are the
- * hanging node constraints
- * corresponding to @p dof1 and
- * @p dof2, respectively. These
- * objects are particular
- * important when continuous
- * elements on grids with hanging
- * nodes (locally refined grids)
- * are involved.
- *
- * Furthermore note, that for the
- * specific case when the finite
- * element space corresponding to
- * @p dof1 is a subset of the
- * finite element space
- * corresponding to @p dof2, this
- * function is simply an identity
- * mapping.
+ * Gives the interpolation of the @p dof1-function @p u1 to a @p
+ * dof2-function, and interpolates this to a second @p dof1-function named
+ * @p u1_interpolated. @p constraints1 and @p constraints2 are the hanging
+ * node constraints corresponding to @p dof1 and @p dof2,
+ * respectively. These objects are particular important when continuous
+ * elements on grids with hanging nodes (locally refined grids) are
+ * involved.
+ *
+ * Furthermore note, that for the specific case when the finite element
+ * space corresponding to @p dof1 is a subset of the finite element space
+ * corresponding to @p dof2, this function is simply an identity mapping.
*/
template <int dim, class InVector, class OutVector, int spacedim>
- void back_interpolate (const DoFHandler<dim,spacedim> &dof1,
+ void back_interpolate (const DoFHandler<dim,spacedim> &dof1,
const ConstraintMatrix &constraints1,
const InVector &u1,
- const DoFHandler<dim,spacedim> &dof2,
+ const DoFHandler<dim,spacedim> &dof2,
const ConstraintMatrix &constraints2,
OutVector &u1_interpolated);
OutVector &z1_difference);
/**
- * Gives $(Id-I_h)z_1$ for a given
- * @p dof1-function $z_1$, where $I_h$
- * is the interpolation from @p fe1
- * to @p fe2. The result $(Id-I_h)z_1$ is
- * written into @p z1_difference.
- * @p constraints1 and
- * @p constraints2 are the
- * hanging node constraints
- * corresponding to @p dof1 and
- * @p dof2, respectively. These
- * objects are particular
- * important when continuous
- * elements on grids with hanging
- * nodes (locally refined grids)
- * are involved.
+ * Gives $(Id-I_h)z_1$ for a given @p dof1-function $z_1$, where $I_h$ is
+ * the interpolation from @p fe1 to @p fe2. The result $(Id-I_h)z_1$ is
+ * written into @p z1_difference. @p constraints1 and @p constraints2 are
+ * the hanging node constraints corresponding to @p dof1 and @p dof2,
+ * respectively. These objects are particular important when continuous
+ * elements on grids with hanging nodes (locally refined grids) are
+ * involved.
+ *
+ * For parallel computations with PETSc, supply @p z1 with ghost elements
+ * and @p z1_difference without ghost elements.
*/
template <int dim, class InVector, class OutVector, int spacedim>
- void interpolation_difference(const DoFHandler<dim,spacedim> &dof1,
+ void interpolation_difference(const DoFHandler<dim,spacedim> &dof1,
const ConstraintMatrix &constraints1,
const InVector &z1,
- const DoFHandler<dim,spacedim> &dof2,
+ const DoFHandler<dim,spacedim> &dof2,
const ConstraintMatrix &constraints2,
OutVector &z1_difference);
OutVector &z2);
/**
- * Gives the patchwise
- * extrapolation of a @p dof1
- * function @p z1 to a @p dof2
- * function @p z2. @p dof1 and
- * @p dof2 need to be DoFHandler
- * based on the same triangulation.
- * @p constraints is a hanging
- * node constraints object
- * corresponding to
- * @p dof2. This object is
- * particular important when
- * interpolating onto continuous
- * elements on grids with hanging
- * nodes (locally refined grids).
- *
- * Otherwise, the same holds as
- * for the other @p extrapolate
- * function.
+ * Gives the patchwise extrapolation of a @p dof1 function @p z1 to a @p
+ * dof2 function @p z2. @p dof1 and @p dof2 need to be DoFHandler based on
+ * the same triangulation. @p constraints is a hanging node constraints
+ * object corresponding to @p dof2. This object is particular important when
+ * interpolating onto continuous elements on grids with hanging nodes
+ * (locally refined grids).
+ *
+ * Otherwise, the same holds as for the other @p extrapolate function.
*/
template <int dim, class InVector, class OutVector, int spacedim>
- void extrapolate (const DoFHandler<dim,spacedim> &dof1,
+ void extrapolate (const DoFHandler<dim,spacedim> &dof1,
const InVector &z1,
- const DoFHandler<dim,spacedim> &dof2,
+ const DoFHandler<dim,spacedim> &dof2,
const ConstraintMatrix &constraints,
OutVector &z2);
//@}