]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Implemented BDM_grad_grad in 3D 1801/head
authorAlistair Bentley <alistairbntl@gmail.com>
Tue, 27 Oct 2015 15:14:07 +0000 (11:14 -0400)
committerAlistair Bentley <alistairbntl@gmail.com>
Tue, 27 Oct 2015 15:38:30 +0000 (11:38 -0400)
  * Added second derivative terms to polynomials_bdm class in 3D
  * Added tests and output to verify 2nd derivatives are returning
    proper values
  * I carefully checked the output file to confirm the correct output
    is being produced

doc/news/changes.h
include/deal.II/base/polynomials_bdm.h
source/base/polynomials_bdm.cc
tests/base/polynomials_bdm_02.cc [new file with mode: 0644]
tests/base/polynomials_bdm_02.output [new file with mode: 0644]

index 8e7de962b7af55d9a609b42b95a9e3800078c6a5..a36b530aeafd1d25fb3bb39ec6afa9bbca4a51f6 100644 (file)
@@ -159,6 +159,12 @@ inconvenience this causes.
 <a name="general"></a>
 <h3>General</h3>
 <ol>
+
+  <li> New: 2nd derivatives are implemented for polynomials_BDM in 3D.
+  <br>
+  (Alistair Bentley, 2015/10/27)
+  </li>
+
   <li> New: Preliminary support for parallel, adaptive, geometric multigrid is
   now in place with changes to MGConstrainedDoFs (many new functions), MGTransfer,
   MGTools::extract_inner_interface_dofs, MGTransferPrebuilt,
@@ -398,7 +404,7 @@ inconvenience this causes.
   (Alistair Bentley, 2015/10/24)
   </li>
 
-  <li> New: Triangulation::set_all_manifold_ids_on_boundary(boundary_id, manifold_id) 
+  <li> New: Triangulation::set_all_manifold_ids_on_boundary(boundary_id, manifold_id)
   which sets the manifold_id for all parts of the boundary with a given boundary_id.
   <br>
   (Alberto Sartori, 2015/10/22)
index ed1b51cd07a682440ff434a08ec66b5e2b096fe2..9a24aa2eb51debb99ca0745b32f86fceb15bc076 100644 (file)
@@ -92,7 +92,6 @@ DEAL_II_NAMESPACE_OPEN
  *</dl>
  *
  *
- * @todo Second derivatives in 3D are missing.
  *
  * @ingroup Polynomials
  * @author Guido Kanschat
index 3653da62f1e30cd97245c0955b0bc77e9732f1bf..cdf32d22f069726395b7bd9df5d1dc07cb1e659c 100644 (file)
@@ -244,7 +244,90 @@ PolynomialsBDM<dim>::compute (const Point<dim>            &unit_point,
             }
           if (grad_grads.size() != 0)
             {
-              Assert(false,ExcNotImplemented());
+              grad_grads[start][0][0][0] = 0.;
+              grad_grads[start][0][0][1] = monovali[1][2]*monovalk[2][0];
+              grad_grads[start][0][0][2] = monovali[1][1]*monovalk[2][1];
+              grad_grads[start][0][1][0] = monovali[1][2]*monovalk[2][0];
+              grad_grads[start][0][1][1] = unit_point(0)*monovali[1][3]*monovalk[2][0];
+              grad_grads[start][0][1][2] = unit_point(0)*monovali[1][2]*monovalk[2][1];
+              grad_grads[start][0][2][0] = monovali[1][1]*monovalk[2][1];
+              grad_grads[start][0][2][1] = unit_point(0)*monovali[1][2]*monovalk[2][1];
+              grad_grads[start][0][2][2] = unit_point(0)*monovali[1][1]*monovalk[2][2];
+              grad_grads[start][1][0][0] = 0.;
+              grad_grads[start][1][0][1] = 0.;
+              grad_grads[start][1][0][2] = 0.;
+              grad_grads[start][1][1][0] = 0.;
+              grad_grads[start][1][1][1] = -monovali[1][2]*monovalk[2][0];
+              grad_grads[start][1][1][2] = -monovali[1][1]*monovalk[2][1];
+              grad_grads[start][1][2][0] = 0.;
+              grad_grads[start][1][2][1] = -monovali[1][1]*monovalk[2][1];
+              grad_grads[start][1][2][2] = -monovali[1][0]*monovalk[2][2];
+              grad_grads[start][2][0][0] = 0.;
+              grad_grads[start][2][0][1] = 0.;
+              grad_grads[start][2][0][2] = 0.;
+              grad_grads[start][2][1][0] = 0.;
+              grad_grads[start][2][1][1] = 0.;
+              grad_grads[start][2][1][2] = 0.;
+              grad_grads[start][2][2][0] = 0.;
+              grad_grads[start][2][2][1] = 0.;
+              grad_grads[start][2][2][2] = 0.;
+
+              grad_grads[start+1][0][0][0] = 0.;
+              grad_grads[start+1][0][0][1] = 0.;
+              grad_grads[start+1][0][0][2] = 0.;
+              grad_grads[start+1][0][1][0] = 0.;
+              grad_grads[start+1][0][1][1] = 0.;
+              grad_grads[start+1][0][1][2] = 0.;
+              grad_grads[start+1][0][2][0] = 0.;
+              grad_grads[start+1][0][2][1] = 0.;
+              grad_grads[start+1][0][2][2] = 0.;
+              grad_grads[start+1][1][0][0] = unit_point(1)*monovali[2][1]*monovalk[0][2];
+              grad_grads[start+1][1][0][1] = monovali[2][1]*monovalk[0][1];
+              grad_grads[start+1][1][0][2] = unit_point(1)*monovali[2][2]*monovalk[0][1];
+              grad_grads[start+1][1][1][0] = monovalk[0][1]*monovali[2][1];
+              grad_grads[start+1][1][1][1] = 0.;
+              grad_grads[start+1][1][1][2] = monovalk[0][0]*monovali[2][2];
+              grad_grads[start+1][1][2][0] = unit_point(1)*monovalk[0][1]*monovali[2][2];
+              grad_grads[start+1][1][2][1] = monovalk[0][0]*monovali[2][2];
+              grad_grads[start+1][1][2][2] = unit_point(1)*monovalk[0][0]*monovali[2][3];
+              grad_grads[start+1][2][0][0] = -monovalk[0][2]*monovali[2][0];
+              grad_grads[start+1][2][0][1] = 0.;
+              grad_grads[start+1][2][0][2] = -monovalk[0][1]*monovali[2][1];
+              grad_grads[start+1][2][1][0] = 0.;
+              grad_grads[start+1][2][1][1] = 0.;
+              grad_grads[start+1][2][1][2] = 0.;
+              grad_grads[start+1][2][2][0] = -monovalk[0][1]*monovali[2][1];
+              grad_grads[start+1][2][2][1] = 0.;
+              grad_grads[start+1][2][2][2] = -monovalk[0][0]*monovali[2][2];
+
+              grad_grads[start+2][0][0][0] = -monovali[0][2]*monovalk[1][0];
+              grad_grads[start+2][0][0][1] = -monovali[0][1]*monovalk[1][1];
+              grad_grads[start+2][0][0][2] = 0.;
+              grad_grads[start+2][0][1][0] = -monovali[0][1]*monovalk[1][1];
+              grad_grads[start+2][0][1][1] = -monovali[0][0]*monovalk[1][2];
+              grad_grads[start+2][0][1][2] = 0.;
+              grad_grads[start+2][0][2][0] = 0.;
+              grad_grads[start+2][0][2][1] = 0.;
+              grad_grads[start+2][0][2][2] = 0.;
+              grad_grads[start+2][1][0][0] = 0.;
+              grad_grads[start+2][1][0][1] = 0.;
+              grad_grads[start+2][1][0][2] = 0.;
+              grad_grads[start+2][1][1][0] = 0.;
+              grad_grads[start+2][1][1][1] = 0.;
+              grad_grads[start+2][1][1][2] = 0.;
+              grad_grads[start+2][1][2][0] = 0.;
+              grad_grads[start+2][1][2][1] = 0.;
+              grad_grads[start+2][1][2][2] = 0.;
+              grad_grads[start+2][2][0][0] = unit_point(2)*monovali[0][3]*monovalk[1][0];
+              grad_grads[start+2][2][0][1] = unit_point(2)*monovali[0][2]*monovalk[1][1];
+              grad_grads[start+2][2][0][2] = monovali[0][2]*monovalk[1][0];
+              grad_grads[start+2][2][1][0] = unit_point(2)*monovali[0][2]*monovalk[1][1];
+              grad_grads[start+2][2][1][1] = unit_point(2)*monovali[0][1]*monovalk[1][2];
+              grad_grads[start+2][2][1][2] = monovali[0][1]*monovalk[1][1];
+              grad_grads[start+2][2][2][0] = monovali[0][2]*monovalk[1][0];
+              grad_grads[start+2][2][2][1] = monovali[0][1]*monovalk[1][1];
+              grad_grads[start+2][2][2][2] = 0.;
+
             }
         }
       Assert(start == n_pols, ExcInternalError());
diff --git a/tests/base/polynomials_bdm_02.cc b/tests/base/polynomials_bdm_02.cc
new file mode 100644 (file)
index 0000000..1ea87f7
--- /dev/null
@@ -0,0 +1,98 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2010 - 2014 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE at
+// the top level of the deal.II distribution.
+//
+// ---------------------------------------------------------------------
+
+// Tests 3D polynomials_BDM grad grad at a collection of points on the unit square
+
+#include "../tests.h"
+#include <deal.II/base/logstream.h>
+#include <deal.II/base/job_identifier.h>
+#include <deal.II/base/tensor.h>
+#include <deal.II/base/polynomials_bdm.h>
+#include <deal.II/base/quadrature_lib.h>
+
+#include <vector>
+#include <iomanip>
+#include <fstream>
+
+using namespace std;
+
+template <int dim>
+void plot(const PolynomialsBDM<dim> &poly)
+{
+
+  const PolynomialSpace<dim> legendre_poly_space = Polynomials::Legendre::generate_complete_basis(poly.degree());
+
+  const Point<3> p0(0,0,0);
+  const Point<3> p1(0.25,0.5,0.75);
+  const Point<3> p2(0.75,0.5,0.25);
+  const Point<3> p3(0.75,0.25,0.5);
+  const Point<3> p4(1.0,1.0,1.0);
+
+  std::vector<Point<3> > points;
+  points.push_back(p0);
+  points.push_back(p1);
+  points.push_back(p2);
+  points.push_back(p3);
+  points.push_back(p4);
+
+  std::vector<Tensor<1,dim> > values;
+  std::vector<Tensor<2,dim> > grads;
+  std::vector<Tensor<3,dim> > grads2(poly.n());
+  std::vector<Tensor<4,dim> > thirds;
+  std::vector<Tensor<5,dim> > fourths;
+
+  const unsigned int n_sub = legendre_poly_space.n();
+
+  for (unsigned int k=0; k<points.size(); ++k)
+    {
+      if (k%(poly.degree()+4) == 0)
+        deallog << "BDM" << poly.degree() << '<' << dim << '>' << std::endl;
+
+      unsigned int start = dim*n_sub;
+
+      deallog << "BDM" << poly.degree() << '<' << dim << '>'
+              << points[k] << std::endl;
+      poly.compute(points[k], values, grads, grads2, thirds, fourths);
+
+      for (unsigned int i=0; i<poly.degree()+1; ++i,start+=dim)
+        for (unsigned int j=0; j < dim; ++j)
+          {
+            for (unsigned int d1=0; d1<dim; ++d1)
+              for (unsigned int d2=0; d2<dim; ++d2)
+                for (unsigned int d3=0; d3<dim; ++d3)
+                  deallog << '\t' << grads2[start+j][d1][d2][d3];
+          }
+      deallog << std::endl;
+    }
+}
+
+int main()
+{
+  const std::string logname = "output";
+  std::ofstream logfile(logname.c_str());
+  deallog << std::setprecision(3);
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+  deallog.threshold_double(1.e-10);
+
+
+  PolynomialsBDM<3> p31(1);
+  PolynomialsBDM<3> p32(2);
+  PolynomialsBDM<3> p33(3);
+
+  plot(p31);
+  plot(p32);
+  plot(p33);
+}
diff --git a/tests/base/polynomials_bdm_02.output b/tests/base/polynomials_bdm_02.output
new file mode 100644 (file)
index 0000000..a0f2788
--- /dev/null
@@ -0,0 +1,34 @@
+
+DEAL::BDM1<3>
+DEAL::BDM1<3>0.00 0.00 0.00
+DEAL:: 0       0       1.00    0       0       0       1.00    0       0       0       0       0       0       0       -1.00   0       -1.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.00    0       1.00    0       0       0       0       0       0       0       -1.00   0       0       0       -1.00   0       0       0       -1.00   0       -1.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.00    0       1.00    0       0       2.00    0       2.00    0       0       0       0       0       0       0       0       0       -2.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       2.00    0       2.00    0       0       0       0       0       0       0       0       0       -2.00   -2.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       2.00    0       0       0       2.00    0       0
+DEAL::BDM1<3>0.250 0.500 0.750
+DEAL:: 0       0       1.00    0       0       0       1.00    0       0       0       0       0       0       0       -1.00   0       -1.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.00    0       1.00    0       0       0       0       0       0       0       -1.00   0       0       0       -1.00   0       0       0       -1.00   0       -1.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.00    0       1.00    0       0       2.00    0       2.00    0       0       0       0       0       0       0       0       0       -2.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       2.00    0       2.00    0       0       0       0       0       0       0       0       0       -2.00   -2.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       2.00    0       0       0       2.00    0       0
+DEAL::BDM1<3>0.750 0.500 0.250
+DEAL:: 0       0       1.00    0       0       0       1.00    0       0       0       0       0       0       0       -1.00   0       -1.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.00    0       1.00    0       0       0       0       0       0       0       -1.00   0       0       0       -1.00   0       0       0       -1.00   0       -1.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.00    0       1.00    0       0       2.00    0       2.00    0       0       0       0       0       0       0       0       0       -2.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       2.00    0       2.00    0       0       0       0       0       0       0       0       0       -2.00   -2.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       2.00    0       0       0       2.00    0       0
+DEAL::BDM1<3>0.750 0.250 0.500
+DEAL:: 0       0       1.00    0       0       0       1.00    0       0       0       0       0       0       0       -1.00   0       -1.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.00    0       1.00    0       0       0       0       0       0       0       -1.00   0       0       0       -1.00   0       0       0       -1.00   0       -1.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.00    0       1.00    0       0       2.00    0       2.00    0       0       0       0       0       0       0       0       0       -2.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       2.00    0       2.00    0       0       0       0       0       0       0       0       0       -2.00   -2.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       2.00    0       0       0       2.00    0       0
+DEAL::BDM1<3>1.00 1.00 1.00
+DEAL:: 0       0       1.00    0       0       0       1.00    0       0       0       0       0       0       0       -1.00   0       -1.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.00    0       1.00    0       0       0       0       0       0       0       -1.00   0       0       0       -1.00   0       0       0       -1.00   0       -1.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.00    0       1.00    0       0       2.00    0       2.00    0       0       0       0       0       0       0       0       0       -2.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       2.00    0       2.00    0       0       0       0       0       0       0       0       0       -2.00   -2.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       2.00    0       0       0       2.00    0       0
+DEAL::BDM2<3>
+DEAL::BDM2<3>0.00 0.00 0.00
+DEAL:: 0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0
+DEAL::BDM2<3>0.250 0.500 0.750
+DEAL:: 0       0       1.50    0       0       0       1.50    0       0.500   0       0       0       0       0       -1.50   0       -1.50   -1.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.00    0.500   0       0.500   0       0       0       0       0       -1.50   0       -0.500  0       0       0       -0.500  0       0       0       -1.00   0       -1.00   -0.500  0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.50    1.00    0       1.00    0       0       1.50    1.00    1.50    0       0.500   1.00    0.500   0       0       0       0       0       -1.50   -1.00   0       -1.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.50    1.00    1.50    0       0.500   1.00    0.500   0       0       0       -1.50   0       0       0       -1.50   0       -0.500  -1.00   -0.500  0       -0.500  0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.50    1.00    1.50    0       0.500   1.00    0.500   0       0       3.00    0       3.00    1.50    0       0       0       0       0       0       0       0       -3.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       4.50    0       4.50    3.00    0       0       0       0       0       0       0       0       -4.50   -1.50   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       4.50    0       1.50    0       0       0       1.50    0       0
+DEAL::BDM2<3>0.750 0.500 0.250
+DEAL:: 0       0       0.500   0       0       0       0.500   0       1.50    0       0       0       0       0       -0.500  0       -0.500  -1.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.00    1.50    0       1.50    0       0       0       0       0       -0.500  0       -1.50   0       0       0       -1.50   0       0       0       -1.00   0       -1.00   -1.50   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0.500   1.00    0       1.00    0       0       0.500   1.00    0.500   0       1.50    1.00    1.50    0       0       0       0       0       -0.500  -1.00   0       -1.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0.500   1.00    0.500   0       1.50    1.00    1.50    0       0       0       -0.500  0       0       0       -0.500  0       -1.50   -1.00   -1.50   0       -1.50   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0.500   1.00    0.500   0       1.50    1.00    1.50    0       0       3.00    0       3.00    4.50    0       0       0       0       0       0       0       0       -3.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.50    0       1.50    3.00    0       0       0       0       0       0       0       0       -1.50   -4.50   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.50    0       4.50    0       0       0       4.50    0       0
+DEAL::BDM2<3>0.750 0.250 0.500
+DEAL:: 0       0       1.00    0       0       0       1.00    0       1.50    0       0       0       0       0       -1.00   0       -1.00   -0.500  0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0.500   1.50    0       1.50    0       0       0       0       0       -1.00   0       -1.50   0       0       0       -1.50   0       0       0       -0.500  0       -0.500  -1.50   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.00    0.500   0       0.500   0       0       1.00    0.500   1.00    0       1.50    0.500   1.50    0       0       0       0       0       -1.00   -0.500  0       -0.500  0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.00    0.500   1.00    0       1.50    0.500   1.50    0       0       0       -1.00   0       0       0       -1.00   0       -1.50   -0.500  -1.50   0       -1.50   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.00    0.500   1.00    0       1.50    0.500   1.50    0       0       1.50    0       1.50    4.50    0       0       0       0       0       0       0       0       -1.50   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       3.00    0       3.00    1.50    0       0       0       0       0       0       0       0       -3.00   -4.50   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       3.00    0       4.50    0       0       0       4.50    0       0
+DEAL::BDM2<3>1.00 1.00 1.00
+DEAL:: 0       0       2.00    0       0       0       2.00    0       2.00    0       0       0       0       0       -2.00   0       -2.00   -2.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       2.00    2.00    0       2.00    0       0       0       0       0       -2.00   0       -2.00   0       0       0       -2.00   0       0       0       -2.00   0       -2.00   -2.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       2.00    2.00    0       2.00    0       0       2.00    2.00    2.00    0       2.00    2.00    2.00    0       0       0       0       0       -2.00   -2.00   0       -2.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       2.00    2.00    2.00    0       2.00    2.00    2.00    0       0       0       -2.00   0       0       0       -2.00   0       -2.00   -2.00   -2.00   0       -2.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       2.00    2.00    2.00    0       2.00    2.00    2.00    0       0       6.00    0       6.00    6.00    0       0       0       0       0       0       0       0       -6.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       6.00    0       6.00    6.00    0       0       0       0       0       0       0       0       -6.00   -6.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       6.00    0       6.00    0       0       0       6.00    0       0
+DEAL::BDM3<3>
+DEAL::BDM3<3>0.00 0.00 0.00
+DEAL:: 0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0
+DEAL::BDM3<3>0.250 0.500 0.750
+DEAL:: 0       0       1.69    0       0       0       1.69    0       1.12    0       0       0       0       0       -1.69   0       -1.69   -2.25   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0.750   0.188   0       0.188   0       0       0       0       0       -1.12   0       -0.188  0       0       0       -0.188  0       0       0       -0.750  0       -0.750  -0.750  0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       2.25    0.750   0       0.750   0       0       1.12    1.50    1.12    0       0.750   1.50    0.750   0.500   0       0       0       0       -1.12   -1.50   0       -1.50   -0.500  0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.50    0.750   0.500   0.750   0       0.125   0.500   0.125   0       -1.12   0       -0.750  0       0       0       -0.750  0       -0.125  -0.500  -0.500  0       -0.500  -0.125  0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.50    0.500   1.50    0.750   0.500   0.500   0.500   0       0       2.25    0.750   2.25    1.12    0.750   0.750   0.750   0       0       0       0       0       -2.25   -0.750  0       -0.750  0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.69    2.25    1.69    0       1.12    2.25    1.12    0.750   0       0       -1.69   0       0       0       -1.69   0       -1.12   -0.750  -0.188  0       -0.188  0       0       0       0       0       0       0       0       0       0       0       0       0       0       2.25    1.12    0.750   1.12    0       0.188   0.750   0.188   0       0       3.00    0       3.00    3.00    0       0       0       0       0       0       0       0       -3.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       6.75    0       6.75    9.00    0       0       0       0       0       0       0       0       -6.75   -0.750  0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       4.50    0       0.750   0       0       0       0.750   0       0
+DEAL::BDM3<3>0.750 0.500 0.250
+DEAL:: 0       0       0.188   0       0       0       0.188   0       1.12    0       0       0       0       0       -0.188  0       -0.188  -0.750  0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       2.25    1.69    0       1.69    0       0       0       0       0       -1.12   0       -1.69   0       0       0       -1.69   0       0       0       -0.750  0       -0.750  -2.25   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0.750   0.750   0       0.750   0       0       0.125   0.500   0.125   0       0.750   0.500   0.750   1.50    0       0       0       0       -0.125  -0.500  0       -0.500  -0.500  0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0.500   0.750   1.50    0.750   0       1.12    1.50    1.12    0       -0.125  0       -0.750  0       0       0       -0.750  0       -1.12   -0.500  -1.50   0       -1.50   -1.12   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0.500   0.500   0.500   0.750   1.50    0.500   1.50    0       0       0.750   0.750   0.750   1.12    2.25    0.750   2.25    0       0       0       0       0       -0.750  -0.750  0       -0.750  0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0.188   0.750   0.188   0       1.12    0.750   1.12    2.25    0       0       -0.188  0       0       0       -0.188  0       -1.12   -2.25   -1.69   0       -1.69   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0.750   1.12    2.25    1.12    0       1.69    2.25    1.69    0       0       3.00    0       3.00    9.00    0       0       0       0       0       0       0       0       -3.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0.750   0       0.750   3.00    0       0       0       0       0       0       0       0       -0.750  -6.75   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       4.50    0       6.75    0       0       0       6.75    0       0
+DEAL::BDM3<3>0.750 0.250 0.500
+DEAL:: 0       0       0.750   0       0       0       0.750   0       2.25    0       0       0       0       0       -0.750  0       -0.750  -0.750  0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       1.12    1.69    0       1.69    0       0       0       0       0       -2.25   0       -1.69   0       0       0       -1.69   0       0       0       -0.188  0       -0.188  -1.12   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0.750   0.188   0       0.188   0       0       0.500   0.500   0.500   0       1.50    0.500   1.50    0.750   0       0       0       0       -0.500  -0.500  0       -0.500  -0.125  0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0.500   1.50    0.750   1.50    0       1.12    0.750   1.12    0       -0.500  0       -1.50   0       0       0       -1.50   0       -1.12   -0.125  -0.750  0       -0.750  -1.12   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0.500   0.125   0.500   1.50    0.750   0.125   0.750   0       0       0.750   0.188   0.750   2.25    1.12    0.188   1.12    0       0       0       0       0       -0.750  -0.188  0       -0.188  0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0.750   0.750   0.750   0       2.25    0.750   2.25    1.12    0       0       -0.750  0       0       0       -0.750  0       -2.25   -1.12   -1.69   0       -1.69   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0.750   2.25    1.12    2.25    0       1.69    1.12    1.69    0       0       0.750   0       0.750   4.50    0       0       0       0       0       0       0       0       -0.750  0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       3.00    0       3.00    3.00    0       0       0       0       0       0       0       0       -3.00   -6.75   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       9.00    0       6.75    0       0       0       6.75    0       0
+DEAL::BDM3<3>1.00 1.00 1.00
+DEAL:: 0       0       3.00    0       0       0       3.00    0       6.00    0       0       0       0       0       -3.00   0       -3.00   -6.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       6.00    3.00    0       3.00    0       0       0       0       0       -6.00   0       -3.00   0       0       0       -3.00   0       0       0       -3.00   0       -3.00   -6.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       6.00    3.00    0       3.00    0       0       2.00    4.00    2.00    0       4.00    4.00    4.00    4.00    0       0       0       0       -2.00   -4.00   0       -4.00   -2.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       4.00    4.00    4.00    4.00    0       2.00    4.00    2.00    0       -2.00   0       -4.00   0       0       0       -4.00   0       -2.00   -2.00   -4.00   0       -4.00   -2.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       4.00    2.00    4.00    4.00    4.00    2.00    4.00    0       0       6.00    3.00    6.00    6.00    6.00    3.00    6.00    0       0       0       0       0       -6.00   -3.00   0       -3.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       3.00    6.00    3.00    0       6.00    6.00    6.00    6.00    0       0       -3.00   0       0       0       -3.00   0       -6.00   -6.00   -3.00   0       -3.00   0       0       0       0       0       0       0       0       0       0       0       0       0       0       6.00    6.00    6.00    6.00    0       3.00    6.00    3.00    0       0       12.0    0       12.0    24.0    0       0       0       0       0       0       0       0       -12.0   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       12.0    0       12.0    24.0    0       0       0       0       0       0       0       0       -12.0   -12.0   0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       24.0    0       12.0    0       0       0       12.0    0       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.