]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Add member functions. Document.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Wed, 25 Aug 2010 15:43:00 +0000 (15:43 +0000)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Wed, 25 Aug 2010 15:43:00 +0000 (15:43 +0000)
git-svn-id: https://svn.dealii.org/trunk@21710 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/multigrid/mg_constraints.h

index 4c9c8e798d89b27fd5d183fee94b3ba79ac6a81a..4eaef26ea2d12d3bfe17054b31c83dd997ae4589 100644 (file)
@@ -72,13 +72,15 @@ class MGConstraints : public Subscriptor
                                      * is subject to a boundary
                                      * constraint.
                                      */
-    bool is_boundary_index(unsigned int level, unsigned int index) const;
+    bool is_boundary_index (const unsigned int level,
+                           const unsigned int index) const;
 
                                     /**
                                      * Determine whether a dof index
                                      * is at the refinement edge.
                                      */
-    bool at_refinement_edge(unsigned int level, unsigned int index) const;
+    bool at_refinement_edge (const unsigned int level,
+                            const unsigned int index) const;
 
                                     /**
                                      * Determine whether a dof index
@@ -86,7 +88,38 @@ class MGConstraints : public Subscriptor
                                       * subject to a boundary
                                      * constraint .
                                      */
-    bool at_refinement_edge_boundary(unsigned int level, unsigned int index) const;
+    bool at_refinement_edge_boundary (const unsigned int level,
+                                     const unsigned int index) const;
+
+                                    /**
+                                     * Return the indices of dofs for each
+                                     * level that lie on the boundary of the
+                                     * domain.
+                                     */
+    const std::vector<std::set<unsigned int> > &
+      get_boundary_indices () const;
+
+                                    /**
+                                     * Return the indices of dofs for each
+                                     * level that lie on the refinement edge
+                                     * (i.e. are on faces between cells of
+                                     * this level and cells on the level
+                                     * below).
+                                     */
+    const std::vector<std::set<unsigned int> > &
+      get_refinement_edge_indices () const;
+
+                                    /**
+                                     * Return the indices of dofs for each
+                                     * level that are in the intersection of
+                                     * the sets returned by
+                                     * get_boundary_indices() and
+                                     * get_refinement_edge_indices().
+                                     */
+    const std::vector<std::set<unsigned int> > &
+      get_refinement_edge_boundary_indices () const;
+
+  private:
 
                                     /**
                                      * The indices of boundary dofs
@@ -94,8 +127,6 @@ class MGConstraints : public Subscriptor
                                      */
     std::vector<std::set<unsigned int> > boundary_indices;
 
-  private:
-
                                     /**
                                      * The degrees of freedom on the
                                      * refinement edge between a
@@ -169,7 +200,8 @@ MGConstraints::clear()
 
 inline
 bool
-MGConstraints::is_boundary_index(unsigned int level, unsigned int index) const
+MGConstraints::is_boundary_index (const unsigned int level, 
+                                 const unsigned int index) const
 {
   AssertIndexRange(level, boundary_indices.size());
   if(boundary_indices[level].find(index) != boundary_indices[level].end())
@@ -181,7 +213,8 @@ MGConstraints::is_boundary_index(unsigned int level, unsigned int index) const
 
 inline
 bool
-MGConstraints::at_refinement_edge(unsigned int level, unsigned int index) const
+MGConstraints::at_refinement_edge (const unsigned int level,
+                                  const unsigned int index) const
 {
   AssertIndexRange(level, refinement_edge_indices.size());
   AssertIndexRange(index, refinement_edge_indices[level].size());
@@ -192,7 +225,8 @@ MGConstraints::at_refinement_edge(unsigned int level, unsigned int index) const
 
 inline
 bool
-MGConstraints::at_refinement_edge_boundary(unsigned int level, unsigned int index) const
+MGConstraints::at_refinement_edge_boundary (const unsigned int level,
+                                           const unsigned int index) const
 {
   AssertIndexRange(level, refinement_edge_boundary_indices.size());
   AssertIndexRange(index, refinement_edge_boundary_indices[level].size());

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.