From c68e929ef146cf6895531b7f3337fad547307ebf Mon Sep 17 00:00:00 2001 From: Guido Kanschat Date: Sat, 9 May 2009 18:33:28 +0000 Subject: [PATCH] add comments for the multigrid master plan git-svn-id: https://svn.dealii.org/trunk@18828 0785d39b-7218-0410-832d-ea1e28bc413d --- .../include/multigrid/mg_transfer.templates.h | 21 +++++++++++++++++++ .../source/multigrid/mg_transfer_prebuilt.cc | 10 +++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/deal.II/deal.II/include/multigrid/mg_transfer.templates.h b/deal.II/deal.II/include/multigrid/mg_transfer.templates.h index af0ef18dd6..3fa2e06042 100644 --- a/deal.II/deal.II/include/multigrid/mg_transfer.templates.h +++ b/deal.II/deal.II/include/multigrid/mg_transfer.templates.h @@ -49,6 +49,13 @@ MGTransferPrebuilt::copy_to_mg ( for (IT i= copy_indices[level].begin(); i != copy_indices[level].end();++i) dst[level](i->second) = src(i->first); + // For non-DG: degrees of + // freedom in the refinement + // face may need special + // attention, since they belong + // to the coarse level, but + // have fine level basis + // functions if (!first) restrict_and_add (level+1, dst[level], dst[level+1]); first = false; @@ -65,6 +72,13 @@ MGTransferPrebuilt::copy_from_mg( OutVector& dst, const MGLevelObject& src) const { + // For non-DG: degrees of + // freedom in the refinement + // face may need special + // attention, since they belong + // to the coarse level, but + // have fine level basis + // functions for (unsigned int level=0;level::copy_from_mg_add ( OutVector &dst, const MGLevelObject &src) const { + // For non-DG: degrees of + // freedom in the refinement + // face may need special + // attention, since they belong + // to the coarse level, but + // have fine level basis + // functions for (unsigned int level=0;level::build_matrices ( } } } - + // For non-DG elements, add a + // condense operator here. + + // Prepare indices to copy from a + // global vector to the parts of an + // MGVector corresponding to active + // cells. copy_indices.resize(mg_dof.get_tria().n_levels()); std::vector global_dof_indices (dofs_per_cell); std::vector level_dof_indices (dofs_per_cell); -- 2.39.5