From: Guido Kanschat Date: Fri, 11 Mar 2005 00:56:34 +0000 (+0000) Subject: minlevel nonzero documented and second defect vector added X-Git-Tag: v8.0.0~14441 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7a99e702ab832212f20c3b52128be9a93c60a257;p=dealii.git minlevel nonzero documented and second defect vector added git-svn-id: https://svn.dealii.org/trunk@10092 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/multigrid/multigrid.h b/deal.II/deal.II/include/multigrid/multigrid.h index 64498b443f..ef909a42d8 100644 --- a/deal.II/deal.II/include/multigrid/multigrid.h +++ b/deal.II/deal.II/include/multigrid/multigrid.h @@ -203,6 +203,16 @@ class Multigrid : public Subscriptor * of levels used, that is, it * sets #minlevel to * #maxlevel-level. + * + * @note The mesh on the coarsest + * level must cover the whole + * domain. There may not be + * hanging nodes on #minlevel. + * + * @note If #minlevel is set to a + * nonzero value, do not forget + * to adjust your coarse grid + * solver! */ void set_minlevel(unsigned int level, bool relative = false); @@ -220,12 +230,6 @@ class Multigrid : public Subscriptor */ void set_debug(unsigned int); - /** - * Exception. - */ - DeclException2(ExcSwitchedLevels, int, int, - << "minlevel and maxlevel switched, should be: " - << arg1 << "<=" << arg2); private: /** @@ -292,6 +296,13 @@ class Multigrid : public Subscriptor */ MGLevelObject t; + /** + * Auxiliary vector for W- and + * F-cycles. Left uninitialized + * in V-cycle. + */ + MGLevelObject defect2; + /** * The matrix for each level. @@ -451,6 +462,7 @@ Multigrid::Multigrid (const MGDoFHandler& mg_dof_handler, defect(minlevel,maxlevel), solution(minlevel,maxlevel), t(minlevel,maxlevel), + defect2(minlevel,maxlevel), matrix(&matrix), coarse(&coarse), transfer(&transfer),