// $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
#include <map>
#include <set>
-template <int dim> class DoFLevel;
+namespace internal
+{
+ namespace DoFHandler
+ {
+ template <int dim> 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
* <tt>levels[]</tt> tree of the Triangulation
* objects.
*/
- std::vector<DoFLevel<dim>*> levels;
+ std::vector<internal::DoFHandler::DoFLevel<dim>*> levels;
/**
* Store the number of dofs created last
// $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
#include <vector>
+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
* @ingroup dofs
* @author Wolfgang Bangerth, 1998
*/
-template <int N>
-class DoFLevel
-{
- private:
- /**
- * Make the constructor private
- * to avoid that someone uses
- * this class.
- */
- DoFLevel ();
-};
+ template <int N>
+ class DoFLevel
+ {
+ private:
+ /**
+ * Make the constructor private
+ * to avoid that someone uses
+ * this 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<unsigned int> 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<unsigned int> line_dofs;
+
+ /**
+ * Determine an estimate for the
+ * memory consumption (in bytes)
+ * of this object.
+ */
+ unsigned int memory_consumption () const;
+ };
* @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<unsigned int> 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<unsigned int> quad_dofs;
+
+ /**
+ * Determine an estimate for the
+ * memory consumption (in bytes)
+ * of this object.
+ */
+ unsigned int memory_consumption () const;
+ };
* @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<unsigned int> 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<unsigned int> hex_dofs;
+
+ /**
+ * Determine an estimate for the
+ * memory consumption (in bytes)
+ * of this object.
+ */
+ unsigned int memory_consumption () const;
+ };
+
+ }
+
+}
#endif
#include <set>
+namespace internal
+{
+ namespace hp
+ {
+ template <int> class DoFLevel;
+ }
+}
+
+
+
/**
* A namespace that holds all the classes that have to do with hp finite
* elements.
namespace hp
{
- template <int> class DoFLevel;
-
-
/**
* Manage the distribution and numbering of the degrees of freedom for
* hp-FEM algorithms.
/**
* 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
* <tt>levels[]</tt> tree of the Triangulation
* objects.
*/
- std::vector<hp::DoFLevel<dim>*> levels;
+ std::vector<internal::hp::DoFLevel<dim>*> levels;
/**
* Store the number of dofs created last
#include <vector>
-namespace hp
+namespace internal
{
+ namespace hp
+ {
/**
* Store the indices of the degrees of freedom which are located on
*
* @author Wolfgang Bangerth, 1998, Oliver Kayser-Herold 2003.
*/
- template <int N>
- class DoFLevel
- {
- private:
- /**
- * Make the constructor private
- * to avoid that someone uses
- * this class.
- */
- DoFLevel ();
- };
+ template <int N>
+ class DoFLevel
+ {
+ private:
+ /**
+ * Make the constructor private
+ * to avoid that someone uses
+ * this class.
+ */
+ DoFLevel ();
+ };
/**
*
* @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<unsigned int> 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<unsigned int> active_fe_indices;
+ };
/**
* @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<unsigned int> dof_line_index_offset;
-
- /**
- * Store the global indices of
- * the degrees of freedom. See
- * DoFLevel() for detailed
- * information.
- */
- std::vector<unsigned int> 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<unsigned int> dof_line_index_offset;
+
+ /**
+ * Store the global indices of
+ * the degrees of freedom. See
+ * DoFLevel() for detailed
+ * information.
+ */
+ std::vector<unsigned int> line_dofs;
+
+ /**
+ * Determine an estimate for the
+ * memory consumption (in bytes)
+ * of this object.
+ */
+ unsigned int memory_consumption () const;
+ };
/**
*
* @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<unsigned int> dof_quad_index_offset;
-
- /**
- * Store the global indices of
- * the degrees of freedom. See
- * DoFLevel() for detailed
- * information.
- */
- std::vector<unsigned int> 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<unsigned int> dof_quad_index_offset;
+
+ /**
+ * Store the global indices of
+ * the degrees of freedom. See
+ * DoFLevel() for detailed
+ * information.
+ */
+ std::vector<unsigned int> quad_dofs;
+
+ /**
+ * Determine an estimate for the
+ * memory consumption (in bytes)
+ * of this object.
+ */
+ unsigned int memory_consumption () const;
+ };
*
* @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<unsigned int> dof_hex_index_offset;
-
- /**
- * Store the global indices of
- * the degrees of freedom. See
- * DoFLevel() for detailed
- * information.
- */
- std::vector<unsigned int> 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<unsigned int> dof_hex_index_offset;
+
+ /**
+ * Store the global indices of
+ * the degrees of freedom. See
+ * DoFLevel() for detailed
+ * information.
+ */
+ std::vector<unsigned int> 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
template <int dim> 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
* indicated by the parameters
* to the constructor.
*/
- FEValuesBase (const hp::MappingCollection<dim> &mapping_collection,
- const hp::QCollection<q_dim> &q_collection,
+ FEValuesBase (const ::hp::MappingCollection<dim> &mapping_collection,
+ const ::hp::QCollection<q_dim> &q_collection,
const UpdateFlags update_flags);
* object for the mapping
* object.
*/
- FEValuesBase (const hp::QCollection<q_dim> &q_collection,
+ FEValuesBase (const ::hp::QCollection<q_dim> &q_collection,
const UpdateFlags update_flags);
* upon construction of the
* object.
*/
- const hp::MappingCollection<dim> mapping_collection;
+ const ::hp::MappingCollection<dim> mapping_collection;
/**
* Copy of the quadrature
* provided to the
* constructor.
*/
- const hp::QCollection<q_dim> q_collection;
+ const ::hp::QCollection<q_dim> q_collection;
/**
* Values of the update flags as
*/
const UpdateFlags update_flags;
};
+
}
+
+}
+namespace hp
+{
+
/**
*
* @ingroup hp
*/
template <int dim>
- class FEValues : public hp::internal::FEValuesMap<dim,::FEValues<dim> >,
- protected hp::internal::FEValuesBase<dim,dim>
+ class FEValues : public internal::hp::FEValuesMap<dim,::FEValues<dim> >,
+ protected internal::hp::FEValuesBase<dim,dim>
{
public:
/**
* <tt>DoFHandler::get_fe()</tt>
* function.
*/
- FEValues (const hp::MappingCollection<dim> &mapping_collection,
- const hp::FECollection<dim> &fe_collection,
- const hp::QCollection<dim> &q_collection,
+ FEValues (const ::hp::MappingCollection<dim> &mapping_collection,
+ const ::hp::FECollection<dim> &fe_collection,
+ const ::hp::QCollection<dim> &q_collection,
const UpdateFlags update_flags);
* @ingroup hp
*/
template <int dim>
- class FEFaceValues : public hp::internal::FEValuesMap<dim,::FEFaceValues<dim> >,
- protected hp::internal::FEValuesBase<dim,dim-1>
+ class FEFaceValues : public internal::hp::FEValuesMap<dim,::FEFaceValues<dim> >,
+ protected internal::hp::FEValuesBase<dim,dim-1>
{
public:
/**
* @ingroup hp
*/
template <int dim>
- class FESubfaceValues : public hp::internal::FEValuesMap<dim,::FESubfaceValues<dim> >,
- protected hp::internal::FEValuesBase<dim,dim-1>
+ class FESubfaceValues : public internal::hp::FEValuesMap<dim,::FESubfaceValues<dim> >,
+ protected internal::hp::FEValuesBase<dim,dim-1>
{
public:
/**
create_fe_values (const FiniteElement<dim> &fe,
const unsigned int active_fe_index) const;
};
+
+}
// -------------- inline and template functions --------------
- namespace internal
+namespace internal
+{
+ namespace hp
{
template <int dim, class FEValues>
inline
// $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
* are numbers which start from
* zero on each level.
*/
- std::vector<DoFLevel<dim>*> mg_levels;
+ std::vector<internal::DoFHandler::DoFLevel<dim>*> mg_levels;
/**
* For each vertex there is a
// $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
for (unsigned int i=0; i<tria->n_levels(); ++i)
{
- levels.push_back (new DoFLevel<1>);
+ levels.push_back (new internal::DoFHandler::DoFLevel<1>);
levels.back()->line_dofs = std::vector<unsigned int>(tria->levels[i]->lines.lines.size() *
selected_fe->dofs_per_line,
for (unsigned int i=0; i<tria->n_levels(); ++i)
{
- levels.push_back (new DoFLevel<2>);
+ levels.push_back (new internal::DoFHandler::DoFLevel<2>);
levels.back()->line_dofs = std::vector<unsigned int> (tria->levels[i]->lines.lines.size() *
selected_fe->dofs_per_line,
for (unsigned int i=0; i<tria->n_levels(); ++i)
{
- levels.push_back (new DoFLevel<3>);
+ levels.push_back (new internal::DoFHandler::DoFLevel<3>);
levels.back()->line_dofs = std::vector<unsigned int> (tria->levels[i]->lines.lines.size() *
selected_fe->dofs_per_line,
// $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
#include <dofs/dof_levels.h>
-
-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));
-}
-
for (unsigned int i=0; i<tria->n_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<unsigned int>
// number of DoFs due to the different active_fe_index of the adjacent cells.
for (unsigned int i=0; i<tria->n_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<unsigned int>
// number of DoFs due to the different active_fe_index of the adjacent cells.
for (unsigned int i=0; i<tria->n_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<unsigned int>
{
// Create sufficiently many hpDoFLevels.
while (levels.size () < tria->n_levels ())
- levels.push_back (new hp::DoFLevel<dim>);
+ levels.push_back (new internal::hp::DoFLevel<dim>);
for (unsigned int i=0; i<levels.size(); ++i)
{
// it is appended to the DoFHandler
// levels.
if (levels.size () < tria.n_levels ())
- levels.push_back (new hp::DoFLevel<dim>);
+ levels.push_back (new internal::hp::DoFLevel<dim>);
// Coarsening can lead to the loss
// of levels. Hence remove them.
#include <dofs/hp_dof_levels.h>
-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));
+ }
}
}
// -------------------------- FEValuesMap -------------------------
-namespace hp
+namespace internal
{
- namespace internal
+ namespace hp
{
template <int dim, class FEValues>
FEValuesMap<dim,FEValues>::~FEValuesMap ()
template <int dim, int q_dim>
FEValuesBase<dim,q_dim>::FEValuesBase (
- const hp::MappingCollection<dim> &mapping_collection,
- const hp::QCollection<q_dim> &q_collection,
+ const ::hp::MappingCollection<dim> &mapping_collection,
+ const ::hp::QCollection<q_dim> &q_collection,
const UpdateFlags update_flags)
:
mapping_collection (mapping_collection),
template <int dim, int q_dim>
- FEValuesBase<dim,q_dim>::FEValuesBase (const hp::QCollection<q_dim> &q_collection,
+ FEValuesBase<dim,q_dim>::FEValuesBase (const ::hp::QCollection<q_dim> &q_collection,
const UpdateFlags update_flags)
:
mapping_collection (default_mapping),
q_collection (q_collection),
update_flags (update_flags)
{}
-
+
}
+}
+
+namespace hp
+{
+
// -------------------------- FEValues -------------------------
const hp::QCollection<dim> &q_collection,
const UpdateFlags update_flags)
:
- internal::FEValuesBase<dim,dim> (mapping,
- q_collection,
- update_flags)
+ internal::hp::FEValuesBase<dim,dim> (mapping,
+ q_collection,
+ update_flags)
{}
const hp::QCollection<dim> &q_collection,
const UpdateFlags update_flags)
:
- internal::FEValuesBase<dim,dim> (q_collection,
- update_flags)
+ internal::hp::FEValuesBase<dim,dim> (q_collection,
+ update_flags)
{}
const hp::QCollection<dim-1> &q_collection,
const UpdateFlags update_flags)
:
- internal::FEValuesBase<dim,dim-1> (mapping,
- q_collection,
- update_flags)
+ internal::hp::FEValuesBase<dim,dim-1> (mapping,
+ q_collection,
+ update_flags)
{}
const hp::QCollection<dim-1> &q_collection,
const UpdateFlags update_flags)
:
- internal::FEValuesBase<dim,dim-1> (q_collection,
- update_flags)
+ internal::hp::FEValuesBase<dim,dim-1> (q_collection,
+ update_flags)
{}
const hp::QCollection<dim-1> &q_collection,
const UpdateFlags update_flags)
:
- internal::FEValuesBase<dim,dim-1> (mapping,
- q_collection,
- update_flags)
+ internal::hp::FEValuesBase<dim,dim-1> (mapping,
+ q_collection,
+ update_flags)
{}
const hp::QCollection<dim-1> &q_collection,
const UpdateFlags update_flags)
:
- internal::FEValuesBase<dim,dim-1> (q_collection,
- update_flags)
+ internal::hp::FEValuesBase<dim,dim-1> (q_collection,
+ update_flags)
{}
this->q_collection.get_quadrature (active_fe_index),
this->update_flags);
}
+}
// explicit instantiations
- namespace internal
+namespace internal
+{
+ namespace hp
{
template class FEValuesBase<deal_II_dimension,deal_II_dimension>;
#if deal_II_dimension >= 2
template class FEValuesBase<deal_II_dimension,deal_II_dimension-1>;
#endif
}
+}
+namespace hp
+{
template class FEValues<deal_II_dimension>;
#if deal_II_dimension >= 2
template class FEFaceValues<deal_II_dimension>;
// 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<deal_II_dimension,FEValues<deal_II_dimension> >;
-template class hp::internal::FEValuesMap<deal_II_dimension,FEFaceValues<deal_II_dimension> >;
-template class hp::internal::FEValuesMap<deal_II_dimension,FESubfaceValues<deal_II_dimension> >;
+template class internal::hp::FEValuesMap<deal_II_dimension,FEValues<deal_II_dimension> >;
+template class internal::hp::FEValuesMap<deal_II_dimension,FEFaceValues<deal_II_dimension> >;
+template class internal::hp::FEValuesMap<deal_II_dimension,FESubfaceValues<deal_II_dimension> >;
// $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
// lines on each level
for (unsigned int i=0; i<this->tria->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<unsigned int>(this->tria->levels[i]->lines.lines.size() *
this->selected_fe->dofs_per_line,
// lines and quads on each level
for (unsigned int i=0; i<this->tria->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<unsigned int> (this->tria->levels[i]->lines.lines.size() *
this->selected_fe->dofs_per_line,
// lines and quads on each level
for (unsigned int i=0; i<this->tria->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<unsigned int> (this->tria->levels[i]->lines.lines.size() *
this->selected_fe->dofs_per_line,