]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Resolve a couple issues with the new no_requirements flag.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Wed, 23 Feb 2011 16:44:04 +0000 (16:44 +0000)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Wed, 23 Feb 2011 16:44:04 +0000 (16:44 +0000)
git-svn-id: https://svn.dealii.org/trunk@23436 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/include/deal.II/fe/fe_base.h
deal.II/source/dofs/dof_tools.cc
deal.II/source/fe/fe_system.cc

index 6a4f611fe893d16e444bb263a267c3716ee213d9..ec46db31f740e82657d60cb366cc46d1ef133799 100644 (file)
@@ -698,6 +698,11 @@ namespace FiniteElementDomination
              return neither_element_dominates;
 
        case either_element_can_dominate:
+             if (d2 == no_requirements)
+               return either_element_can_dominate;
+             else
+               return d2;
+
         case no_requirements:
              return d2;
 
index 9a96aba01cc65fb5a51b38a174aa8d067a42c120..7d12eb0629f200b2c4dc24335a6d22d8a8174d21 100644 (file)
@@ -2340,7 +2340,7 @@ namespace internal
                                                 // interfaces with
                                                 // artificial cells
                FiniteElementDomination::Domination
-                 mother_face_dominates = FiniteElementDomination::either_element_can_dominate;
+                 mother_face_dominates = FiniteElementDomination::no_requirements;
 
                if (DoFHandlerSupportsDifferentFEs<DH>::value == true)
                  for (unsigned int c=0; c<cell->face(face)->number_of_children(); ++c)
@@ -2964,6 +2964,18 @@ namespace internal
                          break;
                        }
 
+                       case FiniteElementDomination::no_requirements:
+                                                              // there
+                                                              // are no
+                                                              // continuity
+                                                              // requirements
+                                                              // between
+                                                              // the two
+                                                              // elements. record
+                                                              // no
+                                                              // constraints
+                             break;
+
                        default:
                                                               // we shouldn't get
                                                               // here
index 61a0a48992cf9feebe5ef645055408b346e6891a..42552af2e88957a8dcae1914052b9db8c90dffdd 100644 (file)
@@ -2499,7 +2499,7 @@ compare_for_face_domination (const FiniteElement<dim,spacedim> &fe_other) const
              ExcNotImplemented());
 
       FiniteElementDomination::Domination
-       domination = FiniteElementDomination::either_element_can_dominate;
+       domination = FiniteElementDomination::no_requirements;
 
                                       // loop over all base elements and do
                                       // some sanity checks
@@ -2515,8 +2515,10 @@ compare_for_face_domination (const FiniteElement<dim,spacedim> &fe_other) const
                                           // for this pair of base elements,
                                           // check who dominates and combine
                                           // with previous result
-         domination = domination & (this->base_element(b)
-                                    .compare_for_face_domination (fe_sys_other->base_element(b)));
+         const FiniteElementDomination::Domination
+           base_domination = (this->base_element(b)
+                              .compare_for_face_domination (fe_sys_other->base_element(b)));
+         domination = domination & base_domination;
        }
 
                                       // if we've gotten here, then we've

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.