From 4e9c8882bcf70cba13f1f8191fc15c66b4e7380a Mon Sep 17 00:00:00 2001 From: Ralf Hartmann Date: Mon, 27 Feb 2006 16:22:03 +0000 Subject: [PATCH] Add dimension variable. git-svn-id: https://svn.dealii.org/trunk@12511 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/include/grid/persistent_tria.h | 10 ++++++++-- deal.II/deal.II/include/grid/tria.h | 6 ++++++ deal.II/deal.II/include/multigrid/mg_dof_handler.h | 6 ++++++ deal.II/deal.II/source/dofs/dof_handler.cc | 2 ++ deal.II/deal.II/source/dofs/hp_dof_handler.cc | 2 ++ deal.II/deal.II/source/grid/persistent_tria.cc | 6 +++++- deal.II/deal.II/source/grid/tria.cc | 3 +++ deal.II/deal.II/source/multigrid/mg_dof_handler.cc | 4 ++++ 8 files changed, 36 insertions(+), 3 deletions(-) diff --git a/deal.II/deal.II/include/grid/persistent_tria.h b/deal.II/deal.II/include/grid/persistent_tria.h index 38034f3b57..a56fd4bdb3 100644 --- a/deal.II/deal.II/include/grid/persistent_tria.h +++ b/deal.II/deal.II/include/grid/persistent_tria.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -102,7 +102,13 @@ template class PersistentTriangulation : public Triangulation { - public: + public: + /** + * Make the dimension available + * in function templates. + */ + static const unsigned int dimension = dim; + /** * Build up the triangulation from the * coarse grid in future. Copy smoothing diff --git a/deal.II/deal.II/include/grid/tria.h b/deal.II/deal.II/include/grid/tria.h index ecdafae4c2..d55b9361d9 100644 --- a/deal.II/deal.II/include/grid/tria.h +++ b/deal.II/deal.II/include/grid/tria.h @@ -1277,6 +1277,12 @@ class Triangulation : public Subscriptor post_refinement_notification (const Triangulation &tria); }; + /** + * Make the dimension available + * in function templates. + */ + static const unsigned int dimension = dim; + /** * Create a triangulation and create * the first level of the hierarchy. diff --git a/deal.II/deal.II/include/multigrid/mg_dof_handler.h b/deal.II/deal.II/include/multigrid/mg_dof_handler.h index 8812e48586..a1194cd093 100644 --- a/deal.II/deal.II/include/multigrid/mg_dof_handler.h +++ b/deal.II/deal.II/include/multigrid/mg_dof_handler.h @@ -230,6 +230,12 @@ class MGDoFHandler : public DoFHandler typedef typename MGDoFDimensionInfo::face_iterator face_iterator; typedef typename MGDoFDimensionInfo::active_face_iterator active_face_iterator; + /** + * Make the dimension available + * in function templates. + */ + static const unsigned int dimension = dim; + /** * Constructor. Take @p tria as * the triangulation to work on. diff --git a/deal.II/deal.II/source/dofs/dof_handler.cc b/deal.II/deal.II/source/dofs/dof_handler.cc index 048d67d507..be621d115c 100644 --- a/deal.II/deal.II/source/dofs/dof_handler.cc +++ b/deal.II/deal.II/source/dofs/dof_handler.cc @@ -27,6 +27,8 @@ #include +template +const unsigned int DoFHandler::dimension; template const unsigned int DoFHandler::invalid_dof_index; diff --git a/deal.II/deal.II/source/dofs/hp_dof_handler.cc b/deal.II/deal.II/source/dofs/hp_dof_handler.cc index 8e90572e36..09d09a39ab 100644 --- a/deal.II/deal.II/source/dofs/hp_dof_handler.cc +++ b/deal.II/deal.II/source/dofs/hp_dof_handler.cc @@ -31,6 +31,8 @@ namespace hp { + template + const unsigned int DoFHandler::dimension; template const unsigned int DoFHandler::invalid_dof_index; diff --git a/deal.II/deal.II/source/grid/persistent_tria.cc b/deal.II/deal.II/source/grid/persistent_tria.cc index 0201f2da38..cd3bd6ac69 100644 --- a/deal.II/deal.II/source/grid/persistent_tria.cc +++ b/deal.II/deal.II/source/grid/persistent_tria.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2005 by the deal.II authors +// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2005, 2006 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer @@ -18,6 +18,10 @@ #include +template +const unsigned int +Triangulation::dimension; + template PersistentTriangulation:: diff --git a/deal.II/deal.II/source/grid/tria.cc b/deal.II/deal.II/source/grid/tria.cc index c2a402a5bd..61f41a9931 100644 --- a/deal.II/deal.II/source/grid/tria.cc +++ b/deal.II/deal.II/source/grid/tria.cc @@ -43,6 +43,9 @@ template const StraightBoundary * Triangulation::straight_boundary = &dummy_straight_boundary; +template +const unsigned int +Triangulation::dimension; template diff --git a/deal.II/deal.II/source/multigrid/mg_dof_handler.cc b/deal.II/deal.II/source/multigrid/mg_dof_handler.cc index 8c30bc45e5..d3f040cb39 100644 --- a/deal.II/deal.II/source/multigrid/mg_dof_handler.cc +++ b/deal.II/deal.II/source/multigrid/mg_dof_handler.cc @@ -103,6 +103,10 @@ unsigned int MGDoFHandler::MGVertexDoFs::get_finest_level () const { /* ------------------------ MGDoFHandler ------------------------------------- */ +template +const unsigned int MGDoFHandler::dimension; + + template MGDoFHandler::MGDoFHandler (const Triangulation &tria) : DoFHandler (tria) -- 2.39.5