Reference documentation for deal.II version 8.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mg_dof_handler.h
1 // ---------------------------------------------------------------------
2 // @f$Id: mg_dof_handler.h 30036 2013-07-18 16:55:32Z maier @f$
3 //
4 // Copyright (C) 1998 - 2013 by the deal.II authors
5 //
6 // This file is part of the deal.II library.
7 //
8 // The deal.II library is free software; you can use it, redistribute
9 // it, and/or modify it under the terms of the GNU Lesser General
10 // Public License as published by the Free Software Foundation; either
11 // version 2.1 of the License, or (at your option) any later version.
12 // The full text of the license can be found in the file LICENSE at
13 // the top level of the deal.II distribution.
14 //
15 // ---------------------------------------------------------------------
16 
17 #ifndef __deal2__mg_dof_handler_h
18 #define __deal2__mg_dof_handler_h
19 
20 //TODO: MgDoFHandler should be marked deprecated, but is used everywhere...
21 //#warning MGDoFHandler is deprecated
22 
23 #include <deal.II/base/config.h>
24 #include <deal.II/dofs/dof_handler.h>
25 //#include <deal.II/multigrid/mg_dof_iterator_selector.h>
26 
27 DEAL_II_NAMESPACE_OPEN
28 
29 
30 namespace internal
31 {
32  namespace MGDoFHandler
33  {
34  struct Implementation;
35  }
36 }
37 
38 
41 
42 
60 template <int dim, int spacedim=dim>
61 class MGDoFHandler : public DoFHandler<dim,spacedim>
62 {
63  typedef ::internal::DoFHandler::Iterators<DoFHandler<dim,spacedim>, true> IteratorSelector;
64 public:
65  typedef typename IteratorSelector::CellAccessor cell_accessor;
66  typedef typename IteratorSelector::FaceAccessor face_accessor;
67 
68  typedef typename IteratorSelector::raw_line_iterator raw_line_iterator;
69  typedef typename IteratorSelector::line_iterator line_iterator;
70  typedef typename IteratorSelector::active_line_iterator active_line_iterator;
71 
72  typedef typename IteratorSelector::quad_iterator quad_iterator;
73  typedef typename IteratorSelector::active_quad_iterator active_quad_iterator;
74 
75  typedef typename IteratorSelector::hex_iterator hex_iterator;
76  typedef typename IteratorSelector::active_hex_iterator active_hex_iterator;
77 
78  typedef typename IteratorSelector::cell_iterator cell_iterator;
79  typedef typename IteratorSelector::active_cell_iterator active_cell_iterator;
80 
81  typedef typename IteratorSelector::face_iterator face_iterator;
82  typedef typename IteratorSelector::active_face_iterator active_face_iterator;
83 
88  static const unsigned int dimension = dim;
89 
90  static const unsigned int space_dimension = spacedim;
91 
97  MGDoFHandler ();
98 
104 
108  virtual ~MGDoFHandler ();
109 
124  virtual void distribute_dofs (const FiniteElement<dim,spacedim> &);
125 
134  cell_iterator begin (const unsigned int level = 0) const;
135 
143  cell_iterator end () const;
144 
152  cell_iterator end (const unsigned int level) const;
153 
155 
157 
161 DEAL_II_NAMESPACE_CLOSE
162 
163 
164 #endif
cell_iterator end() const
static const unsigned int dimension
SmartPointer< const Triangulation< dim, spacedim >, DoFHandler< dim, spacedim > > tria
Definition: dof_handler.h:920
virtual void distribute_dofs(const FiniteElement< dim, spacedim > &)
BlockCompressedSparsityPattern CompressedBlockSparsityPattern DEAL_II_DEPRECATED
cell_iterator begin(const unsigned int level=0) const
virtual ~MGDoFHandler()