]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Commit a new test that presently falls on its face
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 9 Aug 2006 03:36:15 +0000 (03:36 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 9 Aug 2006 03:36:15 +0000 (03:36 +0000)
git-svn-id: https://svn.dealii.org/trunk@13622 0785d39b-7218-0410-832d-ea1e28bc413d

tests/bits/dof_tools_19.cc
tests/bits/rt_crash_01.cc [new file with mode: 0644]
tests/bits/rt_crash_01/cmp/generic [new file with mode: 0644]

index ad17d8502b1b1736e720a6f01b5de83550be7c35..2b62edf9f7b72daaccc2ce580babcef43d7572ef 100644 (file)
@@ -1,4 +1,4 @@
-//----------------------------  dof_tools_3.cc  ---------------------------
+//----------------------------  dof_tools_19.cc  ---------------------------
 //    $Id: dof_tools_03.cc 11749 2005-11-09 19:11:20Z wolf $
 //    Version: $Name$ 
 //
@@ -9,7 +9,7 @@
 //    to the file deal.II/doc/license.html for the  text  and
 //    further information on this license.
 //
-//----------------------------  dof_tools_3.cc  ---------------------------
+//----------------------------  dof_tools_19.cc  ---------------------------
 
 #include "../tests.h"
 #include "dof_tools_common.cc"
@@ -46,7 +46,7 @@ check_this (const DoFHandler<dim> &dof_handler)
                                    // Raviart-Thomas element. don't
                                    // check this element for that
                                    // reason. this case is covered in
-                                   // rt_3, however
+                                   // rt_crash_01, however
   if (dof_handler.get_fe().get_name().find ("RaviartThomas") !=
       std::string::npos)
     return;
diff --git a/tests/bits/rt_crash_01.cc b/tests/bits/rt_crash_01.cc
new file mode 100644 (file)
index 0000000..02ef05a
--- /dev/null
@@ -0,0 +1,76 @@
+//----------------------------  rt_crash_01.cc  ---------------------------
+//    $Id: dof_tools_03.cc 11749 2005-11-09 19:11:20Z wolf $
+//    Version: $Name$ 
+//
+//    Copyright (C) 2003, 2004, 2006 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.
+//
+//----------------------------  rt_crash_01.cc  ---------------------------
+
+#include "../tests.h"
+#include "dof_tools_common.cc"
+#include <dofs/dof_constraints.h>
+#include <base/function.h>
+#include <base/quadrature_lib.h>
+#include <numerics/vectors.h>
+#include <lac/vector.h>
+#include <dofs/dof_tools.h>
+
+// check an abort in FEPolyTensor when used with RaviartThomas
+// elements, when computing some sort of edge directions. This is the
+// case left over from dof_tools_19
+
+std::string output_file_name = "rt_crash_01/output";
+
+
+template <int dim>
+void
+check_this (const DoFHandler<dim> &dof_handler)
+{
+                                   // there's presently a crash in the
+                                   // Raviart-Thomas element. only
+                                   // check for these elements,
+                                   // everything else is handled in
+                                   // dof_tools_19
+  if (dof_handler.get_fe().get_name().find ("RaviartThomas") ==
+      std::string::npos)
+    return;
+  
+  ConstantFunction<dim> test_func (1, dof_handler.get_fe().n_components ()); 
+
+                                   // don't run this test if hanging
+                                   // nodes are not implemented
+  if (dof_handler.get_fe().constraints_are_implemented() == false)
+    return;
+
+  ConstraintMatrix cm;
+  DoFTools::make_hanging_node_constraints (dof_handler, cm);
+  cm.close ();
+
+  deallog << cm.n_constraints () << std::endl;
+  deallog << cm.max_constraint_indirections () << std::endl;
+
+  // L_2 project constant function onto field
+  QGauss<dim> quadrature (6);
+  Vector<double> solution (dof_handler.n_dofs ());
+
+  VectorTools::project (dof_handler, cm,
+                       quadrature, test_func,
+                       solution);
+  cm.distribute (solution);
+
+  // Evaluate error
+  Vector<double> cellwise_errors (dof_handler.get_tria ().n_active_cells());
+  VectorTools::integrate_difference (dof_handler, solution, test_func,
+                                     cellwise_errors, quadrature,
+                                     VectorTools::L2_norm);
+  const double p_l2_error = cellwise_errors.l2_norm();
+
+  Assert (p_l2_error < 1e-14, ExcInternalError());
+  
+  deallog << "L2_Error : " << p_l2_error << std::endl;
+}
diff --git a/tests/bits/rt_crash_01/cmp/generic b/tests/bits/rt_crash_01/cmp/generic
new file mode 100644 (file)
index 0000000..0edb031
--- /dev/null
@@ -0,0 +1,300 @@
+
+DEAL::Checking Q1 in 1d:
+DEAL::Checking Q1 in 2d:
+DEAL::2
+DEAL::2
+DEAL:cg::Starting value 0.31
+DEAL:cg::Convergence step 15 value 0
+DEAL::L2_Error : 0
+DEAL::Checking Q1 in 3d:
+DEAL::16
+DEAL::4
+DEAL:cg::Starting value 0.21
+DEAL:cg::Convergence step 22 value 0
+DEAL::L2_Error : 0
+DEAL::Checking Q2 in 1d:
+DEAL::Checking Q2 in 2d:
+DEAL::6
+DEAL::3
+DEAL:cg::Starting value 0.21
+DEAL:cg::Convergence step 16 value 0
+DEAL::L2_Error : 0
+DEAL::Checking Q2 in 3d:
+DEAL::72
+DEAL::9
+DEAL:cg::Starting value 0.12
+DEAL:cg::Convergence step 21 value 0
+DEAL::L2_Error : 0
+DEAL::Checking Q3 in 1d:
+DEAL::Checking Q3 in 2d:
+DEAL::10
+DEAL::4
+DEAL:cg::Starting value 0.13
+DEAL:cg::Convergence step 18 value 0
+DEAL::L2_Error : 0
+DEAL::Checking Q3 in 3d:
+DEAL::160
+DEAL::16
+DEAL:cg::Starting value 0.059
+DEAL:cg::Convergence step 25 value 0
+DEAL::L2_Error : 0
+DEAL::Checking DGQ0 in 1d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.50
+DEAL:cg::Convergence step 1 value 0
+DEAL::L2_Error : 0
+DEAL::Checking DGQ0 in 2d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.40
+DEAL:cg::Convergence step 1 value 0
+DEAL::L2_Error : 0
+DEAL::Checking DGQ0 in 3d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.31
+DEAL:cg::Convergence step 1 value 0
+DEAL::L2_Error : 0
+DEAL::Checking DGQ1 in 1d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.35
+DEAL:cg::Convergence step 2 value 0
+DEAL::L2_Error : 0
+DEAL::Checking DGQ1 in 2d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.20
+DEAL:cg::Convergence step 4 value 0
+DEAL::L2_Error : 0
+DEAL::Checking DGQ1 in 3d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.11
+DEAL:cg::Convergence step 8 value 0
+DEAL::L2_Error : 0
+DEAL::Checking DGQ3 in 1d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.28
+DEAL:cg::Convergence step 4 value 0
+DEAL::L2_Error : 0
+DEAL::Checking DGQ3 in 2d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.12
+DEAL:cg::Convergence step 14 value 0
+DEAL::L2_Error : 0
+DEAL::Checking DGQ3 in 3d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.055
+DEAL:cg::Convergence step 23 value 0
+DEAL::L2_Error : 0
+DEAL::Checking DGP0 in 1d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.50
+DEAL:cg::Convergence step 1 value 0
+DEAL::L2_Error : 0
+DEAL::Checking DGP0 in 2d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.40
+DEAL:cg::Convergence step 1 value 0
+DEAL::L2_Error : 0
+DEAL::Checking DGP0 in 3d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.31
+DEAL:cg::Convergence step 1 value 0
+DEAL::L2_Error : 0
+DEAL::Checking DGP1 in 1d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.50
+DEAL:cg::Convergence step 1 value 0
+DEAL::L2_Error : 0
+DEAL::Checking DGP1 in 2d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.40
+DEAL:cg::Convergence step 1 value 0
+DEAL::L2_Error : 0
+DEAL::Checking DGP1 in 3d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.31
+DEAL:cg::Convergence step 2 value 0
+DEAL::L2_Error : 0
+DEAL::Checking DGP3 in 1d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.50
+DEAL:cg::Convergence step 1 value 0
+DEAL::L2_Error : 0
+DEAL::Checking DGP3 in 2d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.40
+DEAL:cg::Convergence step 2 value 0
+DEAL::L2_Error : 0
+DEAL::Checking DGP3 in 3d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.31
+DEAL:cg::Convergence step 2 value 0
+DEAL::L2_Error : 0
+DEAL::Checking Nedelec1 in 2d:
+DEAL::4
+DEAL::1
+DEAL:cg::Starting value 1.2
+DEAL:cg::Convergence step 10 value 0
+DEAL::L2_Error : 0
+DEAL::Checking Nedelec1 in 3d:
+DEAL::40
+DEAL::2
+DEAL:cg::Starting value 0.87
+DEAL:cg::Convergence step 19 value 0
+DEAL::L2_Error : 0
+DEAL::Checking RaviartThomas0 in 2d:
+DEAL::Checking RaviartThomas1 in 2d:
+DEAL::Checking RaviartThomas2 in 2d:
+DEAL::Checking RaviartThomasNodal0 in 2d:
+DEAL::Checking RaviartThomasNodal1 in 2d:
+DEAL::Checking RaviartThomasNodal2 in 2d:
+DEAL::Checking RaviartThomasNodal0 in 3d:
+DEAL::Checking RaviartThomasNodal1 in 3d:
+DEAL::Checking RaviartThomasNodal2 in 3d:
+DEAL::Checking FE_Q<1>(1)3 in 1d:
+DEAL::Checking FE_DGQ<1>(2)2 in 1d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.50
+DEAL:cg::Convergence step 3 value 0
+DEAL::L2_Error : 0
+DEAL::Checking FE_DGP<1>(3)1 in 1d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.50
+DEAL:cg::Convergence step 1 value 0
+DEAL::L2_Error : 0
+DEAL::Checking FE_Q<2>(1)3 in 2d:
+DEAL::6
+DEAL::2
+DEAL:cg::Starting value 0.53
+DEAL:cg::Convergence step 15 value 0
+DEAL::L2_Error : 0
+DEAL::Checking FE_DGQ<2>(2)2 in 2d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.28
+DEAL:cg::Convergence step 9 value 0
+DEAL::L2_Error : 0
+DEAL::Checking FE_DGP<2>(3)1 in 2d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.40
+DEAL:cg::Convergence step 2 value 0
+DEAL::L2_Error : 0
+DEAL::Checking FE_Q<3>(1)3 in 3d:
+DEAL::48
+DEAL::4
+DEAL:cg::Starting value 0.37
+DEAL:cg::Convergence step 22 value 0
+DEAL::L2_Error : 0
+DEAL::Checking FE_DGQ<3>(2)2 in 3d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.16
+DEAL:cg::Convergence step 18 value 0
+DEAL::L2_Error : 0
+DEAL::Checking FE_DGP<3>(3)1 in 3d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.31
+DEAL:cg::Convergence step 2 value 0
+DEAL::L2_Error : 0
+DEAL::Checking FE_Q<1>(1)3FE_DGQ<1>(2)2 in 1d:
+DEAL::Checking FE_DGQ<1>(2)2FE_DGP<1>(3)1 in 1d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.71
+DEAL:cg::Convergence step 4 value 0
+DEAL::L2_Error : 0
+DEAL::Checking FE_DGP<1>(3)1FE_DGQ<1>(2)2 in 1d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.71
+DEAL:cg::Convergence step 4 value 0
+DEAL::L2_Error : 0
+DEAL::Checking FE_Q<2>(1)3FE_DGQ<2>(2)2 in 2d:
+DEAL::6
+DEAL::2
+DEAL:cg::Starting value 0.60
+DEAL:cg::Convergence step 16 value 0
+DEAL::L2_Error : 0
+DEAL::Checking FE_DGQ<2>(2)2FE_DGP<2>(3)1 in 2d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.48
+DEAL:cg::Convergence step 10 value 0
+DEAL::L2_Error : 0
+DEAL::Checking FE_DGP<2>(3)1FE_DGQ<2>(2)2 in 2d:
+DEAL::0
+DEAL::0
+DEAL:cg::Starting value 0.48
+DEAL:cg::Convergence step 10 value 0
+DEAL::L2_Error : 0
+DEAL::Checking FE_Q<1>(1)3FE_DGP<1>(3)1FE_Q<1>(1)3 in 1d:
+DEAL::Checking FE_DGQ<1>(2)2FE_DGQ<1>(2)2FE_Q<1>(3)3 in 1d:
+DEAL::Checking FE_DGP<1>(3)1FE_DGP<1>(3)1FE_Q<1>(2)3 in 1d:
+DEAL::Checking FE_Q<2>(1)3FE_DGP<2>(3)1FE_Q<2>(1)3 in 2d:
+DEAL::12
+DEAL::2
+DEAL:cg::Starting value 0.85
+DEAL:cg::Convergence step 15 value 0
+DEAL::L2_Error : 0
+DEAL::Checking FE_DGQ<2>(2)2FE_DGQ<2>(2)2FE_Q<2>(3)3 in 2d:
+DEAL::30
+DEAL::4
+DEAL:cg::Starting value 0.46
+DEAL:cg::Convergence step 19 value 0
+DEAL::L2_Error : 0
+DEAL::Checking FE_DGP<2>(3)1FE_DGP<2>(3)1FE_Q<2>(2)3 in 2d:
+DEAL::18
+DEAL::3
+DEAL:cg::Starting value 0.67
+DEAL:cg::Convergence step 16 value 0
+DEAL::L2_Error : 0
+DEAL::Checking FE_DGQ<3>(1)3FE_DGP<3>(3)1FE_Q<3>(1)3 in 3d:
+DEAL::48
+DEAL::4
+DEAL:cg::Starting value 0.52
+DEAL:cg::Convergence step 25 value 0
+DEAL::L2_Error : 0
+DEAL::Checking (FESystem<2>(FE_Q<2>(1),3))3FE_DGQ<2>(0)1FE_Q<2>(1)3 in 2d:
+DEAL::24
+DEAL::2
+DEAL:cg::Starting value 1.1
+DEAL:cg::Convergence step 15 value 0
+DEAL::L2_Error : 0
+DEAL::Checking FE_DGQ<2>(3)1FESystem<2>(FE_DGQ<2>(0),3)1FESystem<2>(FE_Q<2>(2),1, FE_DGQ<2>(0),1)2 in 2d:
+DEAL::12
+DEAL::3
+DEAL:cg::Starting value 0.94
+DEAL:cg::Convergence step 18 value 0
+DEAL::L2_Error : 0
+DEAL::Checking FE_DGQ<2>(3)1FE_Nedelec<2>(1)2 in 2d:
+DEAL::8
+DEAL::1
+DEAL:cg::Starting value 1.8
+DEAL:cg::Convergence step 17 value 0
+DEAL::L2_Error : 0
+DEAL::Checking FE_Nedelec<2>(1)1FESystem<2>(FE_DGQ<2>(1),2)1FESystem<2>(FE_Q<2>(2),1, FE_Nedelec<2>(1),2)2 in 2d:
+DEAL::32
+DEAL::3
+DEAL:cg::Starting value 2.8
+DEAL:cg::Convergence step 18 value 0
+DEAL::L2_Error : 0

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.