]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
New test.
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Sun, 19 Sep 2010 14:57:53 +0000 (14:57 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Sun, 19 Sep 2010 14:57:53 +0000 (14:57 +0000)
git-svn-id: https://svn.dealii.org/trunk@22054 0785d39b-7218-0410-832d-ea1e28bc413d

tests/deal.II/fe_values_view_10_single_02.cc [new file with mode: 0644]
tests/deal.II/fe_values_view_10_single_02/cmp/generic [new file with mode: 0644]

diff --git a/tests/deal.II/fe_values_view_10_single_02.cc b/tests/deal.II/fe_values_view_10_single_02.cc
new file mode 100644 (file)
index 0000000..99cf715
--- /dev/null
@@ -0,0 +1,111 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$ 
+//
+//    Copyright (C) 2007, 2008, 2010 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// like _10, but with only a single non-primitive element. this test exists in
+// order to find out why at the time of writing the test the branch
+// implementing distributed meshes produced different output for the _10 test
+//
+// this test uses the FE_Nedelec as the single non-primitive element
+
+#include "../tests.h"
+#include <base/logstream.h>
+#include <base/function.h>
+#include <base/quadrature_lib.h>
+#include <lac/vector.h>
+#include <grid/grid_generator.h>
+#include <grid/tria_boundary_lib.h>
+#include <dofs/dof_handler.h>
+#include <fe/fe_q.h>
+#include <fe/fe_dgq.h>
+#include <fe/fe_nedelec.h>
+#include <fe/fe_raviart_thomas.h>
+#include <fe/fe_system.h>
+#include <fe/fe_values.h>
+#include <fe/mapping_q1.h>
+
+#include <fstream>
+
+
+
+template<int dim>
+void test (const Triangulation<dim>& tr,
+          const FiniteElement<dim>& fe)
+{
+  deallog << "FE=" << fe.get_name()
+         << std::endl;
+
+  DoFHandler<dim> dof(tr);
+  dof.distribute_dofs(fe);
+
+  Vector<double> fe_function(dof.n_dofs());
+  for (unsigned int i=0; i<dof.n_dofs(); ++i)
+    fe_function(i) = i+1;
+  
+  const QGauss<dim> quadrature(2);
+  FEValues<dim> fe_values (fe, quadrature,
+                          update_values | update_gradients | update_hessians);
+  fe_values.reinit (dof.begin_active());
+
+  std::vector<Tensor<2,dim> > scalar_values (quadrature.n_quadrature_points);
+  std::vector<std::vector<Tensor<2,dim> > >
+    vector_values (quadrature.n_quadrature_points,
+                  std::vector<Tensor<2,dim> >(fe.n_components()));
+
+  fe_values.get_function_hessians (fe_function, vector_values);
+  
+  for (unsigned int c=0; c<fe.n_components(); ++c)
+    {
+      FEValuesExtractors::Scalar single_component (c);
+      fe_values[single_component].get_function_hessians (fe_function,
+                                                        scalar_values);
+      deallog << "component=" << c << std::endl;
+      
+      for (unsigned int q=0; q<fe_values.n_quadrature_points; ++q)
+       {
+         deallog << scalar_values[q] << std::endl;
+         Assert ((scalar_values[q] - vector_values[q][c]).norm()
+                 <= 1e-12 * scalar_values[q].norm(),
+                 ExcInternalError());
+       }
+    }
+}
+
+
+
+template<int dim>
+void test_hyper_sphere()
+{
+  Triangulation<dim> tr;
+  GridGenerator::hyper_ball(tr);
+
+  static const HyperBallBoundary<dim> boundary;
+  tr.set_boundary (0, boundary);
+
+  FE_Nedelec<dim> fe(1);
+  test(tr, fe);
+}
+
+
+int main()
+{
+  std::ofstream logfile ("fe_values_view_10_single_02/output");
+  deallog << std::setprecision (3);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test_hyper_sphere<2>();
+  test_hyper_sphere<3>();
+}
diff --git a/tests/deal.II/fe_values_view_10_single_02/cmp/generic b/tests/deal.II/fe_values_view_10_single_02/cmp/generic
new file mode 100644 (file)
index 0000000..89df4a6
--- /dev/null
@@ -0,0 +1,40 @@
+
+DEAL::FE=FE_Nedelec<2>(1)
+DEAL::component=0
+DEAL::1.03e-25 -17.8 -30.7 14.9
+DEAL::0.00 -17.8 -30.7 234.
+DEAL::0.00 321. 247. -363.
+DEAL::0.00 321. 247. 1.02e+03
+DEAL::component=1
+DEAL::7.43 -154. -143. 177.
+DEAL::7.43 219. 164. 370.
+DEAL::406. -844. -809. 839.
+DEAL::406. 1.02e+03 1.17e+03 1.53e+03
+DEAL::FE=FE_Nedelec<3>(1)
+DEAL::component=0
+DEAL::0.00 -1.26e+03 -622. -1.26e+03 -32.6 -13.2 -622. -13.2 -32.6
+DEAL::0.00 -1.26e+03 -622. -1.26e+03 2.57e+03 1.10e+03 -622. 1.10e+03 1.84e+03
+DEAL::-7.09e-08 1.34e+03 -728. 1.34e+03 -32.6 13.2 -728. 13.2 -32.6
+DEAL::0.00 1.34e+03 -728. 1.34e+03 2.57e+03 -1.31e+03 -728. -1.31e+03 2.05e+03
+DEAL::0.00 -1.37e+03 1.25e+03 -1.37e+03 -32.6 13.2 1.25e+03 13.2 -32.6
+DEAL::0.00 -1.37e+03 1.25e+03 -1.37e+03 2.79e+03 -1.31e+03 1.25e+03 -1.31e+03 1.84e+03
+DEAL::7.72e-08 1.45e+03 1.36e+03 1.45e+03 -32.6 -13.2 1.36e+03 -13.2 -32.6
+DEAL::0.00 1.45e+03 1.36e+03 1.45e+03 2.79e+03 1.52e+03 1.36e+03 1.52e+03 2.05e+03
+DEAL::component=1
+DEAL::-32.6 -1.33e+03 -13.2 -1.33e+03 -2.47e-14 -229. -13.2 -229. -32.6
+DEAL::-32.6 1.41e+03 13.2 1.41e+03 0.00 -335. 13.2 -335. -32.6
+DEAL::2.71e+03 -1.33e+03 1.15e+03 -1.33e+03 1.23e-07 -229. 1.15e+03 -229. 1.05e+03
+DEAL::2.71e+03 1.41e+03 -1.36e+03 1.41e+03 9.06e-08 -335. -1.36e+03 -335. 1.27e+03
+DEAL::-32.6 -1.44e+03 13.2 -1.44e+03 9.40e-15 857. 13.2 857. -32.6
+DEAL::-32.6 1.51e+03 -13.2 1.51e+03 -9.30e-08 963. -13.2 963. -32.6
+DEAL::2.92e+03 -1.44e+03 -1.36e+03 -1.44e+03 8.09e-08 857. -1.36e+03 857. 1.05e+03
+DEAL::2.92e+03 1.51e+03 1.58e+03 1.51e+03 0.00 963. 1.58e+03 963. 1.27e+03
+DEAL::component=2
+DEAL::-32.6 -13.2 -937. -13.2 -32.6 -478. -937. -478. -1.42e-08
+DEAL::-32.6 13.2 1.01e+03 13.2 -32.6 -584. 1.01e+03 -584. 4.18e-08
+DEAL::-32.6 13.2 -1.04e+03 13.2 -32.6 739. -1.04e+03 739. 7.57e-08
+DEAL::-32.6 -13.2 1.12e+03 -13.2 -32.6 845. 1.12e+03 845. -2.47e-08
+DEAL::1.92e+03 1.21e+03 -937. 1.21e+03 1.18e+03 -478. -937. -478. -6.07e-15
+DEAL::1.92e+03 -1.42e+03 1.01e+03 -1.42e+03 1.40e+03 -584. 1.01e+03 -584. 3.67e-14
+DEAL::2.13e+03 -1.42e+03 -1.04e+03 -1.42e+03 1.18e+03 739. -1.04e+03 739. 1.18e-14
+DEAL::2.13e+03 1.63e+03 1.12e+03 1.63e+03 1.40e+03 845. 1.12e+03 845. 0.00

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.