]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Add unit support points for FE_TraceQ 3082/head
authorMartin Kronbichler <kronbichler@lnm.mw.tum.de>
Thu, 8 Sep 2016 12:45:19 +0000 (14:45 +0200)
committerMartin Kronbichler <kronbichler@lnm.mw.tum.de>
Thu, 8 Sep 2016 13:24:42 +0000 (15:24 +0200)
doc/news/changes.h
source/fe/fe_trace.cc
tests/bits/unit_support_points.cc
tests/bits/unit_support_points.output

index 3ff65ab14b534b2058ee8e3158d637285cca96dc..8efa301f5769f3c040ac970ccc4ac1a2bdb618c1 100644 (file)
@@ -513,6 +513,11 @@ inconvenience this causes.
 <h3>Specific improvements</h3>
 
 <ol>
+ <li> Fixed: FE_TraceQ now provides unit support points.
+ <br>
+ (Martin Kronbichler, 2016/09/08)
+ </li>
+
  <li> Fixed: Fix MPI_InitFinalize by correctly initializing and destroying
    all p4est/libsc related objects by calls to sc_init(), p4est_init(), and
    sc_finalize(); compatibility with p4est versions >1.1.
index 78992e00edfc0314fef146dda689311ae09bcdf9..1262f9c580787ec2047ba4f4c9de617455eca6e2 100644 (file)
@@ -49,6 +49,14 @@ FE_TraceQ<dim,spacedim>::FE_TraceQ (const unsigned int degree)
 
   // Initialize face support points
   this->unit_face_support_points = fe_q.get_unit_face_support_points();
+
+  // initialize unit support points (this makes it possible to assign initial
+  // values to FE_TraceQ). Note that we simply take the points of fe_q but
+  // skip the last ones which are associated with the interior of FE_Q.
+  this->unit_support_points.resize(this->dofs_per_cell);
+  for (unsigned int i=0; i<this->dofs_per_cell; ++i)
+    this->unit_support_points[i] = fe_q.get_unit_support_points()[i];
+
   // Initialize constraint matrices
   this->interface_constraints = fe_q.constraints();
 }
index 952610438cd6b61b5859cd37247e6fa80c216ddf..6ca55bc74b814ae1e27bfc10be1a3702691193c4 100644 (file)
@@ -26,6 +26,7 @@
 #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_trace.h>
 #include <deal.II/fe/fe_nedelec.h>
 #include <fstream>
 
@@ -110,6 +111,8 @@ void face_check()
 {
   check1 (FE_FaceQ<dim>(2));
   check2 (FE_FaceQ<dim>(2), 0);
+  check1 (FE_TraceQ<dim>(2));
+  check2 (FE_TraceQ<dim>(2), 0);
 }
 
 
index d7e00356c3a4cf8ce578955ce5c36cb9d74d4bf4..445c69ad6965524b68ba8da11a1fe074bb6c92db 100644 (file)
@@ -63,6 +63,21 @@ DEAL::0 0.00000
 DEAL::1 0.500000
 DEAL::2 1.00000
 DEAL::dim=2, face=ok
+DEAL::dim=2, cell=ok
+DEAL::dim=2, face=ok
+DEAL::0 0.00000 0.00000
+DEAL::1 1.00000 0.00000
+DEAL::2 0.00000 1.00000
+DEAL::3 1.00000 1.00000
+DEAL::4 0.00000 0.500000
+DEAL::5 1.00000 0.500000
+DEAL::6 0.500000 0.00000
+DEAL::7 0.500000 1.00000
+DEAL::dim=2, cell=ok
+DEAL::0 0.00000
+DEAL::1 1.00000
+DEAL::2 0.500000
+DEAL::dim=2, face=ok
 DEAL::dim=3, cell=ok
 DEAL::dim=3, face=ok
 DEAL::dim=3, cell=ok
@@ -205,3 +220,42 @@ DEAL::6 0.00000 1.00000
 DEAL::7 0.500000 1.00000
 DEAL::8 1.00000 1.00000
 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 1.00000 0.00000 0.00000
+DEAL::2 0.00000 1.00000 0.00000
+DEAL::3 1.00000 1.00000 0.00000
+DEAL::4 0.00000 0.00000 1.00000
+DEAL::5 1.00000 0.00000 1.00000
+DEAL::6 0.00000 1.00000 1.00000
+DEAL::7 1.00000 1.00000 1.00000
+DEAL::8 0.00000 0.500000 0.00000
+DEAL::9 1.00000 0.500000 0.00000
+DEAL::10 0.500000 0.00000 0.00000
+DEAL::11 0.500000 1.00000 0.00000
+DEAL::12 0.00000 0.500000 1.00000
+DEAL::13 1.00000 0.500000 1.00000
+DEAL::14 0.500000 0.00000 1.00000
+DEAL::15 0.500000 1.00000 1.00000
+DEAL::16 0.00000 0.00000 0.500000
+DEAL::17 1.00000 0.00000 0.500000
+DEAL::18 0.00000 1.00000 0.500000
+DEAL::19 1.00000 1.00000 0.500000
+DEAL::20 0.00000 0.500000 0.500000
+DEAL::21 1.00000 0.500000 0.500000
+DEAL::22 0.500000 0.00000 0.500000
+DEAL::23 0.500000 1.00000 0.500000
+DEAL::24 0.500000 0.500000 0.00000
+DEAL::25 0.500000 0.500000 1.00000
+DEAL::dim=3, cell=ok
+DEAL::0 0.00000 0.00000
+DEAL::1 1.00000 0.00000
+DEAL::2 0.00000 1.00000
+DEAL::3 1.00000 1.00000
+DEAL::4 0.00000 0.500000
+DEAL::5 1.00000 0.500000
+DEAL::6 0.500000 0.00000
+DEAL::7 0.500000 1.00000
+DEAL::8 0.500000 0.500000
+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.