From: Wolfgang Bangerth Date: Wed, 18 Jan 2006 02:16:16 +0000 (+0000) Subject: Move around a few more classes into internal namespaces. X-Git-Tag: v8.0.0~12597 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5e56f073c8ef6febc148bde6f3f7649c033d1a93;p=dealii.git Move around a few more classes into internal namespaces. git-svn-id: https://svn.dealii.org/trunk@12075 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/dofs/dof_handler.h b/deal.II/deal.II/include/dofs/dof_handler.h index a6a7651f3d..c45fcd4c3d 100644 --- a/deal.II/deal.II/include/dofs/dof_handler.h +++ b/deal.II/deal.II/include/dofs/dof_handler.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors +// Copyright (C) 1998, 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 @@ -25,7 +25,13 @@ #include #include -template class DoFLevel; +namespace internal +{ + namespace DoFHandler + { + template class DoFLevel; + } +} /** @@ -39,7 +45,7 @@ template class DoFLevel; * to the fact that indices in global vectors and matrices also refer to all * degrees of freedom and some kind of condensation is needed to restrict the * systems of equations to the unconstrained degrees of freedom only. The - * actual layout of storage of the indices is described in the DoFLevel class + * actual layout of storage of the indices is described in the internal::DoFHandler::DoFLevel class * documentation. * * The class offers iterators to traverse all cells, in much the same way as @@ -1026,7 +1032,7 @@ class DoFHandler : public Subscriptor * levels[] tree of the Triangulation * objects. */ - std::vector*> levels; + std::vector*> levels; /** * Store the number of dofs created last diff --git a/deal.II/deal.II/include/dofs/dof_levels.h b/deal.II/deal.II/include/dofs/dof_levels.h index 5b1ec37744..279fa6c9c0 100644 --- a/deal.II/deal.II/include/dofs/dof_levels.h +++ b/deal.II/deal.II/include/dofs/dof_levels.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors +// Copyright (C) 1998, 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 @@ -18,6 +18,16 @@ #include +namespace internal +{ +/** + * A namespace for internal data structures of the DoFHandler group of classes. + * + * @ingroup dofs + */ + namespace DoFHandler + { + /** * Store the indices of the degrees of freedom which are located on * objects of dimension @p N. Declare this general template @@ -27,17 +37,17 @@ * @ingroup dofs * @author Wolfgang Bangerth, 1998 */ -template -class DoFLevel -{ - private: - /** - * Make the constructor private - * to avoid that someone uses - * this class. - */ - DoFLevel (); -}; + template + class DoFLevel + { + private: + /** + * Make the constructor private + * to avoid that someone uses + * this class. + */ + DoFLevel (); + }; /** @@ -90,25 +100,25 @@ class DoFLevel * @ingroup dofs * @author Wolfgang Bangerth, 1998 */ -template <> -class DoFLevel<1> -{ - public: - /** - * Store the global indices of - * the degrees of freedom. See - * DoFLevel for detailed - * information. - */ - std::vector line_dofs; - - /** - * Determine an estimate for the - * memory consumption (in bytes) - * of this object. - */ - unsigned int memory_consumption () const; -}; + template <> + class DoFLevel<1> + { + public: + /** + * Store the global indices of + * the degrees of freedom. See + * DoFLevel for detailed + * information. + */ + std::vector line_dofs; + + /** + * Determine an estimate for the + * memory consumption (in bytes) + * of this object. + */ + unsigned int memory_consumption () const; + }; @@ -119,25 +129,25 @@ class DoFLevel<1> * @ingroup dofs * @author Wolfgang Bangerth, 1998 */ -template <> -class DoFLevel<2> : public DoFLevel<1> -{ - public: - /** - * Store the global indices of - * the degrees of freedom. See - * DoFLevel for detailed - * information. - */ - std::vector quad_dofs; - - /** - * Determine an estimate for the - * memory consumption (in bytes) - * of this object. - */ - unsigned int memory_consumption () const; -}; + template <> + class DoFLevel<2> : public DoFLevel<1> + { + public: + /** + * Store the global indices of + * the degrees of freedom. See + * DoFLevel for detailed + * information. + */ + std::vector quad_dofs; + + /** + * Determine an estimate for the + * memory consumption (in bytes) + * of this object. + */ + unsigned int memory_consumption () const; + }; @@ -148,25 +158,28 @@ class DoFLevel<2> : public DoFLevel<1> * @ingroup dofs * @author Wolfgang Bangerth, 1998 */ -template <> -class DoFLevel<3> : public DoFLevel<2> -{ - public: - /** - * Store the global indices of - * the degrees of freedom. See - * DoFLevel for detailed - * information. - */ - std::vector hex_dofs; - - /** - * Determine an estimate for the - * memory consumption (in bytes) - * of this object. - */ - unsigned int memory_consumption () const; -}; - + template <> + class DoFLevel<3> : public DoFLevel<2> + { + public: + /** + * Store the global indices of + * the degrees of freedom. See + * DoFLevel for detailed + * information. + */ + std::vector hex_dofs; + + /** + * Determine an estimate for the + * memory consumption (in bytes) + * of this object. + */ + unsigned int memory_consumption () const; + }; + + } + +} #endif diff --git a/deal.II/deal.II/include/dofs/hp_dof_handler.h b/deal.II/deal.II/include/dofs/hp_dof_handler.h index 5c6b90ce34..d93f157be9 100644 --- a/deal.II/deal.II/include/dofs/hp_dof_handler.h +++ b/deal.II/deal.II/include/dofs/hp_dof_handler.h @@ -27,6 +27,16 @@ #include +namespace internal +{ + namespace hp + { + template class DoFLevel; + } +} + + + /** * A namespace that holds all the classes that have to do with hp finite * elements. @@ -36,9 +46,6 @@ namespace hp { - template class DoFLevel; - - /** * Manage the distribution and numbering of the degrees of freedom for * hp-FEM algorithms. @@ -944,7 +951,7 @@ namespace hp /** * Create default tables for the * active_fe_indices in the - * hp::DoFLevels. They are + * internal::hp::DoFLevels. They are * initialized with the base fe. * This method is called before * refinement and before distribute_dofs @@ -972,7 +979,7 @@ namespace hp * levels[] tree of the Triangulation * objects. */ - std::vector*> levels; + std::vector*> levels; /** * Store the number of dofs created last diff --git a/deal.II/deal.II/include/dofs/hp_dof_levels.h b/deal.II/deal.II/include/dofs/hp_dof_levels.h index 1908a3bb18..8259f93a5b 100644 --- a/deal.II/deal.II/include/dofs/hp_dof_levels.h +++ b/deal.II/deal.II/include/dofs/hp_dof_levels.h @@ -18,8 +18,10 @@ #include -namespace hp +namespace internal { + namespace hp + { /** * Store the indices of the degrees of freedom which are located on @@ -31,17 +33,17 @@ namespace hp * * @author Wolfgang Bangerth, 1998, Oliver Kayser-Herold 2003. */ - template - class DoFLevel - { - private: - /** - * Make the constructor private - * to avoid that someone uses - * this class. - */ - DoFLevel (); - }; + template + class DoFLevel + { + private: + /** + * Make the constructor private + * to avoid that someone uses + * this class. + */ + DoFLevel (); + }; /** @@ -55,26 +57,26 @@ namespace hp * * @ingroup hp */ - template <> - class DoFLevel<0> - { - public: - /** - * Indices specifying the finite - * element of hp::FECollection to use - * for the different cells. The - * meaning what a cell is, is - * dimension specific, therefore also - * the length of this vector depends - * on the dimension: in one dimension, - * the length of this vector equals - * the length of the @p lines vector, - * in two dimensions that of the @p - * quads vector, etc. - */ - - std::vector active_fe_indices; - }; + template <> + class DoFLevel<0> + { + public: + /** + * Indices specifying the finite + * element of hp::FECollection to use + * for the different cells. The + * meaning what a cell is, is + * dimension specific, therefore also + * the length of this vector depends + * on the dimension: in one dimension, + * the length of this vector equals + * the length of the @p lines vector, + * in two dimensions that of the @p + * quads vector, etc. + */ + + std::vector active_fe_indices; + }; /** @@ -131,33 +133,33 @@ namespace hp * @ingroup hp * @author Wolfgang Bangerth, 1998, Oliver Kayser-Herold 2003. */ - template <> - class DoFLevel<1> : public DoFLevel<0> - { - public: - - /** - * Store the start index for - * the degrees of freedom of each - * line in the @p line_dofs array. - */ - std::vector dof_line_index_offset; - - /** - * Store the global indices of - * the degrees of freedom. See - * DoFLevel() for detailed - * information. - */ - std::vector line_dofs; - - /** - * Determine an estimate for the - * memory consumption (in bytes) - * of this object. - */ - unsigned int memory_consumption () const; - }; + template <> + class DoFLevel<1> : public DoFLevel<0> + { + public: + + /** + * Store the start index for + * the degrees of freedom of each + * line in the @p line_dofs array. + */ + std::vector dof_line_index_offset; + + /** + * Store the global indices of + * the degrees of freedom. See + * DoFLevel() for detailed + * information. + */ + std::vector line_dofs; + + /** + * Determine an estimate for the + * memory consumption (in bytes) + * of this object. + */ + unsigned int memory_consumption () const; + }; /** @@ -168,33 +170,33 @@ namespace hp * * @author Wolfgang Bangerth, 1998, Oliver Kayser-Herold 2003. */ - template <> - class DoFLevel<2> : public DoFLevel<1> - { - public: - - /** - * Store the start index for - * the degrees of freedom of each - * quad in the @p quad_dofs array. - */ - std::vector dof_quad_index_offset; - - /** - * Store the global indices of - * the degrees of freedom. See - * DoFLevel() for detailed - * information. - */ - std::vector quad_dofs; - - /** - * Determine an estimate for the - * memory consumption (in bytes) - * of this object. - */ - unsigned int memory_consumption () const; - }; + template <> + class DoFLevel<2> : public DoFLevel<1> + { + public: + + /** + * Store the start index for + * the degrees of freedom of each + * quad in the @p quad_dofs array. + */ + std::vector dof_quad_index_offset; + + /** + * Store the global indices of + * the degrees of freedom. See + * DoFLevel() for detailed + * information. + */ + std::vector quad_dofs; + + /** + * Determine an estimate for the + * memory consumption (in bytes) + * of this object. + */ + unsigned int memory_consumption () const; + }; @@ -206,34 +208,36 @@ namespace hp * * @author Wolfgang Bangerth, 1998, Oliver Kayser-Herold 2003. */ - template <> - class DoFLevel<3> : public DoFLevel<2> - { - public: - - /** - * Store the start index for - * the degrees of freedom of each - * hex in the @p hex_dofs array. - */ - std::vector dof_hex_index_offset; - - /** - * Store the global indices of - * the degrees of freedom. See - * DoFLevel() for detailed - * information. - */ - std::vector hex_dofs; - - /** - * Determine an estimate for the - * memory consumption (in bytes) - * of this object. - */ - unsigned int memory_consumption () const; - }; + template <> + class DoFLevel<3> : public DoFLevel<2> + { + public: + + /** + * Store the start index for + * the degrees of freedom of each + * hex in the @p hex_dofs array. + */ + std::vector dof_hex_index_offset; + + /** + * Store the global indices of + * the degrees of freedom. See + * DoFLevel() for detailed + * information. + */ + std::vector hex_dofs; + + /** + * Determine an estimate for the + * memory consumption (in bytes) + * of this object. + */ + unsigned int memory_consumption () const; + }; + + } // namespace hp -} // namespace hp +} // namespace internal #endif diff --git a/deal.II/deal.II/include/fe/hp_fe_values.h b/deal.II/deal.II/include/fe/hp_fe_values.h index cd8acb0f8e..b8a3862954 100644 --- a/deal.II/deal.II/include/fe/hp_fe_values.h +++ b/deal.II/deal.II/include/fe/hp_fe_values.h @@ -27,15 +27,9 @@ template class MappingQ1; template class FiniteElement; -namespace hp +namespace internal { - -/** - * A namespace for hp implementation details. - * - * @ingroup hp - */ - namespace internal + namespace hp { /** * Map between finite element objects and @p FEValues (the second @@ -176,8 +170,8 @@ namespace hp * indicated by the parameters * to the constructor. */ - FEValuesBase (const hp::MappingCollection &mapping_collection, - const hp::QCollection &q_collection, + FEValuesBase (const ::hp::MappingCollection &mapping_collection, + const ::hp::QCollection &q_collection, const UpdateFlags update_flags); @@ -190,7 +184,7 @@ namespace hp * object for the mapping * object. */ - FEValuesBase (const hp::QCollection &q_collection, + FEValuesBase (const ::hp::QCollection &q_collection, const UpdateFlags update_flags); @@ -201,7 +195,7 @@ namespace hp * upon construction of the * object. */ - const hp::MappingCollection mapping_collection; + const ::hp::MappingCollection mapping_collection; /** * Copy of the quadrature @@ -209,7 +203,7 @@ namespace hp * provided to the * constructor. */ - const hp::QCollection q_collection; + const ::hp::QCollection q_collection; /** * Values of the update flags as @@ -217,16 +211,22 @@ namespace hp */ const UpdateFlags update_flags; }; + } + +} +namespace hp +{ + /** * * @ingroup hp */ template - class FEValues : public hp::internal::FEValuesMap >, - protected hp::internal::FEValuesBase + class FEValues : public internal::hp::FEValuesMap >, + protected internal::hp::FEValuesBase { public: /** @@ -249,9 +249,9 @@ namespace hp * DoFHandler::get_fe() * function. */ - FEValues (const hp::MappingCollection &mapping_collection, - const hp::FECollection &fe_collection, - const hp::QCollection &q_collection, + FEValues (const ::hp::MappingCollection &mapping_collection, + const ::hp::FECollection &fe_collection, + const ::hp::QCollection &q_collection, const UpdateFlags update_flags); @@ -313,8 +313,8 @@ namespace hp * @ingroup hp */ template - class FEFaceValues : public hp::internal::FEValuesMap >, - protected hp::internal::FEValuesBase + class FEFaceValues : public internal::hp::FEValuesMap >, + protected internal::hp::FEValuesBase { public: /** @@ -426,8 +426,8 @@ namespace hp * @ingroup hp */ template - class FESubfaceValues : public hp::internal::FEValuesMap >, - protected hp::internal::FEValuesBase + class FESubfaceValues : public internal::hp::FEValuesMap >, + protected internal::hp::FEValuesBase { public: /** @@ -534,11 +534,15 @@ namespace hp create_fe_values (const FiniteElement &fe, const unsigned int active_fe_index) const; }; + +} // -------------- inline and template functions -------------- - namespace internal +namespace internal +{ + namespace hp { template inline 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 e6e8869b28..8812e48586 100644 --- a/deal.II/deal.II/include/multigrid/mg_dof_handler.h +++ b/deal.II/deal.II/include/multigrid/mg_dof_handler.h @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors +// Copyright (C) 1998, 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 @@ -1135,7 +1135,7 @@ class MGDoFHandler : public DoFHandler * are numbers which start from * zero on each level. */ - std::vector*> mg_levels; + std::vector*> mg_levels; /** * For each vertex there is a diff --git a/deal.II/deal.II/source/dofs/dof_handler.cc b/deal.II/deal.II/source/dofs/dof_handler.cc index 705b3e54d1..f59756d615 100644 --- a/deal.II/deal.II/source/dofs/dof_handler.cc +++ b/deal.II/deal.II/source/dofs/dof_handler.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors +// Copyright (C) 1998, 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 @@ -1980,7 +1980,7 @@ void DoFHandler<1>::reserve_space () { for (unsigned int i=0; in_levels(); ++i) { - levels.push_back (new DoFLevel<1>); + levels.push_back (new internal::DoFHandler::DoFLevel<1>); levels.back()->line_dofs = std::vector(tria->levels[i]->lines.lines.size() * selected_fe->dofs_per_line, @@ -2010,7 +2010,7 @@ void DoFHandler<2>::reserve_space () { for (unsigned int i=0; in_levels(); ++i) { - levels.push_back (new DoFLevel<2>); + levels.push_back (new internal::DoFHandler::DoFLevel<2>); levels.back()->line_dofs = std::vector (tria->levels[i]->lines.lines.size() * selected_fe->dofs_per_line, @@ -2042,7 +2042,7 @@ void DoFHandler<3>::reserve_space () { for (unsigned int i=0; in_levels(); ++i) { - levels.push_back (new DoFLevel<3>); + levels.push_back (new internal::DoFHandler::DoFLevel<3>); levels.back()->line_dofs = std::vector (tria->levels[i]->lines.lines.size() * selected_fe->dofs_per_line, diff --git a/deal.II/deal.II/source/dofs/dof_levels.cc b/deal.II/deal.II/source/dofs/dof_levels.cc index 9915d5e0ee..3cf22e4417 100644 --- a/deal.II/deal.II/source/dofs/dof_levels.cc +++ b/deal.II/deal.II/source/dofs/dof_levels.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 2000, 2001, 2002, 2003, 2005 by the deal.II authors +// Copyright (C) 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 @@ -16,28 +16,35 @@ #include - -unsigned int -DoFLevel<1>::memory_consumption () const -{ - return MemoryConsumption::memory_consumption (line_dofs); -} - - - -unsigned int -DoFLevel<2>::memory_consumption () const +namespace internal { - return (DoFLevel<1>::memory_consumption () + - MemoryConsumption::memory_consumption (quad_dofs)); + namespace DoFHandler + { + + unsigned int + DoFLevel<1>::memory_consumption () const + { + return MemoryConsumption::memory_consumption (line_dofs); + } + + + + unsigned int + DoFLevel<2>::memory_consumption () const + { + return (DoFLevel<1>::memory_consumption () + + MemoryConsumption::memory_consumption (quad_dofs)); + } + + + + unsigned int + DoFLevel<3>::memory_consumption () const + { + return (DoFLevel<2>::memory_consumption () + + MemoryConsumption::memory_consumption (hex_dofs)); + } + + } + } - - - -unsigned int -DoFLevel<3>::memory_consumption () const -{ - return (DoFLevel<2>::memory_consumption () + - MemoryConsumption::memory_consumption (hex_dofs)); -} - 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 d4045a9e02..d4d0f23fe5 100644 --- a/deal.II/deal.II/source/dofs/hp_dof_handler.cc +++ b/deal.II/deal.II/source/dofs/hp_dof_handler.cc @@ -1939,7 +1939,7 @@ namespace hp for (unsigned int i=0; in_levels(); ++i) { - levels.push_back (new hp::DoFLevel<1>); + levels.push_back (new internal::hp::DoFLevel<1>); std::swap (active_fe_backup[i], levels.back()->active_fe_indices); levels.back()->dof_line_index_offset = std::vector @@ -1991,7 +1991,7 @@ namespace hp // number of DoFs due to the different active_fe_index of the adjacent cells. for (unsigned int i=0; in_levels(); ++i) { - levels.push_back (new hp::DoFLevel<2>); + levels.push_back (new internal::hp::DoFLevel<2>); std::swap (active_fe_backup[i], levels.back()->active_fe_indices); levels.back()->dof_line_index_offset = std::vector @@ -2155,7 +2155,7 @@ namespace hp // number of DoFs due to the different active_fe_index of the adjacent cells. for (unsigned int i=0; in_levels(); ++i) { - levels.push_back (new hp::DoFLevel<3>); + levels.push_back (new internal::hp::DoFLevel<3>); std::swap (active_fe_backup[i], levels.back()->active_fe_indices); levels.back()->dof_line_index_offset = std::vector @@ -2217,7 +2217,7 @@ namespace hp { // Create sufficiently many hpDoFLevels. while (levels.size () < tria->n_levels ()) - levels.push_back (new hp::DoFLevel); + levels.push_back (new internal::hp::DoFLevel); for (unsigned int i=0; i); + levels.push_back (new internal::hp::DoFLevel); // Coarsening can lead to the loss // of levels. Hence remove them. diff --git a/deal.II/deal.II/source/dofs/hp_dof_levels.cc b/deal.II/deal.II/source/dofs/hp_dof_levels.cc index 42c1beaaa9..8df4c72598 100644 --- a/deal.II/deal.II/source/dofs/hp_dof_levels.cc +++ b/deal.II/deal.II/source/dofs/hp_dof_levels.cc @@ -16,32 +16,35 @@ #include -namespace hp +namespace internal { - unsigned int - DoFLevel<1>::memory_consumption () const + namespace hp { - return (MemoryConsumption::memory_consumption (line_dofs) + - MemoryConsumption::memory_consumption (dof_line_index_offset)); - } + unsigned int + DoFLevel<1>::memory_consumption () const + { + return (MemoryConsumption::memory_consumption (line_dofs) + + MemoryConsumption::memory_consumption (dof_line_index_offset)); + } - unsigned int - DoFLevel<2>::memory_consumption () const - { - return (hp::DoFLevel<1>::memory_consumption () + - MemoryConsumption::memory_consumption (quad_dofs) + - MemoryConsumption::memory_consumption (dof_quad_index_offset)); - } + unsigned int + DoFLevel<2>::memory_consumption () const + { + return (DoFLevel<1>::memory_consumption () + + MemoryConsumption::memory_consumption (quad_dofs) + + MemoryConsumption::memory_consumption (dof_quad_index_offset)); + } - unsigned int - DoFLevel<3>::memory_consumption () const - { - return (hp::DoFLevel<2>::memory_consumption () + - MemoryConsumption::memory_consumption (hex_dofs) + - MemoryConsumption::memory_consumption (dof_hex_index_offset)); + unsigned int + DoFLevel<3>::memory_consumption () const + { + return (DoFLevel<2>::memory_consumption () + + MemoryConsumption::memory_consumption (hex_dofs) + + MemoryConsumption::memory_consumption (dof_hex_index_offset)); + } } } diff --git a/deal.II/deal.II/source/fe/hp_fe_values.cc b/deal.II/deal.II/source/fe/hp_fe_values.cc index 6c059a0eb0..8ac956e8eb 100644 --- a/deal.II/deal.II/source/fe/hp_fe_values.cc +++ b/deal.II/deal.II/source/fe/hp_fe_values.cc @@ -18,10 +18,10 @@ // -------------------------- FEValuesMap ------------------------- -namespace hp +namespace internal { - namespace internal + namespace hp { template FEValuesMap::~FEValuesMap () @@ -61,8 +61,8 @@ namespace hp template FEValuesBase::FEValuesBase ( - const hp::MappingCollection &mapping_collection, - const hp::QCollection &q_collection, + const ::hp::MappingCollection &mapping_collection, + const ::hp::QCollection &q_collection, const UpdateFlags update_flags) : mapping_collection (mapping_collection), @@ -72,17 +72,22 @@ namespace hp template - FEValuesBase::FEValuesBase (const hp::QCollection &q_collection, + FEValuesBase::FEValuesBase (const ::hp::QCollection &q_collection, const UpdateFlags update_flags) : mapping_collection (default_mapping), q_collection (q_collection), update_flags (update_flags) {} - + } +} + +namespace hp +{ + // -------------------------- FEValues ------------------------- @@ -92,9 +97,9 @@ namespace hp const hp::QCollection &q_collection, const UpdateFlags update_flags) : - internal::FEValuesBase (mapping, - q_collection, - update_flags) + internal::hp::FEValuesBase (mapping, + q_collection, + update_flags) {} @@ -103,8 +108,8 @@ namespace hp const hp::QCollection &q_collection, const UpdateFlags update_flags) : - internal::FEValuesBase (q_collection, - update_flags) + internal::hp::FEValuesBase (q_collection, + update_flags) {} @@ -139,9 +144,9 @@ namespace hp const hp::QCollection &q_collection, const UpdateFlags update_flags) : - internal::FEValuesBase (mapping, - q_collection, - update_flags) + internal::hp::FEValuesBase (mapping, + q_collection, + update_flags) {} @@ -150,8 +155,8 @@ namespace hp const hp::QCollection &q_collection, const UpdateFlags update_flags) : - internal::FEValuesBase (q_collection, - update_flags) + internal::hp::FEValuesBase (q_collection, + update_flags) {} @@ -197,9 +202,9 @@ namespace hp const hp::QCollection &q_collection, const UpdateFlags update_flags) : - internal::FEValuesBase (mapping, - q_collection, - update_flags) + internal::hp::FEValuesBase (mapping, + q_collection, + update_flags) {} @@ -208,8 +213,8 @@ namespace hp const hp::QCollection &q_collection, const UpdateFlags update_flags) : - internal::FEValuesBase (q_collection, - update_flags) + internal::hp::FEValuesBase (q_collection, + update_flags) {} @@ -246,17 +251,23 @@ namespace hp this->q_collection.get_quadrature (active_fe_index), this->update_flags); } +} // explicit instantiations - namespace internal +namespace internal +{ + namespace hp { template class FEValuesBase; #if deal_II_dimension >= 2 template class FEValuesBase; #endif } +} +namespace hp +{ template class FEValues; #if deal_II_dimension >= 2 template class FEFaceValues; @@ -267,6 +278,6 @@ namespace hp // Putting the following explicit instantiations into the brackets // of the appropriate namespace somehow causes problems with the // Apple gcc3.3. Therefore these are separated. -template class hp::internal::FEValuesMap >; -template class hp::internal::FEValuesMap >; -template class hp::internal::FEValuesMap >; +template class internal::hp::FEValuesMap >; +template class internal::hp::FEValuesMap >; +template class internal::hp::FEValuesMap >; 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 384d12e3a0..272c2367b5 100644 --- a/deal.II/deal.II/source/multigrid/mg_dof_handler.cc +++ b/deal.II/deal.II/source/multigrid/mg_dof_handler.cc @@ -2,7 +2,7 @@ // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 by the deal.II authors +// Copyright (C) 1998, 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 @@ -1701,7 +1701,7 @@ void MGDoFHandler<1>::reserve_space () { // lines on each level for (unsigned int i=0; itria->n_levels(); ++i) { - mg_levels.push_back (new DoFLevel<1>); + mg_levels.push_back (new internal::DoFHandler::DoFLevel<1>); mg_levels.back()->line_dofs = std::vector(this->tria->levels[i]->lines.lines.size() * this->selected_fe->dofs_per_line, @@ -1774,7 +1774,7 @@ void MGDoFHandler<2>::reserve_space () { // lines and quads on each level for (unsigned int i=0; itria->n_levels(); ++i) { - mg_levels.push_back (new DoFLevel<2>); + mg_levels.push_back (new internal::DoFHandler::DoFLevel<2>); mg_levels.back()->line_dofs = std::vector (this->tria->levels[i]->lines.lines.size() * this->selected_fe->dofs_per_line, @@ -1863,7 +1863,7 @@ void MGDoFHandler<3>::reserve_space () { // lines and quads on each level for (unsigned int i=0; itria->n_levels(); ++i) { - mg_levels.push_back (new DoFLevel<3>); + mg_levels.push_back (new internal::DoFHandler::DoFLevel<3>); mg_levels.back()->line_dofs = std::vector (this->tria->levels[i]->lines.lines.size() * this->selected_fe->dofs_per_line,