]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Take over bugfix from 32042 and 32044
authorkronbichler <kronbichler@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 19 Dec 2013 07:35:26 +0000 (07:35 +0000)
committerkronbichler <kronbichler@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 19 Dec 2013 07:35:26 +0000 (07:35 +0000)
git-svn-id: https://svn.dealii.org/branches/releases/Branch-8-1@32061 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/source/fe/fe_face.cc
tests/bits/unit_support_points.cc
tests/bits/unit_support_points.output

index 03fda70a360e9a2763962fc80eca6a40745b84f0..1a21a6802d509c2c557ceb0c096bbd73d9cb6a41 100644 (file)
@@ -86,10 +86,14 @@ FE_FaceQ<dim,spacedim>::FE_FaceQ (const unsigned int degree)
         for (unsigned int e=0, c=0; e<dim; ++e)
           if (d!=e)
             {
+              // faces in y-direction are oriented differently
+              unsigned int renumber = i;
+              if (dim == 3 && d == 1)
+                renumber = i/(degree+1)+(degree+1)*(i%(degree+1));
               this->unit_support_points[n_face_dofs*2*d+i][e] =
-                this->unit_face_support_points[i][c];
+                this->unit_face_support_points[renumber][c];
               this->unit_support_points[n_face_dofs*(2*d+1)+i][e] =
-                this->unit_face_support_points[i][c];
+                this->unit_face_support_points[renumber][c];
               this->unit_support_points[n_face_dofs*(2*d+1)+i][d] = 1;
               ++c;
             }
index e7f92e6c6497bc6f82e5ec4e184aee7de5368163..c75f1a575ca29c17b5f3d0fa5e83e73ef2d2745a 100644 (file)
@@ -26,6 +26,7 @@
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_dgq.h>
 #include <deal.II/fe/fe_dgp.h>
+#include <deal.II/fe/fe_face.h>
 #include <deal.II/fe/fe_nedelec.h>
 #include <fstream>
 
@@ -105,6 +106,21 @@ void check2 (const FiniteElement<dim> &fe,
 
 
 
+template <int dim>
+void face_check()
+{
+  check1 (FE_FaceQ<dim>(2));
+  check2 (FE_FaceQ<dim>(2), 0);
+}
+
+
+
+template <>
+void face_check<1>()
+{}
+
+
+
 template <int dim>
 void check ()
 {
@@ -122,6 +138,7 @@ void check ()
   check2 (FESystem<dim> (FE_Q<dim> (2), 1,
                          FE_DGP<dim> (2), 1),
           0);
+  face_check<dim>();
 }
 
 
index 8c6f82331cf1c8495f23fa8c05c96009df91bc48..d7e00356c3a4cf8ce578955ce5c36cb9d74d4bf4 100644 (file)
@@ -44,6 +44,25 @@ DEAL::0 0.00000
 DEAL::1 1.00000
 DEAL::2 0.500000
 DEAL::dim=2, face=ok
+DEAL::dim=2, cell=ok
+DEAL::dim=2, face=ok
+DEAL::0 0.00000 0.00000
+DEAL::1 0.00000 0.500000
+DEAL::2 0.00000 1.00000
+DEAL::3 1.00000 0.00000
+DEAL::4 1.00000 0.500000
+DEAL::5 1.00000 1.00000
+DEAL::6 0.00000 0.00000
+DEAL::7 0.500000 0.00000
+DEAL::8 1.00000 0.00000
+DEAL::9 0.00000 1.00000
+DEAL::10 0.500000 1.00000
+DEAL::11 1.00000 1.00000
+DEAL::dim=2, cell=ok
+DEAL::0 0.00000
+DEAL::1 0.500000
+DEAL::2 1.00000
+DEAL::dim=2, face=ok
 DEAL::dim=3, cell=ok
 DEAL::dim=3, face=ok
 DEAL::dim=3, cell=ok
@@ -119,3 +138,70 @@ DEAL::6 0.500000 0.00000
 DEAL::7 0.500000 1.00000
 DEAL::8 0.500000 0.500000
 DEAL::dim=3, face=ok
+DEAL::dim=3, cell=ok
+DEAL::dim=3, face=ok
+DEAL::0 0.00000 0.00000 0.00000
+DEAL::1 0.00000 0.500000 0.00000
+DEAL::2 0.00000 1.00000 0.00000
+DEAL::3 0.00000 0.00000 0.500000
+DEAL::4 0.00000 0.500000 0.500000
+DEAL::5 0.00000 1.00000 0.500000
+DEAL::6 0.00000 0.00000 1.00000
+DEAL::7 0.00000 0.500000 1.00000
+DEAL::8 0.00000 1.00000 1.00000
+DEAL::9 1.00000 0.00000 0.00000
+DEAL::10 1.00000 0.500000 0.00000
+DEAL::11 1.00000 1.00000 0.00000
+DEAL::12 1.00000 0.00000 0.500000
+DEAL::13 1.00000 0.500000 0.500000
+DEAL::14 1.00000 1.00000 0.500000
+DEAL::15 1.00000 0.00000 1.00000
+DEAL::16 1.00000 0.500000 1.00000
+DEAL::17 1.00000 1.00000 1.00000
+DEAL::18 0.00000 0.00000 0.00000
+DEAL::19 0.00000 0.00000 0.500000
+DEAL::20 0.00000 0.00000 1.00000
+DEAL::21 0.500000 0.00000 0.00000
+DEAL::22 0.500000 0.00000 0.500000
+DEAL::23 0.500000 0.00000 1.00000
+DEAL::24 1.00000 0.00000 0.00000
+DEAL::25 1.00000 0.00000 0.500000
+DEAL::26 1.00000 0.00000 1.00000
+DEAL::27 0.00000 1.00000 0.00000
+DEAL::28 0.00000 1.00000 0.500000
+DEAL::29 0.00000 1.00000 1.00000
+DEAL::30 0.500000 1.00000 0.00000
+DEAL::31 0.500000 1.00000 0.500000
+DEAL::32 0.500000 1.00000 1.00000
+DEAL::33 1.00000 1.00000 0.00000
+DEAL::34 1.00000 1.00000 0.500000
+DEAL::35 1.00000 1.00000 1.00000
+DEAL::36 0.00000 0.00000 0.00000
+DEAL::37 0.500000 0.00000 0.00000
+DEAL::38 1.00000 0.00000 0.00000
+DEAL::39 0.00000 0.500000 0.00000
+DEAL::40 0.500000 0.500000 0.00000
+DEAL::41 1.00000 0.500000 0.00000
+DEAL::42 0.00000 1.00000 0.00000
+DEAL::43 0.500000 1.00000 0.00000
+DEAL::44 1.00000 1.00000 0.00000
+DEAL::45 0.00000 0.00000 1.00000
+DEAL::46 0.500000 0.00000 1.00000
+DEAL::47 1.00000 0.00000 1.00000
+DEAL::48 0.00000 0.500000 1.00000
+DEAL::49 0.500000 0.500000 1.00000
+DEAL::50 1.00000 0.500000 1.00000
+DEAL::51 0.00000 1.00000 1.00000
+DEAL::52 0.500000 1.00000 1.00000
+DEAL::53 1.00000 1.00000 1.00000
+DEAL::dim=3, cell=ok
+DEAL::0 0.00000 0.00000
+DEAL::1 0.500000 0.00000
+DEAL::2 1.00000 0.00000
+DEAL::3 0.00000 0.500000
+DEAL::4 0.500000 0.500000
+DEAL::5 1.00000 0.500000
+DEAL::6 0.00000 1.00000
+DEAL::7 0.500000 1.00000
+DEAL::8 1.00000 1.00000
+DEAL::dim=3, face=ok

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.