From: wolf Date: Fri, 9 Apr 1999 15:06:03 +0000 (+0000) Subject: Switch smooth to pre_smooth and post_smooth. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=05c2aafe6c2500d46adf0da7add4636902aa6d2e;p=dealii-svn.git Switch smooth to pre_smooth and post_smooth. git-svn-id: https://svn.dealii.org/trunk@1116 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/multigrid/mg_smoother.h b/deal.II/deal.II/include/multigrid/mg_smoother.h index f09b72b237..4e412ee7c5 100644 --- a/deal.II/deal.II/include/multigrid/mg_smoother.h +++ b/deal.II/deal.II/include/multigrid/mg_smoother.h @@ -60,9 +60,26 @@ class MGSmoother : public Subscriptor * at the end of your derived function, * or another function doing similar * things. + * + * This function is responsible for the + * presmoothing, postsmoothing is done + * by another function, which, however, + * calls this function if not overloaded. + */ + virtual void pre_smooth (const unsigned int level, + Vector &u) const = 0; + + /** + * Postsmoothing; the same applies as for + * the presmoothing function. If you + * want pre- and postsmoothing to do the + * same operations, you may want to not + * overload this function, since its + * default implementation simply calls + * #pre_smooth#. */ - virtual void smooth (const unsigned int level, - Vector &u) const = 0; + virtual void post_smooth (const unsigned int level, + Vector &u) const; /** * Reset the values of the degrees of diff --git a/deal.II/deal.II/include/numerics/mg_smoother.h b/deal.II/deal.II/include/numerics/mg_smoother.h index f09b72b237..4e412ee7c5 100644 --- a/deal.II/deal.II/include/numerics/mg_smoother.h +++ b/deal.II/deal.II/include/numerics/mg_smoother.h @@ -60,9 +60,26 @@ class MGSmoother : public Subscriptor * at the end of your derived function, * or another function doing similar * things. + * + * This function is responsible for the + * presmoothing, postsmoothing is done + * by another function, which, however, + * calls this function if not overloaded. + */ + virtual void pre_smooth (const unsigned int level, + Vector &u) const = 0; + + /** + * Postsmoothing; the same applies as for + * the presmoothing function. If you + * want pre- and postsmoothing to do the + * same operations, you may want to not + * overload this function, since its + * default implementation simply calls + * #pre_smooth#. */ - virtual void smooth (const unsigned int level, - Vector &u) const = 0; + virtual void post_smooth (const unsigned int level, + Vector &u) const; /** * Reset the values of the degrees of