]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Fix a problem with refining surfaces.
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 9 Feb 2011 14:15:50 +0000 (14:15 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 9 Feb 2011 14:15:50 +0000 (14:15 +0000)
git-svn-id: https://svn.dealii.org/trunk@23308 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/source/grid/tria.cc
tests/codim_one/boundary_indicator_01.cc [new file with mode: 0644]
tests/codim_one/boundary_indicator_01/cmp/generic [new file with mode: 0644]

index c780ee03f4915788e0c31b608fafdcaa82bba235..775cbf2382e678b0175ad78245744aacbd820306 100644 (file)
@@ -4660,11 +4660,31 @@ namespace internal
                              if (line->has_children() == false)
                                {
                                  line->set_user_flag ();
-//TODO[WB]: we overwrite the user_index here because we later on need to find
-// out which boundary object we have to ask to refine this line. find a better
-// way to do that
+//TODO[WB]: we overwrite the user_index here because we later on need
+// to find out which boundary object we have to ask to refine this
+// line. we can't use the boundary_indicator field because that can
+// only be used for lines at the boundary of the domain, but we also
+// need a domain description for interior lines in the codim-1 case
                                  if (spacedim > dim)
-                                   line->set_user_index(cell->material_id());
+                                   {
+                                     if (line->at_boundary())
+                                                                        // if
+                                                                        // possible
+                                                                        // honor
+                                                                        // boundary
+                                                                        // indicator
+                                       line->set_user_index(line->boundary_indicator());
+                                     else
+                                                                        // otherwise
+                                                                        // take
+                                                                        // manifold
+                                                                        // description
+                                                                        // from
+                                                                        // the
+                                                                        // adjacent
+                                                                        // cell
+                                       line->set_user_index(cell->material_id());
+                                   }
                                }
                            }
                        }
diff --git a/tests/codim_one/boundary_indicator_01.cc b/tests/codim_one/boundary_indicator_01.cc
new file mode 100644 (file)
index 0000000..207970f
--- /dev/null
@@ -0,0 +1,116 @@
+//----------------------------  boundary_indicator_01.cc  ---------------------------
+//    $Id: bem.cc 22693 2010-11-11 20:11:47Z kanschat $
+//    Version: $Name$
+//
+//    Copyright (C) 2010, 2011 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.
+//
+//----------------------------  boundary_indicator_01.cc  ---------------------------
+
+
+// for surfaces, we need some sort of mapping also for interior cells
+// and faces, but at the time of writing this, we can only set
+// boundary_indicators of faces and edges that are truly at the
+// boundary of the domain. to work around this, we use the material_id
+// field that one can set on cells, and copy it also to the adjacent
+// faces. initially, however, we also copied the material_id to the
+// boundary_indicator of adjacent faces that truly were at the
+// boundary of the domain, and which might have had something
+// purposefully set already
+//
+// this test verifies that this is now fixed.
+
+#include "../tests.h"
+
+#include <grid/tria.h>
+#include <grid/grid_generator.h>
+#include <grid/tria_boundary_lib.h>
+#include <grid/grid_out.h>
+#include <grid/grid_tools.h>
+
+using namespace std;
+
+
+
+template <int dim, int spacedim>
+void save_mesh(const Triangulation<dim,spacedim>& tria)
+{
+  GridOut grid_out;
+  grid_out.write_gnuplot (tria, deallog.get_file_stream());
+}
+
+
+int main ()
+{
+  ofstream logfile("boundary_indicator_01/output");
+  deallog.attach(logfile);
+  deallog.depth_console(0);
+
+                                  // Extract the boundary of 3/4 of a sphere
+  {
+    const int dim = 3;
+    deallog << "Testing hyper_cube in dim: " << dim << "..."<< endl;
+
+    const HyperBallBoundary<dim> boundary_description;
+    Triangulation<dim> volume_mesh;
+    GridGenerator::hyper_ball(volume_mesh);
+    volume_mesh.set_boundary (0, boundary_description);
+
+                                    // exclude one of the 6 faces
+                                    // from the surface mesh
+                                    // extraction
+    for (typename Triangulation<dim>::active_cell_iterator
+          cell = volume_mesh.begin_active();
+        cell != volume_mesh.end(); ++cell)
+      {
+       bool done = false;
+       for (unsigned int f=0; f<GeometryInfo<dim>::faces_per_cell; ++f)
+         if (cell->at_boundary(f))
+           {
+             cell->face(f)->set_boundary_indicator(1);
+             done = true;
+             break;
+           }
+       if (done)
+         break;
+      }
+
+    const HyperBallBoundary<dim-1,dim> surface_description;
+    Triangulation<dim-1,dim> boundary_mesh;
+    boundary_mesh.set_boundary (0, surface_description);
+
+                                    // now extract a mesh of the 5
+                                    // surface faces
+    std::set<unsigned char> boundary_indicators;
+    boundary_indicators.insert (0);
+    GridTools::extract_boundary_mesh (volume_mesh, boundary_mesh,
+                                     boundary_indicators);
+    deallog << volume_mesh.n_active_cells () << std::endl;
+    deallog << boundary_mesh.n_active_cells () << std::endl;
+
+                                    // at this point, all cells and
+                                    // edges of the surface mesh
+                                    // should have boundary indicator
+                                    // 0. set those at the boundary
+                                    // of the mesh to 1 to force
+                                    // straight line refinement, then
+                                    // refine
+    for (typename Triangulation<dim-1,dim>::active_cell_iterator
+          cell = boundary_mesh.begin_active();
+        cell != boundary_mesh.end(); ++cell)
+      for (unsigned int f=0; f<GeometryInfo<dim-1>::faces_per_cell; ++f)
+       if (cell->at_boundary(f))
+         cell->face(f)->set_boundary_indicator(1);
+
+    boundary_mesh.refine_global (2);
+
+    save_mesh(boundary_mesh);
+  }
+
+
+  return 0;
+}
diff --git a/tests/codim_one/boundary_indicator_01/cmp/generic b/tests/codim_one/boundary_indicator_01/cmp/generic
new file mode 100644 (file)
index 0000000..29384a7
--- /dev/null
@@ -0,0 +1,564 @@
+
+DEAL::Testing hyper_cube in dim: 3...
+DEAL::7
+DEAL::5
+0.577350 -0.577350 -0.577350 2 0
+0.673887 -0.673887 -0.302905 2 0
+0.862418 -0.379225 -0.335298 2 0
+0.577350 -0.288675 -0.577350 2 0
+0.577350 -0.577350 -0.577350 2 0
+
+
+0.673887 -0.673887 -0.302905 2 0
+0.707107 -0.707107 0.00000 2 0
+0.923762 -0.382710 0.0140184 2 0
+0.862418 -0.379225 -0.335298 2 0
+0.673887 -0.673887 -0.302905 2 0
+
+
+0.577350 -0.288675 -0.577350 2 0
+0.862418 -0.379225 -0.335298 2 0
+0.943953 0.00000 -0.330081 2 0
+0.577350 0.00000 -0.577350 2 0
+0.577350 -0.288675 -0.577350 2 0
+
+
+0.862418 -0.379225 -0.335298 2 0
+0.923762 -0.382710 0.0140184 2 0
+0.999665 0.00000 0.0259008 2 0
+0.943953 0.00000 -0.330081 2 0
+0.862418 -0.379225 -0.335298 2 0
+
+
+0.707107 -0.707107 0.00000 2 0
+0.673887 -0.673887 0.302905 2 0
+0.853386 -0.365005 0.372160 2 0
+0.923762 -0.382710 0.0140184 2 0
+0.707107 -0.707107 0.00000 2 0
+
+
+0.673887 -0.673887 0.302905 2 0
+0.577350 -0.577350 0.577350 2 0
+0.673887 -0.302905 0.673887 2 0
+0.853386 -0.365005 0.372160 2 0
+0.673887 -0.673887 0.302905 2 0
+
+
+0.923762 -0.382710 0.0140184 2 0
+0.853386 -0.365005 0.372160 2 0
+0.918846 0.00000 0.394617 2 0
+0.999665 0.00000 0.0259008 2 0
+0.923762 -0.382710 0.0140184 2 0
+
+
+0.853386 -0.365005 0.372160 2 0
+0.673887 -0.302905 0.673887 2 0
+0.707107 0.00000 0.707107 2 0
+0.918846 0.00000 0.394617 2 0
+0.853386 -0.365005 0.372160 2 0
+
+
+0.577350 0.00000 -0.577350 2 0
+0.943953 0.00000 -0.330081 2 0
+0.862418 0.379225 -0.335298 2 0
+0.577350 0.288675 -0.577350 2 0
+0.577350 0.00000 -0.577350 2 0
+
+
+0.943953 0.00000 -0.330081 2 0
+0.999665 0.00000 0.0259008 2 0
+0.923762 0.382710 0.0140184 2 0
+0.862418 0.379225 -0.335298 2 0
+0.943953 0.00000 -0.330081 2 0
+
+
+0.577350 0.288675 -0.577350 2 0
+0.862418 0.379225 -0.335298 2 0
+0.673887 0.673887 -0.302905 2 0
+0.577350 0.577350 -0.577350 2 0
+0.577350 0.288675 -0.577350 2 0
+
+
+0.862418 0.379225 -0.335298 2 0
+0.923762 0.382710 0.0140184 2 0
+0.707107 0.707107 0.00000 2 0
+0.673887 0.673887 -0.302905 2 0
+0.862418 0.379225 -0.335298 2 0
+
+
+0.999665 0.00000 0.0259008 2 0
+0.918846 0.00000 0.394617 2 0
+0.853386 0.365005 0.372160 2 0
+0.923762 0.382710 0.0140184 2 0
+0.999665 0.00000 0.0259008 2 0
+
+
+0.918846 0.00000 0.394617 2 0
+0.707107 0.00000 0.707107 2 0
+0.673887 0.302905 0.673887 2 0
+0.853386 0.365005 0.372160 2 0
+0.918846 0.00000 0.394617 2 0
+
+
+0.923762 0.382710 0.0140184 2 0
+0.853386 0.365005 0.372160 2 0
+0.673887 0.673887 0.302905 2 0
+0.707107 0.707107 0.00000 2 0
+0.923762 0.382710 0.0140184 2 0
+
+
+0.853386 0.365005 0.372160 2 0
+0.673887 0.302905 0.673887 2 0
+0.577350 0.577350 0.577350 2 0
+0.673887 0.673887 0.302905 2 0
+0.853386 0.365005 0.372160 2 0
+
+
+-0.577350 -0.577350 0.577350 2 0
+-0.673887 -0.302905 0.673887 2 0
+-0.365731 -0.365731 0.855851 2 0
+-0.302905 -0.673887 0.673887 2 0
+-0.577350 -0.577350 0.577350 2 0
+
+
+-0.673887 -0.302905 0.673887 2 0
+-0.707107 0.00000 0.707107 2 0
+-0.382683 0.00000 0.923880 2 0
+-0.365731 -0.365731 0.855851 2 0
+-0.673887 -0.302905 0.673887 2 0
+
+
+-0.302905 -0.673887 0.673887 2 0
+-0.365731 -0.365731 0.855851 2 0
+0.00000 -0.382683 0.923880 2 0
+0.00000 -0.707107 0.707107 2 0
+-0.302905 -0.673887 0.673887 2 0
+
+
+-0.365731 -0.365731 0.855851 2 0
+-0.382683 0.00000 0.923880 2 0
+0.00000 0.00000 1.00000 2 0
+0.00000 -0.382683 0.923880 2 0
+-0.365731 -0.365731 0.855851 2 0
+
+
+-0.707107 0.00000 0.707107 2 0
+-0.673887 0.302905 0.673887 2 0
+-0.365731 0.365731 0.855851 2 0
+-0.382683 0.00000 0.923880 2 0
+-0.707107 0.00000 0.707107 2 0
+
+
+-0.673887 0.302905 0.673887 2 0
+-0.577350 0.577350 0.577350 2 0
+-0.302905 0.673887 0.673887 2 0
+-0.365731 0.365731 0.855851 2 0
+-0.673887 0.302905 0.673887 2 0
+
+
+-0.382683 0.00000 0.923880 2 0
+-0.365731 0.365731 0.855851 2 0
+0.00000 0.382683 0.923880 2 0
+0.00000 0.00000 1.00000 2 0
+-0.382683 0.00000 0.923880 2 0
+
+
+-0.365731 0.365731 0.855851 2 0
+-0.302905 0.673887 0.673887 2 0
+0.00000 0.707107 0.707107 2 0
+0.00000 0.382683 0.923880 2 0
+-0.365731 0.365731 0.855851 2 0
+
+
+0.00000 -0.707107 0.707107 2 0
+0.00000 -0.382683 0.923880 2 0
+0.365731 -0.365731 0.855851 2 0
+0.302905 -0.673887 0.673887 2 0
+0.00000 -0.707107 0.707107 2 0
+
+
+0.00000 -0.382683 0.923880 2 0
+0.00000 0.00000 1.00000 2 0
+0.382683 0.00000 0.923880 2 0
+0.365731 -0.365731 0.855851 2 0
+0.00000 -0.382683 0.923880 2 0
+
+
+0.302905 -0.673887 0.673887 2 0
+0.365731 -0.365731 0.855851 2 0
+0.673887 -0.302905 0.673887 2 0
+0.577350 -0.577350 0.577350 2 0
+0.302905 -0.673887 0.673887 2 0
+
+
+0.365731 -0.365731 0.855851 2 0
+0.382683 0.00000 0.923880 2 0
+0.707107 0.00000 0.707107 2 0
+0.673887 -0.302905 0.673887 2 0
+0.365731 -0.365731 0.855851 2 0
+
+
+0.00000 0.00000 1.00000 2 0
+0.00000 0.382683 0.923880 2 0
+0.365731 0.365731 0.855851 2 0
+0.382683 0.00000 0.923880 2 0
+0.00000 0.00000 1.00000 2 0
+
+
+0.00000 0.382683 0.923880 2 0
+0.00000 0.707107 0.707107 2 0
+0.302905 0.673887 0.673887 2 0
+0.365731 0.365731 0.855851 2 0
+0.00000 0.382683 0.923880 2 0
+
+
+0.382683 0.00000 0.923880 2 0
+0.365731 0.365731 0.855851 2 0
+0.673887 0.302905 0.673887 2 0
+0.707107 0.00000 0.707107 2 0
+0.382683 0.00000 0.923880 2 0
+
+
+0.365731 0.365731 0.855851 2 0
+0.302905 0.673887 0.673887 2 0
+0.577350 0.577350 0.577350 2 0
+0.673887 0.302905 0.673887 2 0
+0.365731 0.365731 0.855851 2 0
+
+
+-0.577350 -0.577350 -0.577350 2 0
+-0.577350 -0.288675 -0.577350 2 0
+-0.862418 -0.379225 -0.335298 2 0
+-0.673887 -0.673887 -0.302905 2 0
+-0.577350 -0.577350 -0.577350 2 0
+
+
+-0.577350 -0.288675 -0.577350 2 0
+-0.577350 0.00000 -0.577350 2 0
+-0.943953 0.00000 -0.330081 2 0
+-0.862418 -0.379225 -0.335298 2 0
+-0.577350 -0.288675 -0.577350 2 0
+
+
+-0.673887 -0.673887 -0.302905 2 0
+-0.862418 -0.379225 -0.335298 2 0
+-0.923762 -0.382710 0.0140184 2 0
+-0.707107 -0.707107 0.00000 2 0
+-0.673887 -0.673887 -0.302905 2 0
+
+
+-0.862418 -0.379225 -0.335298 2 0
+-0.943953 0.00000 -0.330081 2 0
+-0.999665 0.00000 0.0259008 2 0
+-0.923762 -0.382710 0.0140184 2 0
+-0.862418 -0.379225 -0.335298 2 0
+
+
+-0.577350 0.00000 -0.577350 2 0
+-0.577350 0.288675 -0.577350 2 0
+-0.862418 0.379225 -0.335298 2 0
+-0.943953 0.00000 -0.330081 2 0
+-0.577350 0.00000 -0.577350 2 0
+
+
+-0.577350 0.288675 -0.577350 2 0
+-0.577350 0.577350 -0.577350 2 0
+-0.673887 0.673887 -0.302905 2 0
+-0.862418 0.379225 -0.335298 2 0
+-0.577350 0.288675 -0.577350 2 0
+
+
+-0.943953 0.00000 -0.330081 2 0
+-0.862418 0.379225 -0.335298 2 0
+-0.923762 0.382710 0.0140184 2 0
+-0.999665 0.00000 0.0259008 2 0
+-0.943953 0.00000 -0.330081 2 0
+
+
+-0.862418 0.379225 -0.335298 2 0
+-0.673887 0.673887 -0.302905 2 0
+-0.707107 0.707107 0.00000 2 0
+-0.923762 0.382710 0.0140184 2 0
+-0.862418 0.379225 -0.335298 2 0
+
+
+-0.707107 -0.707107 0.00000 2 0
+-0.923762 -0.382710 0.0140184 2 0
+-0.853386 -0.365005 0.372160 2 0
+-0.673887 -0.673887 0.302905 2 0
+-0.707107 -0.707107 0.00000 2 0
+
+
+-0.923762 -0.382710 0.0140184 2 0
+-0.999665 0.00000 0.0259008 2 0
+-0.918846 0.00000 0.394617 2 0
+-0.853386 -0.365005 0.372160 2 0
+-0.923762 -0.382710 0.0140184 2 0
+
+
+-0.673887 -0.673887 0.302905 2 0
+-0.853386 -0.365005 0.372160 2 0
+-0.673887 -0.302905 0.673887 2 0
+-0.577350 -0.577350 0.577350 2 0
+-0.673887 -0.673887 0.302905 2 0
+
+
+-0.853386 -0.365005 0.372160 2 0
+-0.918846 0.00000 0.394617 2 0
+-0.707107 0.00000 0.707107 2 0
+-0.673887 -0.302905 0.673887 2 0
+-0.853386 -0.365005 0.372160 2 0
+
+
+-0.999665 0.00000 0.0259008 2 0
+-0.923762 0.382710 0.0140184 2 0
+-0.853386 0.365005 0.372160 2 0
+-0.918846 0.00000 0.394617 2 0
+-0.999665 0.00000 0.0259008 2 0
+
+
+-0.923762 0.382710 0.0140184 2 0
+-0.707107 0.707107 0.00000 2 0
+-0.673887 0.673887 0.302905 2 0
+-0.853386 0.365005 0.372160 2 0
+-0.923762 0.382710 0.0140184 2 0
+
+
+-0.918846 0.00000 0.394617 2 0
+-0.853386 0.365005 0.372160 2 0
+-0.673887 0.302905 0.673887 2 0
+-0.707107 0.00000 0.707107 2 0
+-0.918846 0.00000 0.394617 2 0
+
+
+-0.853386 0.365005 0.372160 2 0
+-0.673887 0.673887 0.302905 2 0
+-0.577350 0.577350 0.577350 2 0
+-0.673887 0.302905 0.673887 2 0
+-0.853386 0.365005 0.372160 2 0
+
+
+-0.577350 -0.577350 -0.577350 2 0
+-0.673887 -0.673887 -0.302905 2 0
+-0.379225 -0.862418 -0.335298 2 0
+-0.288675 -0.577350 -0.577350 2 0
+-0.577350 -0.577350 -0.577350 2 0
+
+
+-0.673887 -0.673887 -0.302905 2 0
+-0.707107 -0.707107 0.00000 2 0
+-0.382710 -0.923762 0.0140184 2 0
+-0.379225 -0.862418 -0.335298 2 0
+-0.673887 -0.673887 -0.302905 2 0
+
+
+-0.288675 -0.577350 -0.577350 2 0
+-0.379225 -0.862418 -0.335298 2 0
+0.00000 -0.943953 -0.330081 2 0
+0.00000 -0.577350 -0.577350 2 0
+-0.288675 -0.577350 -0.577350 2 0
+
+
+-0.379225 -0.862418 -0.335298 2 0
+-0.382710 -0.923762 0.0140184 2 0
+0.00000 -0.999665 0.0259008 2 0
+0.00000 -0.943953 -0.330081 2 0
+-0.379225 -0.862418 -0.335298 2 0
+
+
+-0.707107 -0.707107 0.00000 2 0
+-0.673887 -0.673887 0.302905 2 0
+-0.365005 -0.853386 0.372160 2 0
+-0.382710 -0.923762 0.0140184 2 0
+-0.707107 -0.707107 0.00000 2 0
+
+
+-0.673887 -0.673887 0.302905 2 0
+-0.577350 -0.577350 0.577350 2 0
+-0.302905 -0.673887 0.673887 2 0
+-0.365005 -0.853386 0.372160 2 0
+-0.673887 -0.673887 0.302905 2 0
+
+
+-0.382710 -0.923762 0.0140184 2 0
+-0.365005 -0.853386 0.372160 2 0
+0.00000 -0.918846 0.394617 2 0
+0.00000 -0.999665 0.0259008 2 0
+-0.382710 -0.923762 0.0140184 2 0
+
+
+-0.365005 -0.853386 0.372160 2 0
+-0.302905 -0.673887 0.673887 2 0
+0.00000 -0.707107 0.707107 2 0
+0.00000 -0.918846 0.394617 2 0
+-0.365005 -0.853386 0.372160 2 0
+
+
+0.00000 -0.577350 -0.577350 2 0
+0.00000 -0.943953 -0.330081 2 0
+0.379225 -0.862418 -0.335298 2 0
+0.288675 -0.577350 -0.577350 2 0
+0.00000 -0.577350 -0.577350 2 0
+
+
+0.00000 -0.943953 -0.330081 2 0
+0.00000 -0.999665 0.0259008 2 0
+0.382710 -0.923762 0.0140184 2 0
+0.379225 -0.862418 -0.335298 2 0
+0.00000 -0.943953 -0.330081 2 0
+
+
+0.288675 -0.577350 -0.577350 2 0
+0.379225 -0.862418 -0.335298 2 0
+0.673887 -0.673887 -0.302905 2 0
+0.577350 -0.577350 -0.577350 2 0
+0.288675 -0.577350 -0.577350 2 0
+
+
+0.379225 -0.862418 -0.335298 2 0
+0.382710 -0.923762 0.0140184 2 0
+0.707107 -0.707107 0.00000 2 0
+0.673887 -0.673887 -0.302905 2 0
+0.379225 -0.862418 -0.335298 2 0
+
+
+0.00000 -0.999665 0.0259008 2 0
+0.00000 -0.918846 0.394617 2 0
+0.365005 -0.853386 0.372160 2 0
+0.382710 -0.923762 0.0140184 2 0
+0.00000 -0.999665 0.0259008 2 0
+
+
+0.00000 -0.918846 0.394617 2 0
+0.00000 -0.707107 0.707107 2 0
+0.302905 -0.673887 0.673887 2 0
+0.365005 -0.853386 0.372160 2 0
+0.00000 -0.918846 0.394617 2 0
+
+
+0.382710 -0.923762 0.0140184 2 0
+0.365005 -0.853386 0.372160 2 0
+0.673887 -0.673887 0.302905 2 0
+0.707107 -0.707107 0.00000 2 0
+0.382710 -0.923762 0.0140184 2 0
+
+
+0.365005 -0.853386 0.372160 2 0
+0.302905 -0.673887 0.673887 2 0
+0.577350 -0.577350 0.577350 2 0
+0.673887 -0.673887 0.302905 2 0
+0.365005 -0.853386 0.372160 2 0
+
+
+-0.577350 0.577350 -0.577350 2 0
+-0.288675 0.577350 -0.577350 2 0
+-0.379225 0.862418 -0.335298 2 0
+-0.673887 0.673887 -0.302905 2 0
+-0.577350 0.577350 -0.577350 2 0
+
+
+-0.288675 0.577350 -0.577350 2 0
+0.00000 0.577350 -0.577350 2 0
+0.00000 0.943953 -0.330081 2 0
+-0.379225 0.862418 -0.335298 2 0
+-0.288675 0.577350 -0.577350 2 0
+
+
+-0.673887 0.673887 -0.302905 2 0
+-0.379225 0.862418 -0.335298 2 0
+-0.382710 0.923762 0.0140184 2 0
+-0.707107 0.707107 0.00000 2 0
+-0.673887 0.673887 -0.302905 2 0
+
+
+-0.379225 0.862418 -0.335298 2 0
+0.00000 0.943953 -0.330081 2 0
+0.00000 0.999665 0.0259008 2 0
+-0.382710 0.923762 0.0140184 2 0
+-0.379225 0.862418 -0.335298 2 0
+
+
+0.00000 0.577350 -0.577350 2 0
+0.288675 0.577350 -0.577350 2 0
+0.379225 0.862418 -0.335298 2 0
+0.00000 0.943953 -0.330081 2 0
+0.00000 0.577350 -0.577350 2 0
+
+
+0.288675 0.577350 -0.577350 2 0
+0.577350 0.577350 -0.577350 2 0
+0.673887 0.673887 -0.302905 2 0
+0.379225 0.862418 -0.335298 2 0
+0.288675 0.577350 -0.577350 2 0
+
+
+0.00000 0.943953 -0.330081 2 0
+0.379225 0.862418 -0.335298 2 0
+0.382710 0.923762 0.0140184 2 0
+0.00000 0.999665 0.0259008 2 0
+0.00000 0.943953 -0.330081 2 0
+
+
+0.379225 0.862418 -0.335298 2 0
+0.673887 0.673887 -0.302905 2 0
+0.707107 0.707107 0.00000 2 0
+0.382710 0.923762 0.0140184 2 0
+0.379225 0.862418 -0.335298 2 0
+
+
+-0.707107 0.707107 0.00000 2 0
+-0.382710 0.923762 0.0140184 2 0
+-0.365005 0.853386 0.372160 2 0
+-0.673887 0.673887 0.302905 2 0
+-0.707107 0.707107 0.00000 2 0
+
+
+-0.382710 0.923762 0.0140184 2 0
+0.00000 0.999665 0.0259008 2 0
+0.00000 0.918846 0.394617 2 0
+-0.365005 0.853386 0.372160 2 0
+-0.382710 0.923762 0.0140184 2 0
+
+
+-0.673887 0.673887 0.302905 2 0
+-0.365005 0.853386 0.372160 2 0
+-0.302905 0.673887 0.673887 2 0
+-0.577350 0.577350 0.577350 2 0
+-0.673887 0.673887 0.302905 2 0
+
+
+-0.365005 0.853386 0.372160 2 0
+0.00000 0.918846 0.394617 2 0
+0.00000 0.707107 0.707107 2 0
+-0.302905 0.673887 0.673887 2 0
+-0.365005 0.853386 0.372160 2 0
+
+
+0.00000 0.999665 0.0259008 2 0
+0.382710 0.923762 0.0140184 2 0
+0.365005 0.853386 0.372160 2 0
+0.00000 0.918846 0.394617 2 0
+0.00000 0.999665 0.0259008 2 0
+
+
+0.382710 0.923762 0.0140184 2 0
+0.707107 0.707107 0.00000 2 0
+0.673887 0.673887 0.302905 2 0
+0.365005 0.853386 0.372160 2 0
+0.382710 0.923762 0.0140184 2 0
+
+
+0.00000 0.918846 0.394617 2 0
+0.365005 0.853386 0.372160 2 0
+0.302905 0.673887 0.673887 2 0
+0.00000 0.707107 0.707107 2 0
+0.00000 0.918846 0.394617 2 0
+
+
+0.365005 0.853386 0.372160 2 0
+0.673887 0.673887 0.302905 2 0
+0.577350 0.577350 0.577350 2 0
+0.302905 0.673887 0.673887 2 0
+0.365005 0.853386 0.372160 2 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.