]> https://gitweb.dealii.org/ - dealii.git/commitdiff
SphericalManifold to PolarManifold.
authorLuca Heltai <luca.heltai@sissa.it>
Tue, 12 Jul 2016 11:26:21 +0000 (13:26 +0200)
committerLuca Heltai <luca.heltai@sissa.it>
Thu, 4 Aug 2016 08:44:10 +0000 (10:44 +0200)
Moved the old version of SphericalManifold to PolarManifold, and
implemented a new SphericalManifold based on geodesics.

35 files changed:
include/deal.II/grid/manifold_lib.h
source/grid/manifold_lib.cc
source/grid/manifold_lib.inst.in
tests/manifold/composition_manifold_01.cc
tests/manifold/composition_manifold_02.cc
tests/manifold/composition_manifold_03.cc
tests/manifold/composition_manifold_04.cc
tests/manifold/polar_manifold_01.cc [new file with mode: 0644]
tests/manifold/polar_manifold_01.output [new file with mode: 0644]
tests/manifold/polar_manifold_02.cc [new file with mode: 0644]
tests/manifold/polar_manifold_02.output [new file with mode: 0644]
tests/manifold/polar_manifold_03.cc [new file with mode: 0644]
tests/manifold/polar_manifold_03.output [new file with mode: 0644]
tests/manifold/polar_manifold_04.cc [moved from tests/manifold/spherical_manifold_04.cc with 67% similarity]
tests/manifold/polar_manifold_04.output [moved from tests/manifold/spherical_manifold_04.output with 100% similarity]
tests/manifold/polar_manifold_05.cc [moved from tests/manifold/spherical_manifold_05.cc with 75% similarity]
tests/manifold/polar_manifold_05.output [moved from tests/manifold/spherical_manifold_05.output with 100% similarity]
tests/manifold/polar_manifold_06.cc [moved from tests/manifold/spherical_manifold_06.cc with 96% similarity]
tests/manifold/polar_manifold_06.output [moved from tests/manifold/spherical_manifold_06.output with 100% similarity]
tests/manifold/polar_manifold_07.cc [moved from tests/manifold/spherical_manifold_07.cc with 95% similarity]
tests/manifold/polar_manifold_07.output [moved from tests/manifold/spherical_manifold_07.output with 100% similarity]
tests/manifold/polar_manifold_08.cc [moved from tests/manifold/spherical_manifold_08.cc with 94% similarity]
tests/manifold/polar_manifold_08.output [moved from tests/manifold/spherical_manifold_08.output with 100% similarity]
tests/manifold/polar_manifold_09.cc [moved from tests/manifold/spherical_manifold_09.cc with 97% similarity]
tests/manifold/polar_manifold_09.output [moved from tests/manifold/spherical_manifold_09.output with 100% similarity]
tests/manifold/spherical_manifold_01.cc
tests/manifold/spherical_manifold_01.output
tests/manifold/spherical_manifold_02.cc
tests/manifold/spherical_manifold_02.output
tests/manifold/spherical_manifold_03.cc
tests/manifold/spherical_manifold_03.output
tests/manifold/tensor_product_manifold_02.cc
tests/manifold/tria_accessor_point_01.cc
tests/manifold/tria_accessor_point_02.cc
tests/manifold/tria_accessor_point_03.cc

index 6be207102a3334d4aff584af842eae1d6c2c1420..8ef04fd1b240021fd0e189b9a3f556227a14ac52 100644 (file)
 DEAL_II_NAMESPACE_OPEN
 
 /**
- * Manifold description for a spherical space coordinate system.
+ * Manifold description for a polar coordinate system.
  *
  * You can use this Manifold object to describe any sphere, circle,
- * hypersphere or hyperdisc in two or three dimensions, both as a co-dimension
- * one manifold descriptor or as co-dimension zero manifold descriptor.
+ * hypersphere or hyperdisc in two or three dimensions, both as a
+ * co-dimension one manifold descriptor or as co-dimension zero
+ * manifold descriptor, provided that the north and south poles (in
+ * three dimensions) are excluded from the Manifold (as they are
+ * singular).
  *
  * The two template arguments match the meaning of the two template arguments
  * in Triangulation<dim, spacedim>, however this Manifold can be used to
  * describe both thin and thick objects, and the behavior is identical when
- * dim <= spacedim, i.e., the functionality of SphericalManifold<2,3> is
- * identical to SphericalManifold<3,3>.
- *
- * The two dimensional implementation of this class works by transforming
- * points to spherical coordinates, taking the average in that coordinate
- * system, and then transforming back the point to Cartesian coordinates. For
- * the three dimensional case, we use a simpler approach: we take the average
- * of the norm of the points, and use this value to shift the average point
- * along the radial direction. In order for this manifold to work correctly,
- * it cannot be attached to cells containing the center of the coordinate
- * system. This point is a singular point of the coordinate transformation,
- * and there taking averages does not make any sense.
+ * dim <= spacedim, i.e., the functionality of PolarManifold<2,3> is
+ * identical to PolarManifold<3,3>.
  *
- * This class is used in step-1 and step-2 to describe the boundaries of
- * circles. Its use is also discussed in the results section of step-6.
+ * This class works by transforming points to polar coordinates (in
+ * both two and three dimensions), taking the average in that
+ * coordinate system, and then transforming back the point to
+ * Cartesian coordinates. In order for this manifold to work
+ * correctly, it cannot be attached to cells containing the center of
+ * the coordinate system or the north and south poles in three
+ * dimensions. These points are singular points of the coordinate
+ * transformation, and taking averages around these points does not
+ * make any sense.
  *
  * @ingroup manifold
  *
- * @author Luca Heltai, 2014
+ * @author Luca Heltai, Mauro Bardelloni, 2014-2016
  */
 template <int dim, int spacedim = dim>
-class SphericalManifold : public ChartManifold<dim, spacedim, spacedim>
+class PolarManifold : public ChartManifold<dim, spacedim, spacedim>
 {
 public:
   /**
@@ -66,7 +66,7 @@ public:
    * it takes the middle point, and project it along the radius using the
    * average radius of the surrounding points.
    */
-  SphericalManifold(const Point<spacedim> center = Point<spacedim>());
+  PolarManifold(const Point<spacedim> center = Point<spacedim>());
 
   /**
    * Pull back the given point from the Euclidean space. Will return the polar
@@ -84,7 +84,6 @@ public:
   virtual Point<spacedim>
   push_forward(const Point<spacedim> &chart_point) const;
 
-
   /**
    * Given a point in the spacedim dimensional Euclidean space, this
    * method returns the derivatives of the function $F$ that maps from
@@ -101,17 +100,6 @@ public:
   DerivativeForm<1,spacedim,spacedim>
   push_forward_gradient(const Point<spacedim> &chart_point) const;
 
-
-  /**
-   * Let the new point be the average sum of surrounding vertices.
-   *
-   * In the two dimensional implementation, we use the pull_back and
-   * push_forward mechanism. For three dimensions, this does not work well, so
-   * we overload the get_new_point function directly.
-   */
-  virtual Point<spacedim>
-  get_new_point(const Quadrature<spacedim> &quad) const;
-
   /**
    * The center of the spherical coordinate system.
    */
@@ -126,6 +114,110 @@ private:
 };
 
 
+/**
+ * Manifold description for a spherical space coordinate system.
+ *
+ * You can use this Manifold object to describe any sphere, circle,
+ * hypersphere or hyperdisc in two or three dimensions, both as a co-dimension
+ * one manifold descriptor or as co-dimension zero manifold descriptor.
+ *
+ * The two template arguments match the meaning of the two template arguments
+ * in Triangulation<dim, spacedim>, however this Manifold can be used to
+ * describe both thin and thick objects, and the behavior is identical when
+ * dim <= spacedim, i.e., the functionality of SphericalManifold<2,3> is
+ * identical to SphericalManifold<3,3>.
+ *
+ * While PolarManifold reflects the usual notion of polar coordinates,
+ * it may not be suitable for domains that contain either the north or
+ * south poles.
+ * Consider for istance the pair of points \f$x_1=(1,\pi/3,0)\f$ and
+ * \f$x_2=(1,\pi/3,\pi)\f$.
+ * These two points would be connented (using a PolarManifold) by the curve
+ * \$[
+ * \begin{align}
+ *   s: [0,1]  & \rightarrow &  \mathbb S^3 \\
+ *           t & \mapsto     &  (1,\pi/3,0) + (0,0,t\pi)
+ * \$]
+ * This curve is not a geodesic on the sphere, and it is not how we
+ * would choose a curve on the sphere. A better one would be the one
+ * passing through the North pole:
+ * \[
+ *  s(t) = x_1 \cos(\alpha(t)) + \kappa \times x_1 \sin(\alpha(t)) +
+ *  \kappa ( \kappa \cdot x_1) (1-\cos(\alpha(t))).
+ * \]
+ * where $\kappa = \frac{x_1 \times \x_2}{\Vert x_1 \times \x_2 \Vert}$
+ * and $\alpha(t) = t * \arccos(x_1 * x_2) $ for $t\in[0,1]$.
+ * Indeed, this is a geodesic, and it is the natural choice when
+ * connecting points on the surface of the sphere.
+ *
+ * This class implements a Manifold that joins any two points in space
+ * by first projecting them on the surface of a sphere with unit
+ * radius, then connecting them with a geodesic, and finally rescaling
+ * the final radius so that the resulting one is the weighted average
+ * of the starting radii. This Manifold is identical to PolarManifold
+ * in dimension two, while for dimension three it returns points that
+ * are more uniformly distributed on the sphere, and it is invariant
+ * with respect to rotations of the coordinate system, therefore
+ * avoiding the problems that PolarManifold has at the poles.
+ *
+ * For mathematical reasons, it is impossible to construct a unique
+ * map of a sphere using only geodesic curves, and therefore, using
+ * this class with MappingManifold is discouraged. If you use this
+ * Manifold to describe the geometry of a sphere, you should use
+ * MappingQ as the underlying mapping, and not MappingManifold.
+ *
+ * @ingroup manifold
+ *
+ * @author Mauro Bardelloni, Luca Heltai, 2016
+ */
+template <int dim, int spacedim = dim>
+class SphericalManifold : public Manifold<dim, spacedim>
+{
+public:
+  /**
+   * The Constructor takes the center of the spherical coordinates.
+   */
+  SphericalManifold(const Point<spacedim> center = Point<spacedim>());
+
+  /**
+   * Given any two points in space, first project them on the surface
+   * of a sphere with unit radius, then connect them with a geodesic
+   * and find the intermediate point, and finally rescale the final
+   * radius so that the resulting one is the convex combination of the
+   * starting radii.
+   */
+  virtual
+  Point<spacedim>
+  get_new_point(const Point<spacedim> &p1,
+                const Point<spacedim> &p2,
+                const double w) const;
+
+  /**
+   * Compute the derivative of the get_new_point function with
+   * parameter w equal to zero.
+   */
+  virtual
+  Tensor<1,spacedim>
+  get_tangent_vector (const Point<spacedim> &x1,
+                      const Point<spacedim> &x2) const;
+
+  
+  /**
+   * Return a point on the spherical manifold which is intermediate
+   * with respect to the surrounding points.
+   */
+  virtual
+  Point<spacedim>
+  project_to_manifold (const std::vector<Point<spacedim> > &vertices,
+                       const Point<spacedim> &candidate) const;
+
+  /**
+   * The center of the spherical coordinate system.
+   */
+  const Point<spacedim> center;
+};
+
+
 /**
  * Cylindrical Manifold description.  In three dimensions, points are
  * transformed using a cylindrical coordinate system along the <tt>x-</tt>,
index 1a8e0a4e361be7d9fade1b565d1f55f1b2ec6030..9e73b9c9c1f9fd56a10f1099adcee81efbd40154 100644 (file)
 
 DEAL_II_NAMESPACE_OPEN
 
+// ============================================================
+// PolarManifold
+// ============================================================
+
 template <int dim, int spacedim>
-SphericalManifold<dim,spacedim>::SphericalManifold(const Point<spacedim> center):
-  ChartManifold<dim,spacedim,spacedim>(SphericalManifold<dim,spacedim>::get_periodicity()),
+PolarManifold<dim,spacedim>::PolarManifold(const Point<spacedim> center):
+  ChartManifold<dim,spacedim,spacedim>(PolarManifold<dim,spacedim>::get_periodicity()),
   center(center)
 {}
 
-
-
 template <int dim, int spacedim>
 Tensor<1,spacedim>
-SphericalManifold<dim,spacedim>::get_periodicity()
+PolarManifold<dim,spacedim>::get_periodicity()
 {
   Tensor<1,spacedim> periodicity;
   // In two dimensions, theta is periodic.
@@ -45,36 +47,9 @@ SphericalManifold<dim,spacedim>::get_periodicity()
   return periodicity;
 }
 
-
-template <int dim, int spacedim>
-Point<spacedim>
-SphericalManifold<dim,spacedim>::get_new_point(const Quadrature<spacedim> &quad) const
-{
-  if (spacedim == 2)
-    return ChartManifold<dim,spacedim,spacedim>::get_new_point(quad);
-  else
-    {
-      double rho_average = 0;
-      Point<spacedim> mid_point;
-      for (unsigned int i=0; i<quad.size(); ++i)
-        {
-          rho_average += quad.weight(i)*(quad.point(i)-center).norm();
-          mid_point += quad.weight(i)*quad.point(i);
-        }
-      // Project the mid_point back to the right location
-      Tensor<1,spacedim> R = mid_point-center;
-      // Scale it to have radius rho_average
-      R *= rho_average/R.norm();
-      // And return it.
-      return center+R;
-    }
-}
-
-
-
 template <int dim, int spacedim>
 Point<spacedim>
-SphericalManifold<dim,spacedim>::push_forward(const Point<spacedim> &spherical_point) const
+PolarManifold<dim,spacedim>::push_forward(const Point<spacedim> &spherical_point) const
 {
   Assert(spherical_point[0] >=0.0,
          ExcMessage("Negative radius for given point."));
@@ -105,7 +80,7 @@ SphericalManifold<dim,spacedim>::push_forward(const Point<spacedim> &spherical_p
 
 template <int dim, int spacedim>
 Point<spacedim>
-SphericalManifold<dim,spacedim>::pull_back(const Point<spacedim> &space_point) const
+PolarManifold<dim,spacedim>::pull_back(const Point<spacedim> &space_point) const
 {
   const Tensor<1,spacedim> R = space_point-center;
   const double rho = R.norm();
@@ -139,10 +114,9 @@ SphericalManifold<dim,spacedim>::pull_back(const Point<spacedim> &space_point) c
   return p;
 }
 
-
 template <int dim, int spacedim>
 DerivativeForm<1,spacedim,spacedim>
-SphericalManifold<dim,spacedim>::push_forward_gradient(const Point<spacedim> &spherical_point) const
+PolarManifold<dim,spacedim>::push_forward_gradient(const Point<spacedim> &spherical_point) const
 {
   Assert(spherical_point[0] >= 0.0,
          ExcMessage("Negative radius for given point."));
@@ -185,6 +159,88 @@ SphericalManifold<dim,spacedim>::push_forward_gradient(const Point<spacedim> &sp
   return DX;
 }
 
+// ============================================================
+// SphericalManifold
+// ============================================================
+
+template <int dim, int spacedim>
+SphericalManifold<dim,spacedim>::SphericalManifold(const Point<spacedim> center):
+  center(center)
+{}
+
+template <int dim, int spacedim>
+Point<spacedim>
+SphericalManifold<dim,spacedim>::
+get_new_point (const Point<spacedim> &p1,
+               const Point<spacedim> &p2,
+               const double w) const
+{
+  Assert(w >=0.0 && w <= 1.0,
+         ExcMessage("w should be in the range [0.0,1.0]."));
+
+  if ( p1 == p2 ) return p1;
+
+  const Tensor<1,spacedim> v1 = p1 - center;
+  const Tensor<1,spacedim> v2 = p2 - center;
+  const double r1 = v1.norm();
+  const double r2 = v2.norm();
+
+  // Find the angle gamma described by v1 and v2:
+  const double gamma = std::acos((v1*v2)/(r1*r2));
+
+  // Find the angle sigma that correspont to archlengh equal to w
+  const double sigma = (1-w) * gamma;
+
+  // Versor with the same direction of v1
+  const Tensor<1,spacedim> t = v1/r1;
+  // Normal to v1 in the plane described by v1,v2,and the origin.
+  Tensor<1,spacedim> n = v2 - (v2*t)*t;
+  n = n/n.norm();
+
+  // Find the point Q along O,v1 such that
+  // P1,V,P2 has measure sigma.
+  const Tensor<1,spacedim> P = std::cos(sigma) * t + std::sin(sigma) * n;
+
+  // Project this point on the manifold.
+  return Point<spacedim>(center + (w*r1+(1-w)*r2)*P);
+}
+
+template <int dim, int spacedim>
+Tensor<1,spacedim>
+SphericalManifold<dim,spacedim>::
+get_tangent_vector (const Point<spacedim> &p1,
+                    const Point<spacedim> &p2) const
+{
+  Assert(p1 != p2,
+         ExcMessage("p1 and p2 should not concide."));
+
+  const double r1 = (p1 - center).norm();
+  const double r2 = (p2 - center).norm();
+  const Tensor<1,spacedim> e1 = (p1 - center)/r1;
+  const Tensor<1,spacedim> e2 = (p2 - center)/r2;
+
+  // Tangent vector to the unit sphere along the geodesic given by e1 and e2.
+  Tensor<1,spacedim> tg = (e2-(e2*e1)*e1);
+  tg = tg / tg.norm();
+
+  const double gamma = std::acos(e1*e2);
+
+  return (r1-r2)*e1 + r1*gamma*tg;
+}
+
+template <int dim, int spacedim>
+Point<spacedim>
+SphericalManifold<dim,spacedim>::
+project_to_manifold (const std::vector<Point<spacedim> > &vertices,
+                     const Point<spacedim> &candidate) const
+{
+  double rho = 0.0;
+  for (unsigned int i = 0; i<vertices.size(); i++)
+    rho += (vertices[i]-center).norm();
+  rho /= (1.0*vertices.size());
+  return center+(rho/(candidate-center).norm())*(candidate-center);
+}
+
 // ============================================================
 // CylindricalManifold
 // ============================================================
index 649deda2f31943187b085814d6a6a7306aa37123..d47a6343d00c7c30bc77a06d088ca60dcb3eaff4 100644 (file)
@@ -17,6 +17,7 @@
 for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension :  SPACE_DIMENSIONS)
   {
 #if deal_II_dimension <= deal_II_space_dimension
+    template class PolarManifold<deal_II_dimension, deal_II_space_dimension>;
     template class SphericalManifold<deal_II_dimension, deal_II_space_dimension>;
     template class CylindricalManifold<deal_II_dimension, deal_II_space_dimension>;
     template class FunctionManifold<deal_II_dimension, deal_II_space_dimension, 1>;                      
index 433b7291ae1b0e92d9c31b4471c43ae7996977b6..b6bfc236e6c5b5545c66c4e0319ef62e281d1e04 100644 (file)
@@ -1,12 +1,12 @@
-//----------------------------  function_manifold_chart ---------------------------
-//    Copyright (C) 2011 - 2015 by the mathLab team.
+//-------------------------------------------------------------------
+//    Copyright (C) 2016 by the deal.II authors.
 //
 //    This file is subject to LGPL 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.
 //
-//---------------------------- composition_manifold ---------------------------
+//-------------------------------------------------------------------
 
 
 // Test the combination of simple ChartManifolds: parabolic + translation
index fc9626184532120c51e5add75d2414f1063ebfe8..6b91128bab3e553a5a93e27083c03b95ac52208d 100644 (file)
@@ -1,15 +1,15 @@
-//----------------------------  function_manifold_chart ---------------------------
-//    Copyright (C) 2011 - 2015 by the mathLab team.
+//-------------------------------------------------------------------
+//    Copyright (C) 2016 by the deal.II authors.
 //
 //    This file is subject to LGPL 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.
 //
-//---------------------------- composition_manifold ---------------------------
+//-------------------------------------------------------------------
 
 
-// Test the combination of simple ChartManifolds: SphericalManifold +
+// Test the combination of simple ChartManifolds: PolarManifold +
 // Translation
 
 #include "../tests.h"
@@ -29,7 +29,7 @@ int main ()
 
   const int dim=2, spacedim=2;
 
-  SphericalManifold<1,2>    F;
+  PolarManifold<1,2>    F;
   FunctionManifold<2,2,2> G("x;y+1", "x;y-1");
 
   CompositionManifold<2,2,2,2,1> manifold(F,G);
index 08eeef5609aaa803c5cc87508da9f91c2a6c4702..bfbd11361d9a999098a64391f5aac59cd03c1f3f 100644 (file)
@@ -1,15 +1,15 @@
-//----------------------------  function_manifold_chart ---------------------------
-//    Copyright (C) 2011 - 2015 by the mathLab team.
+//-------------------------------------------------------------------
+//    Copyright (C) 2016 by the deal.II authors.
 //
 //    This file is subject to LGPL 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.
 //
-//---------------------------- composition_manifold ---------------------------
+//-------------------------------------------------------------------
 
 
-// Test the combination of simple ChartManifolds: SphericalManifold +
+// Test the combination of simple ChartManifolds: PolarManifold +
 // Rotation
 
 #include "../tests.h"
@@ -29,7 +29,7 @@ int main ()
 
   const int dim=2, spacedim=2;
 
-  SphericalManifold<1,2>    F;
+  PolarManifold<1,2>    F;
   std::map<std::string, double> constants;
   constants["k"] = numbers::PI/3;
   FunctionManifold<2,2,2> G("cos( k)*x -sin( k)*y; sin( k)*x+cos( k)*y",
index deec2cb00ad266262e02a56266c404a68c043b59..a442601691a7ad5fda88f73765643c08036c573c 100644 (file)
@@ -1,15 +1,15 @@
-//----------------------------  function_manifold_chart ---------------------------
-//    Copyright (C) 2011 - 2015 by the mathLab team.
+//-------------------------------------------------------------------
+//    Copyright (C) 2016 by the deal.II authors.
 //
 //    This file is subject to LGPL 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.
 //
-//---------------------------- composition_manifold ---------------------------
+//-------------------------------------------------------------------
 
 
-// Stress periodicity in CompositionManifold. Compose SphericalManifold with
+// Stress periodicity in CompositionManifold. Compose PolarManifold with
 // the identity, and make sure periodicity is respected.
 
 #include "../tests.h"
@@ -31,7 +31,7 @@ int main ()
 
   Point<spacedim> center;
 
-  SphericalManifold<dim,spacedim> S(center);
+  PolarManifold<dim,spacedim> S(center);
   FunctionManifold<dim,spacedim,spacedim> F("x;y", "x;y");
 
   CompositionManifold<dim> manifold(S,F);
diff --git a/tests/manifold/polar_manifold_01.cc b/tests/manifold/polar_manifold_01.cc
new file mode 100644 (file)
index 0000000..d0b67c5
--- /dev/null
@@ -0,0 +1,73 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2016 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.
+//
+// ---------------------------------------------------------------------
+
+
+// Test spherical manifold on hyper shells.
+
+#include "../tests.h"
+#include <fstream>
+#include <deal.II/base/logstream.h>
+
+
+// all include files you need here
+#include <deal.II/grid/tria.h>
+#include <deal.II/grid/tria_accessor.h>
+#include <deal.II/grid/tria_iterator.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/tria_boundary_lib.h>
+#include <deal.II/grid/manifold_lib.h>
+#include <deal.II/grid/grid_out.h>
+
+// Helper function
+template <int dim, int spacedim>
+void test(unsigned int ref=1)
+{
+  deallog << "Testing dim " << dim
+          << ", spacedim " << spacedim << std::endl;
+
+  PolarManifold<dim,spacedim> manifold;
+
+  Triangulation<dim,spacedim> tria;
+  GridGenerator::hyper_shell (tria, Point<spacedim>(), .3, .6, 12);
+
+  for (typename Triangulation<dim,spacedim>::active_cell_iterator cell = tria.begin_active(); cell != tria.end(); ++cell)
+    {
+      cell->set_all_manifold_ids(1);
+    }
+
+  tria.set_manifold(1, manifold);
+  tria.refine_global(1);
+
+  GridOut gridout;
+  gridout.write_msh(tria, deallog.get_file_stream());
+
+  // char fname[50];
+  // sprintf(fname, "mesh_%d_%d.msh", dim, spacedim);
+  // std::ofstream of(fname);
+  // gridout.write_msh(tria, of);
+}
+
+int main ()
+{
+  std::ofstream logfile("output");
+  deallog.attach(logfile);
+  deallog.threshold_double(1.e-10);
+
+  test<2,2>();
+  test<3,3>();
+
+  return 0;
+}
+
diff --git a/tests/manifold/polar_manifold_01.output b/tests/manifold/polar_manifold_01.output
new file mode 100644 (file)
index 0000000..defe767
--- /dev/null
@@ -0,0 +1,381 @@
+
+DEAL::Testing dim 2, spacedim 2
+$NOD
+72
+1  0.600000 0.00000 0
+2  0.519615 0.300000 0
+3  0.300000 0.519615 0
+4  3.67394e-17 0.600000 0
+5  -0.300000 0.519615 0
+6  -0.519615 0.300000 0
+7  -0.600000 7.34788e-17 0
+8  -0.519615 -0.300000 0
+9  -0.300000 -0.519615 0
+10  -1.10218e-16 -0.600000 0
+11  0.300000 -0.519615 0
+12  0.519615 -0.300000 0
+13  0.300000 0.00000 0
+14  0.259808 0.150000 0
+15  0.150000 0.259808 0
+16  1.83697e-17 0.300000 0
+17  -0.150000 0.259808 0
+18  -0.259808 0.150000 0
+19  -0.300000 3.67394e-17 0
+20  -0.259808 -0.150000 0
+21  -0.150000 -0.259808 0
+22  -5.51091e-17 -0.300000 0
+23  0.150000 -0.259808 0
+24  0.259808 -0.150000 0
+25  0.579555 0.155291 0
+26  0.450000 0.00000 0
+27  0.424264 0.424264 0
+28  0.389711 0.225000 0
+29  0.155291 0.579555 0
+30  0.225000 0.389711 0
+31  -0.155291 0.579555 0
+32  2.75546e-17 0.450000 0
+33  -0.424264 0.424264 0
+34  -0.225000 0.389711 0
+35  -0.579555 0.155291 0
+36  -0.389711 0.225000 0
+37  -0.579555 -0.155291 0
+38  -0.450000 5.51091e-17 0
+39  -0.424264 -0.424264 0
+40  -0.389711 -0.225000 0
+41  -0.155291 -0.579555 0
+42  -0.225000 -0.389711 0
+43  0.155291 -0.579555 0
+44  -8.26637e-17 -0.450000 0
+45  0.424264 -0.424264 0
+46  0.225000 -0.389711 0
+47  0.579555 -0.155291 0
+48  0.389711 -0.225000 0
+49  0.289778 0.0776457 0
+50  0.212132 0.212132 0
+51  0.0776457 0.289778 0
+52  -0.0776457 0.289778 0
+53  -0.212132 0.212132 0
+54  -0.289778 0.0776457 0
+55  -0.289778 -0.0776457 0
+56  -0.212132 -0.212132 0
+57  -0.0776457 -0.289778 0
+58  0.0776457 -0.289778 0
+59  0.212132 -0.212132 0
+60  0.289778 -0.0776457 0
+61  0.434667 0.116469 0
+62  0.318198 0.318198 0
+63  0.116469 0.434667 0
+64  -0.116469 0.434667 0
+65  -0.318198 0.318198 0
+66  -0.434667 0.116469 0
+67  -0.434667 -0.116469 0
+68  -0.318198 -0.318198 0
+69  -0.116469 -0.434667 0
+70  0.116469 -0.434667 0
+71  0.318198 -0.318198 0
+72  0.434667 -0.116469 0
+$ENDNOD
+$ELM
+48
+1 3 0 0 4 1 25 61 26 
+2 3 0 0 4 25 2 28 61 
+3 3 0 0 4 26 61 49 13 
+4 3 0 0 4 61 28 14 49 
+5 3 0 0 4 2 27 62 28 
+6 3 0 0 4 27 3 30 62 
+7 3 0 0 4 28 62 50 14 
+8 3 0 0 4 62 30 15 50 
+9 3 0 0 4 3 29 63 30 
+10 3 0 0 4 29 4 32 63 
+11 3 0 0 4 30 63 51 15 
+12 3 0 0 4 63 32 16 51 
+13 3 0 0 4 4 31 64 32 
+14 3 0 0 4 31 5 34 64 
+15 3 0 0 4 32 64 52 16 
+16 3 0 0 4 64 34 17 52 
+17 3 0 0 4 5 33 65 34 
+18 3 0 0 4 33 6 36 65 
+19 3 0 0 4 34 65 53 17 
+20 3 0 0 4 65 36 18 53 
+21 3 0 0 4 6 35 66 36 
+22 3 0 0 4 35 7 38 66 
+23 3 0 0 4 36 66 54 18 
+24 3 0 0 4 66 38 19 54 
+25 3 0 0 4 7 37 67 38 
+26 3 0 0 4 37 8 40 67 
+27 3 0 0 4 38 67 55 19 
+28 3 0 0 4 67 40 20 55 
+29 3 0 0 4 8 39 68 40 
+30 3 0 0 4 39 9 42 68 
+31 3 0 0 4 40 68 56 20 
+32 3 0 0 4 68 42 21 56 
+33 3 0 0 4 9 41 69 42 
+34 3 0 0 4 41 10 44 69 
+35 3 0 0 4 42 69 57 21 
+36 3 0 0 4 69 44 22 57 
+37 3 0 0 4 10 43 70 44 
+38 3 0 0 4 43 11 46 70 
+39 3 0 0 4 44 70 58 22 
+40 3 0 0 4 70 46 23 58 
+41 3 0 0 4 11 45 71 46 
+42 3 0 0 4 45 12 48 71 
+43 3 0 0 4 46 71 59 23 
+44 3 0 0 4 71 48 24 59 
+45 3 0 0 4 12 47 72 48 
+46 3 0 0 4 47 1 26 72 
+47 3 0 0 4 48 72 60 24 
+48 3 0 0 4 72 26 13 60 
+$ENDELM
+DEAL::Testing dim 3, spacedim 3
+$NOD
+150
+1  -0.173205 -0.173205 -0.173205
+2  0.173205 -0.173205 -0.173205
+3  -0.173205 0.173205 -0.173205
+4  0.173205 0.173205 -0.173205
+5  -0.173205 -0.173205 0.173205
+6  0.173205 -0.173205 0.173205
+7  -0.173205 0.173205 0.173205
+8  0.173205 0.173205 0.173205
+9  -0.300000 0.00000 0.00000
+10  0.300000 0.00000 0.00000
+11  0.00000 -0.300000 0.00000
+12  0.00000 0.300000 0.00000
+13  0.00000 0.00000 -0.300000
+14  0.00000 0.00000 0.300000
+15  -0.346410 -0.346410 -0.346410
+16  0.346410 -0.346410 -0.346410
+17  -0.346410 0.346410 -0.346410
+18  0.346410 0.346410 -0.346410
+19  -0.346410 -0.346410 0.346410
+20  0.346410 -0.346410 0.346410
+21  -0.346410 0.346410 0.346410
+22  0.346410 0.346410 0.346410
+23  -0.600000 0.00000 0.00000
+24  0.600000 0.00000 0.00000
+25  0.00000 -0.600000 0.00000
+26  0.00000 0.600000 0.00000
+27  0.00000 0.00000 -0.600000
+28  0.00000 0.00000 0.600000
+29  -0.266422 -0.0975173 -0.0975173
+30  -0.259808 -0.259808 -0.259808
+31  0.266422 -0.0975173 -0.0975173
+32  0.0975173 -0.266422 -0.0975173
+33  0.0975173 -0.0975173 -0.266422
+34  0.259808 -0.259808 -0.259808
+35  -0.266422 0.0975173 -0.0975173
+36  -0.0975173 0.266422 -0.0975173
+37  -0.259808 0.259808 -0.259808
+38  0.0975173 0.266422 -0.0975173
+39  0.259808 0.259808 -0.259808
+40  -0.266422 -0.0975173 0.0975173
+41  -0.0975173 -0.0975173 0.266422
+42  -0.259808 -0.259808 0.259808
+43  0.0975173 -0.0975173 0.266422
+44  0.259808 -0.259808 0.259808
+45  -0.259808 0.259808 0.259808
+46  0.0975173 0.266422 0.0975173
+47  0.0975173 0.0975173 0.266422
+48  0.259808 0.259808 0.259808
+49  -0.266422 0.0975173 0.0975173
+50  -0.450000 0.00000 0.00000
+51  0.266422 0.0975173 -0.0975173
+52  0.266422 -0.0975173 0.0975173
+53  0.266422 0.0975173 0.0975173
+54  0.450000 0.00000 0.00000
+55  -0.0975173 -0.266422 -0.0975173
+56  -0.0975173 -0.266422 0.0975173
+57  0.0975173 -0.266422 0.0975173
+58  0.00000 -0.450000 0.00000
+59  -0.0975173 0.266422 0.0975173
+60  0.00000 0.450000 0.00000
+61  -0.0975173 -0.0975173 -0.266422
+62  -0.0975173 0.0975173 -0.266422
+63  0.0975173 0.0975173 -0.266422
+64  0.00000 0.00000 -0.450000
+65  -0.0975173 0.0975173 0.266422
+66  0.00000 0.00000 0.450000
+67  -0.532844 -0.195035 -0.195035
+68  0.532844 -0.195035 -0.195035
+69  0.195035 -0.532844 -0.195035
+70  0.195035 -0.195035 -0.532844
+71  -0.532844 0.195035 -0.195035
+72  -0.195035 0.532844 -0.195035
+73  0.195035 0.532844 -0.195035
+74  -0.532844 -0.195035 0.195035
+75  -0.195035 -0.195035 0.532844
+76  0.195035 -0.195035 0.532844
+77  0.195035 0.532844 0.195035
+78  0.195035 0.195035 0.532844
+79  -0.532844 0.195035 0.195035
+80  0.532844 0.195035 -0.195035
+81  0.532844 -0.195035 0.195035
+82  0.532844 0.195035 0.195035
+83  -0.195035 -0.532844 -0.195035
+84  -0.195035 -0.532844 0.195035
+85  0.195035 -0.532844 0.195035
+86  -0.195035 0.532844 0.195035
+87  -0.195035 -0.195035 -0.532844
+88  -0.195035 0.195035 -0.532844
+89  0.195035 0.195035 -0.532844
+90  -0.195035 0.195035 0.532844
+91  -0.399633 -0.146276 -0.146276
+92  0.212132 0.00000 -0.212132
+93  0.399633 -0.146276 -0.146276
+94  0.212132 -0.212132 0.00000
+95  0.00000 -0.212132 -0.212132
+96  0.146276 -0.146276 -0.399633
+97  0.146276 -0.399633 -0.146276
+98  -0.399633 0.146276 -0.146276
+99  -0.212132 0.212132 0.00000
+100  -0.146276 0.399633 -0.146276
+101  0.146276 0.399633 -0.146276
+102  -0.212132 0.00000 0.212132
+103  -0.146276 -0.146276 0.399633
+104  -0.399633 -0.146276 0.146276
+105  0.146276 -0.146276 0.399633
+106  0.146276 0.399633 0.146276
+107  0.00000 0.212132 0.212132
+108  0.146276 0.146276 0.399633
+109  -0.399633 0.146276 0.146276
+110  0.399633 0.146276 -0.146276
+111  0.212132 0.00000 0.212132
+112  0.212132 0.212132 0.00000
+113  0.399633 0.146276 0.146276
+114  0.399633 -0.146276 0.146276
+115  -0.212132 -0.212132 0.00000
+116  0.00000 -0.212132 0.212132
+117  -0.146276 -0.399633 0.146276
+118  0.146276 -0.399633 0.146276
+119  -0.146276 -0.399633 -0.146276
+120  -0.146276 0.399633 0.146276
+121  -0.146276 -0.146276 -0.399633
+122  -0.212132 0.00000 -0.212132
+123  -0.146276 0.146276 -0.399633
+124  0.00000 0.212132 -0.212132
+125  0.146276 0.146276 -0.399633
+126  -0.146276 0.146276 0.399633
+127  0.424264 0.00000 -0.424264
+128  0.424264 -0.424264 0.00000
+129  0.00000 -0.424264 -0.424264
+130  -0.424264 0.424264 0.00000
+131  -0.424264 0.00000 0.424264
+132  0.00000 0.424264 0.424264
+133  0.424264 0.00000 0.424264
+134  0.424264 0.424264 0.00000
+135  -0.424264 -0.424264 0.00000
+136  0.00000 -0.424264 0.424264
+137  -0.424264 0.00000 -0.424264
+138  0.00000 0.424264 -0.424264
+139  -0.318198 -0.318198 0.00000
+140  -0.318198 0.00000 0.318198
+141  0.00000 -0.318198 0.318198
+142  0.318198 -0.318198 0.00000
+143  0.318198 0.00000 0.318198
+144  0.00000 0.318198 0.318198
+145  0.318198 0.318198 0.00000
+146  0.318198 0.00000 -0.318198
+147  0.00000 0.318198 -0.318198
+148  -0.318198 0.318198 0.00000
+149  -0.318198 0.00000 -0.318198
+150  0.00000 -0.318198 -0.318198
+$ENDNOD
+$ELM
+96
+1 5 0 0 8 11 56 117 58 55 115 139 119 
+2 5 0 0 8 56 5 42 117 115 40 104 139 
+3 5 0 0 8 55 115 139 119 1 29 91 30 
+4 5 0 0 8 115 40 104 139 29 9 50 91 
+5 5 0 0 8 58 117 84 25 119 139 135 83 
+6 5 0 0 8 117 42 19 84 139 104 74 135 
+7 5 0 0 8 119 139 135 83 30 91 67 15 
+8 5 0 0 8 139 104 74 135 91 50 23 67 
+9 5 0 0 8 5 41 103 42 40 102 140 104 
+10 5 0 0 8 41 14 66 103 102 65 126 140 
+11 5 0 0 8 40 102 140 104 9 49 109 50 
+12 5 0 0 8 102 65 126 140 49 7 45 109 
+13 5 0 0 8 42 103 75 19 104 140 131 74 
+14 5 0 0 8 103 66 28 75 140 126 90 131 
+15 5 0 0 8 104 140 131 74 50 109 79 23 
+16 5 0 0 8 140 126 90 131 109 45 21 79 
+17 5 0 0 8 11 57 118 58 56 116 141 117 
+18 5 0 0 8 57 6 44 118 116 43 105 141 
+19 5 0 0 8 56 116 141 117 5 41 103 42 
+20 5 0 0 8 116 43 105 141 41 14 66 103 
+21 5 0 0 8 58 118 85 25 117 141 136 84 
+22 5 0 0 8 118 44 20 85 141 105 76 136 
+23 5 0 0 8 117 141 136 84 42 103 75 19 
+24 5 0 0 8 141 105 76 136 103 66 28 75 
+25 5 0 0 8 2 31 93 34 32 94 142 97 
+26 5 0 0 8 31 10 54 93 94 52 114 142 
+27 5 0 0 8 32 94 142 97 11 57 118 58 
+28 5 0 0 8 94 52 114 142 57 6 44 118 
+29 5 0 0 8 34 93 68 16 97 142 128 69 
+30 5 0 0 8 93 54 24 68 142 114 81 128 
+31 5 0 0 8 97 142 128 69 58 118 85 25 
+32 5 0 0 8 142 114 81 128 118 44 20 85 
+33 5 0 0 8 10 53 113 54 52 111 143 114 
+34 5 0 0 8 53 8 48 113 111 47 108 143 
+35 5 0 0 8 52 111 143 114 6 43 105 44 
+36 5 0 0 8 111 47 108 143 43 14 66 105 
+37 5 0 0 8 54 113 82 24 114 143 133 81 
+38 5 0 0 8 113 48 22 82 143 108 78 133 
+39 5 0 0 8 114 143 133 81 44 105 76 20 
+40 5 0 0 8 143 108 78 133 105 66 28 76 
+41 5 0 0 8 8 46 106 48 47 107 144 108 
+42 5 0 0 8 46 12 60 106 107 59 120 144 
+43 5 0 0 8 47 107 144 108 14 65 126 66 
+44 5 0 0 8 107 59 120 144 65 7 45 126 
+45 5 0 0 8 48 106 77 22 108 144 132 78 
+46 5 0 0 8 106 60 26 77 144 120 86 132 
+47 5 0 0 8 108 144 132 78 66 126 90 28 
+48 5 0 0 8 144 120 86 132 126 45 21 90 
+49 5 0 0 8 10 51 110 54 53 112 145 113 
+50 5 0 0 8 51 4 39 110 112 38 101 145 
+51 5 0 0 8 53 112 145 113 8 46 106 48 
+52 5 0 0 8 112 38 101 145 46 12 60 106 
+53 5 0 0 8 54 110 80 24 113 145 134 82 
+54 5 0 0 8 110 39 18 80 145 101 73 134 
+55 5 0 0 8 113 145 134 82 48 106 77 22 
+56 5 0 0 8 145 101 73 134 106 60 26 77 
+57 5 0 0 8 2 33 96 34 31 92 146 93 
+58 5 0 0 8 33 13 64 96 92 63 125 146 
+59 5 0 0 8 31 92 146 93 10 51 110 54 
+60 5 0 0 8 92 63 125 146 51 4 39 110 
+61 5 0 0 8 34 96 70 16 93 146 127 68 
+62 5 0 0 8 96 64 27 70 146 125 89 127 
+63 5 0 0 8 93 146 127 68 54 110 80 24 
+64 5 0 0 8 146 125 89 127 110 39 18 80 
+65 5 0 0 8 13 62 123 64 63 124 147 125 
+66 5 0 0 8 62 3 37 123 124 36 100 147 
+67 5 0 0 8 63 124 147 125 4 38 101 39 
+68 5 0 0 8 124 36 100 147 38 12 60 101 
+69 5 0 0 8 64 123 88 27 125 147 138 89 
+70 5 0 0 8 123 37 17 88 147 100 72 138 
+71 5 0 0 8 125 147 138 89 39 101 73 18 
+72 5 0 0 8 147 100 72 138 101 60 26 73 
+73 5 0 0 8 3 35 98 37 36 99 148 100 
+74 5 0 0 8 35 9 50 98 99 49 109 148 
+75 5 0 0 8 36 99 148 100 12 59 120 60 
+76 5 0 0 8 99 49 109 148 59 7 45 120 
+77 5 0 0 8 37 98 71 17 100 148 130 72 
+78 5 0 0 8 98 50 23 71 148 109 79 130 
+79 5 0 0 8 100 148 130 72 60 120 86 26 
+80 5 0 0 8 148 109 79 130 120 45 21 86 
+81 5 0 0 8 13 61 121 64 62 122 149 123 
+82 5 0 0 8 61 1 30 121 122 29 91 149 
+83 5 0 0 8 62 122 149 123 3 35 98 37 
+84 5 0 0 8 122 29 91 149 35 9 50 98 
+85 5 0 0 8 64 121 87 27 123 149 137 88 
+86 5 0 0 8 121 30 15 87 149 91 67 137 
+87 5 0 0 8 123 149 137 88 37 98 71 17 
+88 5 0 0 8 149 91 67 137 98 50 23 71 
+89 5 0 0 8 2 32 97 34 33 95 150 96 
+90 5 0 0 8 32 11 58 97 95 55 119 150 
+91 5 0 0 8 33 95 150 96 13 61 121 64 
+92 5 0 0 8 95 55 119 150 61 1 30 121 
+93 5 0 0 8 34 97 69 16 96 150 129 70 
+94 5 0 0 8 97 58 25 69 150 119 83 129 
+95 5 0 0 8 96 150 129 70 64 121 87 27 
+96 5 0 0 8 150 119 83 129 121 30 15 87 
+$ENDELM
diff --git a/tests/manifold/polar_manifold_02.cc b/tests/manifold/polar_manifold_02.cc
new file mode 100644 (file)
index 0000000..0f022b1
--- /dev/null
@@ -0,0 +1,72 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2016 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.
+//
+// ---------------------------------------------------------------------
+
+
+// Test that the flat manifold does what it should on a sphere.
+
+#include "../tests.h"
+
+#include <fstream>
+#include <deal.II/base/logstream.h>
+
+
+// all include files you need here
+#include <deal.II/grid/tria.h>
+#include <deal.II/grid/tria_accessor.h>
+#include <deal.II/grid/tria_iterator.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/tria_boundary_lib.h>
+#include <deal.II/grid/manifold_lib.h>
+#include <deal.II/grid/grid_out.h>
+
+// Helper function
+template <int dim, int spacedim>
+void test(unsigned int ref=1)
+{
+  PolarManifold<dim,spacedim> manifold;
+
+  Triangulation<dim,spacedim> tria;
+  GridGenerator::hyper_ball (tria);
+
+  typename Triangulation<dim,spacedim>::active_cell_iterator cell;
+
+  for (cell = tria.begin_active(); cell != tria.end(); ++cell)
+    cell->set_all_manifold_ids(1);
+
+  for (cell = tria.begin_active(); cell != tria.end(); ++cell)
+    {
+      if (cell->center().distance(Point<spacedim>()) < 1e-10)
+        cell->set_all_manifold_ids(0);
+    }
+
+  tria.set_manifold(1, manifold);
+  tria.refine_global(2);
+
+  GridOut gridout;
+  gridout.write_msh(tria, deallog.get_file_stream());
+}
+
+int main ()
+{
+  std::ofstream logfile("output");
+  deallog.attach(logfile);
+  deallog.threshold_double(1.e-10);
+
+  test<2,2>();
+  test<3,3>();
+
+  return 0;
+}
+
diff --git a/tests/manifold/polar_manifold_02.output b/tests/manifold/polar_manifold_02.output
new file mode 100644 (file)
index 0000000..d2b749e
--- /dev/null
@@ -0,0 +1,1147 @@
+
+$NOD
+89
+1  -0.707107 -0.707107 0
+2  0.707107 -0.707107 0
+3  -0.292893 -0.292893 0
+4  0.292893 -0.292893 0
+5  -0.292893 0.292893 0
+6  0.292893 0.292893 0
+7  -0.707107 0.707107 0
+8  0.707107 0.707107 0
+9  -1.83697e-16 -1.00000 0
+10  -0.500000 -0.500000 0
+11  -1.00000 1.22465e-16 0
+12  0.500000 -0.500000 0
+13  1.00000 0.00000 0
+14  0.00000 -0.292893 0
+15  -0.292893 0.00000 0
+16  0.292893 0.00000 0
+17  0.00000 0.292893 0
+18  -0.500000 0.500000 0
+19  6.12323e-17 1.00000 0
+20  0.500000 0.500000 0
+21  -1.18750e-16 -0.646447 0
+22  -0.646447 7.91669e-17 0
+23  0.00000 0.00000 0
+24  0.646447 0.00000 0
+25  3.95834e-17 0.646447 0
+26  -0.382683 -0.923880 0
+27  0.382683 -0.923880 0
+28  -0.603553 -0.603553 0
+29  -0.396447 -0.396447 0
+30  -0.923880 -0.382683 0
+31  -0.923880 0.382683 0
+32  0.603553 -0.603553 0
+33  0.396447 -0.396447 0
+34  0.923880 -0.382683 0
+35  0.923880 0.382683 0
+36  -0.146447 -0.292893 0
+37  0.146447 -0.292893 0
+38  -0.292893 -0.146447 0
+39  -0.292893 0.146447 0
+40  0.292893 -0.146447 0
+41  0.292893 0.146447 0
+42  -0.146447 0.292893 0
+43  0.146447 0.292893 0
+44  -0.603553 0.603553 0
+45  -0.396447 0.396447 0
+46  -0.382683 0.923880 0
+47  0.382683 0.923880 0
+48  0.603553 0.603553 0
+49  0.396447 0.396447 0
+50  -1.51224e-16 -0.823223 0
+51  -8.62770e-17 -0.469670 0
+52  -0.258991 -0.625260 0
+53  0.258991 -0.625260 0
+54  -0.625260 -0.258991 0
+55  -0.625260 0.258991 0
+56  -0.823223 1.00816e-16 0
+57  -0.469670 5.75180e-17 0
+58  0.00000 -0.146447 0
+59  0.00000 0.146447 0
+60  -0.146447 0.00000 0
+61  0.146447 0.00000 0
+62  0.823223 0.00000 0
+63  0.469670 0.00000 0
+64  0.625260 -0.258991 0
+65  0.625260 0.258991 0
+66  -0.258991 0.625260 0
+67  0.258991 0.625260 0
+68  5.04079e-17 0.823223 0
+69  2.87590e-17 0.469670 0
+70  -0.320837 -0.774570 0
+71  0.320837 -0.774570 0
+72  -0.200084 -0.471182 0
+73  0.200084 -0.471182 0
+74  -0.774570 -0.320837 0
+75  -0.471182 -0.200084 0
+76  -0.774570 0.320837 0
+77  -0.471182 0.200084 0
+78  -0.146447 -0.146447 0
+79  0.146447 -0.146447 0
+80  -0.146447 0.146447 0
+81  0.146447 0.146447 0
+82  0.774570 -0.320837 0
+83  0.774570 0.320837 0
+84  0.471182 -0.200084 0
+85  0.471182 0.200084 0
+86  -0.320837 0.774570 0
+87  -0.200084 0.471182 0
+88  0.320837 0.774570 0
+89  0.200084 0.471182 0
+$ENDNOD
+$ELM
+80
+1 3 0 0 4 1 26 70 28 
+2 3 0 0 4 26 9 50 70 
+3 3 0 0 4 28 70 52 10 
+4 3 0 0 4 70 50 21 52 
+5 3 0 0 4 9 27 71 50 
+6 3 0 0 4 27 2 32 71 
+7 3 0 0 4 50 71 53 21 
+8 3 0 0 4 71 32 12 53 
+9 3 0 0 4 10 52 72 29 
+10 3 0 0 4 52 21 51 72 
+11 3 0 0 4 29 72 36 3 
+12 3 0 0 4 72 51 14 36 
+13 3 0 0 4 21 53 73 51 
+14 3 0 0 4 53 12 33 73 
+15 3 0 0 4 51 73 37 14 
+16 3 0 0 4 73 33 4 37 
+17 3 0 0 4 1 28 74 30 
+18 3 0 0 4 28 10 54 74 
+19 3 0 0 4 30 74 56 11 
+20 3 0 0 4 74 54 22 56 
+21 3 0 0 4 10 29 75 54 
+22 3 0 0 4 29 3 38 75 
+23 3 0 0 4 54 75 57 22 
+24 3 0 0 4 75 38 15 57 
+25 3 0 0 4 11 56 76 31 
+26 3 0 0 4 56 22 55 76 
+27 3 0 0 4 31 76 44 7 
+28 3 0 0 4 76 55 18 44 
+29 3 0 0 4 22 57 77 55 
+30 3 0 0 4 57 15 39 77 
+31 3 0 0 4 55 77 45 18 
+32 3 0 0 4 77 39 5 45 
+33 3 0 0 4 3 36 78 38 
+34 3 0 0 4 36 14 58 78 
+35 3 0 0 4 38 78 60 15 
+36 3 0 0 4 78 58 23 60 
+37 3 0 0 4 14 37 79 58 
+38 3 0 0 4 37 4 40 79 
+39 3 0 0 4 58 79 61 23 
+40 3 0 0 4 79 40 16 61 
+41 3 0 0 4 15 60 80 39 
+42 3 0 0 4 60 23 59 80 
+43 3 0 0 4 39 80 42 5 
+44 3 0 0 4 80 59 17 42 
+45 3 0 0 4 23 61 81 59 
+46 3 0 0 4 61 16 41 81 
+47 3 0 0 4 59 81 43 17 
+48 3 0 0 4 81 41 6 43 
+49 3 0 0 4 2 34 82 32 
+50 3 0 0 4 34 13 62 82 
+51 3 0 0 4 32 82 64 12 
+52 3 0 0 4 82 62 24 64 
+53 3 0 0 4 13 35 83 62 
+54 3 0 0 4 35 8 48 83 
+55 3 0 0 4 62 83 65 24 
+56 3 0 0 4 83 48 20 65 
+57 3 0 0 4 12 64 84 33 
+58 3 0 0 4 64 24 63 84 
+59 3 0 0 4 33 84 40 4 
+60 3 0 0 4 84 63 16 40 
+61 3 0 0 4 24 65 85 63 
+62 3 0 0 4 65 20 49 85 
+63 3 0 0 4 63 85 41 16 
+64 3 0 0 4 85 49 6 41 
+65 3 0 0 4 7 44 86 46 
+66 3 0 0 4 44 18 66 86 
+67 3 0 0 4 46 86 68 19 
+68 3 0 0 4 86 66 25 68 
+69 3 0 0 4 18 45 87 66 
+70 3 0 0 4 45 5 42 87 
+71 3 0 0 4 66 87 69 25 
+72 3 0 0 4 87 42 17 69 
+73 3 0 0 4 19 68 88 47 
+74 3 0 0 4 68 25 67 88 
+75 3 0 0 4 47 88 48 8 
+76 3 0 0 4 88 67 20 48 
+77 3 0 0 4 25 69 89 67 
+78 3 0 0 4 69 17 43 89 
+79 3 0 0 4 67 89 49 20 
+80 3 0 0 4 89 43 6 49 
+$ENDELM
+$NOD
+517
+1  -0.211325 -0.211325 -0.211325
+2  0.211325 -0.211325 -0.211325
+3  0.211325 -0.211325 0.211325
+4  -0.211325 -0.211325 0.211325
+5  -0.211325 0.211325 -0.211325
+6  0.211325 0.211325 -0.211325
+7  0.211325 0.211325 0.211325
+8  -0.211325 0.211325 0.211325
+9  -0.577350 -0.577350 -0.577350
+10  0.577350 -0.577350 -0.577350
+11  0.577350 -0.577350 0.577350
+12  -0.577350 -0.577350 0.577350
+13  -0.577350 0.577350 -0.577350
+14  0.577350 0.577350 -0.577350
+15  0.577350 0.577350 0.577350
+16  -0.577350 0.577350 0.577350
+17  0.00000 -0.211325 -0.211325
+18  -0.211325 -0.211325 0.00000
+19  -0.211325 0.00000 -0.211325
+20  0.211325 -0.211325 0.00000
+21  0.211325 0.00000 -0.211325
+22  0.211325 0.00000 0.211325
+23  0.00000 -0.211325 0.211325
+24  -0.211325 0.00000 0.211325
+25  0.00000 0.211325 -0.211325
+26  -0.211325 0.211325 0.00000
+27  0.211325 0.211325 0.00000
+28  0.00000 0.211325 0.211325
+29  -0.394338 -0.394338 -0.394338
+30  0.00000 -0.707107 -0.707107
+31  -0.707107 -0.707107 0.00000
+32  -0.707107 0.00000 -0.707107
+33  0.394338 -0.394338 -0.394338
+34  0.707107 -0.707107 0.00000
+35  0.707107 0.00000 -0.707107
+36  0.394338 -0.394338 0.394338
+37  0.707107 0.00000 0.707107
+38  -0.394338 -0.394338 0.394338
+39  0.00000 -0.707107 0.707107
+40  -0.707107 0.00000 0.707107
+41  -0.394338 0.394338 -0.394338
+42  0.00000 0.707107 -0.707107
+43  -0.707107 0.707107 0.00000
+44  0.394338 0.394338 -0.394338
+45  0.707107 0.707107 0.00000
+46  0.394338 0.394338 0.394338
+47  -0.394338 0.394338 0.394338
+48  0.00000 0.707107 0.707107
+49  0.00000 -0.211325 0.00000
+50  -0.211325 0.00000 0.00000
+51  0.00000 0.00000 -0.211325
+52  0.211325 0.00000 0.00000
+53  0.00000 0.00000 0.211325
+54  0.00000 0.211325 0.00000
+55  -0.477026 -0.477026 0.00000
+56  -0.477026 0.00000 -0.477026
+57  8.06230e-18 -0.477026 -0.477026
+58  0.00000 -1.00000 0.00000
+59  -1.00000 0.00000 0.00000
+60  0.00000 0.00000 -1.00000
+61  0.477026 0.00000 -0.477026
+62  0.477026 -0.477026 8.06230e-18
+63  1.00000 0.00000 0.00000
+64  0.477026 0.00000 0.477026
+65  0.00000 -0.477026 0.477026
+66  0.00000 0.00000 1.00000
+67  -0.477026 8.06230e-18 0.477026
+68  -0.477026 0.477026 0.00000
+69  8.06230e-18 0.477026 -0.477026
+70  0.00000 1.00000 0.00000
+71  0.477026 0.477026 8.06230e-18
+72  0.00000 0.477026 0.477026
+73  0.00000 0.00000 0.00000
+74  1.85598e-18 0.00000 -0.657527
+75  0.657527 0.00000 9.58422e-18
+76  0.00000 0.00000 0.657527
+77  -0.657527 9.27992e-19 9.58422e-18
+78  9.27992e-19 -0.657527 0.00000
+79  9.27992e-19 0.657527 9.58422e-18
+80  -0.105662 -0.211325 -0.211325
+81  0.105662 -0.211325 -0.211325
+82  -0.211325 -0.211325 -0.105662
+83  -0.211325 -0.211325 0.105662
+84  -0.211325 -0.105662 -0.211325
+85  -0.211325 0.105662 -0.211325
+86  0.211325 -0.211325 -0.105662
+87  0.211325 -0.211325 0.105662
+88  0.211325 -0.105662 -0.211325
+89  0.211325 0.105662 -0.211325
+90  0.211325 -0.105662 0.211325
+91  0.211325 0.105662 0.211325
+92  -0.105662 -0.211325 0.211325
+93  0.105662 -0.211325 0.211325
+94  -0.211325 -0.105662 0.211325
+95  -0.211325 0.105662 0.211325
+96  -0.105662 0.211325 -0.211325
+97  0.105662 0.211325 -0.211325
+98  -0.211325 0.211325 -0.105662
+99  -0.211325 0.211325 0.105662
+100  0.211325 0.211325 -0.105662
+101  0.211325 0.211325 0.105662
+102  -0.105662 0.211325 0.211325
+103  0.105662 0.211325 0.211325
+104  -0.485844 -0.485844 -0.485844
+105  -0.302831 -0.302831 -0.302831
+106  -0.302905 -0.673887 -0.673887
+107  0.302905 -0.673887 -0.673887
+108  -0.673887 -0.673887 -0.302905
+109  -0.673887 -0.673887 0.302905
+110  -0.673887 -0.302905 -0.673887
+111  -0.673887 0.302905 -0.673887
+112  0.485844 -0.485844 -0.485844
+113  0.302831 -0.302831 -0.302831
+114  0.673887 -0.673887 -0.302905
+115  0.673887 -0.673887 0.302905
+116  0.673887 -0.302905 -0.673887
+117  0.673887 0.302905 -0.673887
+118  0.485844 -0.485844 0.485844
+119  0.302831 -0.302831 0.302831
+120  0.673887 -0.302905 0.673887
+121  0.673887 0.302905 0.673887
+122  -0.485844 -0.485844 0.485844
+123  -0.302831 -0.302831 0.302831
+124  -0.302905 -0.673887 0.673887
+125  0.302905 -0.673887 0.673887
+126  -0.673887 -0.302905 0.673887
+127  -0.673887 0.302905 0.673887
+128  -0.485844 0.485844 -0.485844
+129  -0.302831 0.302831 -0.302831
+130  -0.302905 0.673887 -0.673887
+131  0.302905 0.673887 -0.673887
+132  -0.673887 0.673887 -0.302905
+133  -0.673887 0.673887 0.302905
+134  0.485844 0.485844 -0.485844
+135  0.302831 0.302831 -0.302831
+136  0.673887 0.673887 -0.302905
+137  0.673887 0.673887 0.302905
+138  0.485844 0.485844 0.485844
+139  0.302831 0.302831 0.302831
+140  -0.485844 0.485844 0.485844
+141  -0.302831 0.302831 0.302831
+142  -0.302905 0.673887 0.673887
+143  0.302905 0.673887 0.673887
+144  -0.105662 -0.211325 0.00000
+145  0.105662 -0.211325 0.00000
+146  0.00000 -0.211325 -0.105662
+147  0.00000 -0.211325 0.105662
+148  -0.211325 0.00000 -0.105662
+149  -0.211325 0.00000 0.105662
+150  -0.211325 -0.105662 0.00000
+151  -0.211325 0.105662 0.00000
+152  0.00000 -0.105662 -0.211325
+153  0.00000 0.105662 -0.211325
+154  -0.105662 0.00000 -0.211325
+155  0.105662 0.00000 -0.211325
+156  0.211325 0.00000 -0.105662
+157  0.211325 0.00000 0.105662
+158  0.211325 -0.105662 0.00000
+159  0.211325 0.105662 0.00000
+160  0.00000 -0.105662 0.211325
+161  0.00000 0.105662 0.211325
+162  -0.105662 0.00000 0.211325
+163  0.105662 0.00000 0.211325
+164  -0.105662 0.211325 0.00000
+165  0.105662 0.211325 0.00000
+166  0.00000 0.211325 -0.105662
+167  0.00000 0.211325 0.105662
+168  -0.592066 -0.592066 0.00000
+169  -0.344176 -0.344176 0.00000
+170  -0.457158 -0.457158 -0.206888
+171  -0.457158 -0.457158 0.206888
+172  -0.592066 0.00000 -0.592066
+173  -0.344176 0.00000 -0.344176
+174  -0.457158 -0.206888 -0.457158
+175  -0.457158 0.206888 -0.457158
+176  -0.206888 -0.457158 -0.457158
+177  0.206888 -0.457158 -0.457158
+178  4.03115e-18 -0.592066 -0.592066
+179  4.03115e-18 -0.344176 -0.344176
+180  -0.382683 -0.923880 0.00000
+181  0.382683 -0.923880 0.00000
+182  0.00000 -0.923880 -0.382683
+183  0.00000 -0.923880 0.382683
+184  -0.923880 0.00000 -0.382683
+185  -0.923880 0.00000 0.382683
+186  -0.923880 -0.382683 0.00000
+187  -0.923880 0.382683 0.00000
+188  0.00000 -0.382683 -0.923880
+189  0.00000 0.382683 -0.923880
+190  -0.382683 0.00000 -0.923880
+191  0.382683 0.00000 -0.923880
+192  0.592066 0.00000 -0.592066
+193  0.344176 0.00000 -0.344176
+194  0.457158 -0.206888 -0.457158
+195  0.457158 0.206888 -0.457158
+196  0.457158 -0.457158 -0.206888
+197  0.457158 -0.457158 0.206888
+198  0.592066 -0.592066 4.03115e-18
+199  0.344176 -0.344176 4.03115e-18
+200  0.923880 -0.382683 0.00000
+201  0.923880 0.382683 0.00000
+202  0.923880 0.00000 -0.382683
+203  0.923880 0.00000 0.382683
+204  0.592066 0.00000 0.592066
+205  0.344176 0.00000 0.344176
+206  0.457158 -0.206888 0.457158
+207  0.457158 0.206888 0.457158
+208  0.00000 -0.592066 0.592066
+209  0.00000 -0.344176 0.344176
+210  -0.206888 -0.457158 0.457158
+211  0.206888 -0.457158 0.457158
+212  -0.382683 0.00000 0.923880
+213  0.382683 0.00000 0.923880
+214  0.00000 -0.382683 0.923880
+215  0.00000 0.382683 0.923880
+216  -0.457158 -0.206888 0.457158
+217  -0.457158 0.206888 0.457158
+218  -0.592066 4.03115e-18 0.592066
+219  -0.344176 4.03115e-18 0.344176
+220  -0.592066 0.592066 0.00000
+221  -0.344176 0.344176 0.00000
+222  -0.457158 0.457158 -0.206888
+223  -0.457158 0.457158 0.206888
+224  -0.206888 0.457158 -0.457158
+225  0.206888 0.457158 -0.457158
+226  4.03115e-18 0.592066 -0.592066
+227  4.03115e-18 0.344176 -0.344176
+228  0.00000 0.923880 -0.382683
+229  0.00000 0.923880 0.382683
+230  -0.382683 0.923880 0.00000
+231  0.382683 0.923880 0.00000
+232  0.457158 0.457158 -0.206888
+233  0.457158 0.457158 0.206888
+234  0.592066 0.592066 4.03115e-18
+235  0.344176 0.344176 4.03115e-18
+236  0.00000 0.592066 0.592066
+237  0.00000 0.344176 0.344176
+238  -0.206888 0.457158 0.457158
+239  0.206888 0.457158 0.457158
+240  5.02218e-19 0.614007 0.258161
+241  4.86544e-18 0.614007 -0.258161
+242  4.63996e-19 0.434426 4.79211e-18
+243  4.63996e-19 0.828764 4.79211e-18
+244  0.258161 0.614007 9.55009e-18
+245  -0.258161 0.614007 5.18687e-18
+246  5.02218e-19 -0.614007 0.258161
+247  4.86544e-18 -0.614007 -0.258161
+248  0.258161 -0.614007 4.36322e-18
+249  -0.258161 -0.614007 0.00000
+250  4.63996e-19 -0.434426 0.00000
+251  4.63996e-19 -0.828764 0.00000
+252  -0.614007 4.86544e-18 0.258161
+253  -0.614007 5.02218e-19 -0.258161
+254  -0.434426 4.63996e-19 4.79211e-18
+255  -0.828764 4.63996e-19 4.79211e-18
+256  -0.614007 0.258161 5.18687e-18
+257  -0.614007 -0.258161 5.18687e-18
+258  0.00000 0.258161 0.614007
+259  0.00000 -0.258161 0.614007
+260  0.258161 0.00000 0.614007
+261  -0.258161 4.36322e-18 0.614007
+262  0.00000 0.00000 0.434426
+263  0.00000 0.00000 0.828764
+264  0.614007 0.00000 0.258161
+265  0.614007 0.00000 -0.258161
+266  0.614007 0.258161 9.55009e-18
+267  0.614007 -0.258161 9.55009e-18
+268  0.434426 0.00000 4.79211e-18
+269  0.828764 0.00000 4.79211e-18
+270  9.27992e-19 0.00000 -0.434426
+271  9.27992e-19 0.00000 -0.828764
+272  0.258161 0.00000 -0.614007
+273  -0.258161 0.00000 -0.614007
+274  5.36766e-18 0.258161 -0.614007
+275  5.36766e-18 -0.258161 -0.614007
+276  0.00000 0.00000 0.105662
+277  0.00000 0.00000 -0.105662
+278  0.105662 0.00000 0.00000
+279  -0.105662 0.00000 0.00000
+280  0.00000 0.105662 0.00000
+281  0.00000 -0.105662 0.00000
+282  -0.105662 -0.211325 -0.105662
+283  -0.105662 -0.211325 0.105662
+284  0.105662 -0.211325 -0.105662
+285  0.105662 -0.211325 0.105662
+286  -0.211325 -0.105662 -0.105662
+287  -0.211325 0.105662 -0.105662
+288  -0.211325 -0.105662 0.105662
+289  -0.211325 0.105662 0.105662
+290  -0.105662 -0.105662 -0.211325
+291  0.105662 -0.105662 -0.211325
+292  -0.105662 0.105662 -0.211325
+293  0.105662 0.105662 -0.211325
+294  0.211325 -0.105662 -0.105662
+295  0.211325 0.105662 -0.105662
+296  0.211325 -0.105662 0.105662
+297  0.211325 0.105662 0.105662
+298  -0.105662 -0.105662 0.211325
+299  0.105662 -0.105662 0.211325
+300  -0.105662 0.105662 0.211325
+301  0.105662 0.105662 0.211325
+302  -0.105662 0.211325 -0.105662
+303  -0.105662 0.211325 0.105662
+304  0.105662 0.211325 -0.105662
+305  0.105662 0.211325 0.105662
+306  -0.565523 -0.565523 -0.254897
+307  -0.565523 -0.565523 0.254897
+308  -0.338139 -0.338139 -0.158223
+309  -0.338139 -0.338139 0.158223
+310  -0.565523 -0.254897 -0.565523
+311  -0.565523 0.254897 -0.565523
+312  -0.338139 -0.158223 -0.338139
+313  -0.338139 0.158223 -0.338139
+314  -0.254897 -0.565523 -0.565523
+315  -0.158223 -0.338139 -0.338139
+316  0.254897 -0.565523 -0.565523
+317  0.158223 -0.338139 -0.338139
+318  -0.365731 -0.855851 -0.365731
+319  -0.365731 -0.855851 0.365731
+320  0.365731 -0.855851 -0.365731
+321  0.365731 -0.855851 0.365731
+322  -0.855851 -0.365731 -0.365731
+323  -0.855851 0.365731 -0.365731
+324  -0.855851 -0.365731 0.365731
+325  -0.855851 0.365731 0.365731
+326  -0.365731 -0.365731 -0.855851
+327  0.365731 -0.365731 -0.855851
+328  -0.365731 0.365731 -0.855851
+329  0.365731 0.365731 -0.855851
+330  0.565523 -0.254897 -0.565523
+331  0.565523 0.254897 -0.565523
+332  0.338139 -0.158223 -0.338139
+333  0.338139 0.158223 -0.338139
+334  0.565523 -0.565523 -0.254897
+335  0.338139 -0.338139 -0.158223
+336  0.565523 -0.565523 0.254897
+337  0.338139 -0.338139 0.158223
+338  0.855851 -0.365731 -0.365731
+339  0.855851 -0.365731 0.365731
+340  0.855851 0.365731 -0.365731
+341  0.855851 0.365731 0.365731
+342  0.565523 -0.254897 0.565523
+343  0.565523 0.254897 0.565523
+344  0.338139 -0.158223 0.338139
+345  0.338139 0.158223 0.338139
+346  -0.254897 -0.565523 0.565523
+347  0.254897 -0.565523 0.565523
+348  -0.158223 -0.338139 0.338139
+349  0.158223 -0.338139 0.338139
+350  -0.365731 -0.365731 0.855851
+351  -0.365731 0.365731 0.855851
+352  0.365731 -0.365731 0.855851
+353  0.365731 0.365731 0.855851
+354  -0.565523 -0.254897 0.565523
+355  -0.338139 -0.158223 0.338139
+356  -0.565523 0.254897 0.565523
+357  -0.338139 0.158223 0.338139
+358  -0.565523 0.565523 -0.254897
+359  -0.565523 0.565523 0.254897
+360  -0.338139 0.338139 -0.158223
+361  -0.338139 0.338139 0.158223
+362  -0.254897 0.565523 -0.565523
+363  -0.158223 0.338139 -0.338139
+364  0.254897 0.565523 -0.565523
+365  0.158223 0.338139 -0.338139
+366  -0.365731 0.855851 -0.365731
+367  0.365731 0.855851 -0.365731
+368  -0.365731 0.855851 0.365731
+369  0.365731 0.855851 0.365731
+370  0.565523 0.565523 -0.254897
+371  0.338139 0.338139 -0.158223
+372  0.565523 0.565523 0.254897
+373  0.338139 0.338139 0.158223
+374  -0.254897 0.565523 0.565523
+375  0.254897 0.565523 0.565523
+376  -0.158223 0.338139 0.338139
+377  0.158223 0.338139 0.338139
+378  0.185152 0.419157 4.77612e-18
+379  0.320423 0.768946 4.77509e-18
+380  -0.185152 0.419157 2.59402e-18
+381  -0.320423 0.768946 2.59346e-18
+382  2.51166e-19 0.419157 0.185152
+383  2.43327e-18 0.419157 -0.185152
+384  2.51112e-19 0.768946 0.320423
+385  2.43274e-18 0.768946 -0.320423
+386  0.248047 0.573694 0.248047
+387  -0.248047 0.573694 0.248047
+388  0.248047 0.573694 -0.248047
+389  -0.248047 0.573694 -0.248047
+390  0.185152 -0.419157 2.18210e-18
+391  -0.185152 -0.419157 0.00000
+392  0.320423 -0.768946 2.18163e-18
+393  -0.320423 -0.768946 0.00000
+394  0.248047 -0.573694 0.248047
+395  0.248047 -0.573694 -0.248047
+396  -0.248047 -0.573694 0.248047
+397  -0.248047 -0.573694 -0.248047
+398  2.51166e-19 -0.419157 0.185152
+399  2.51112e-19 -0.768946 0.320423
+400  2.43327e-18 -0.419157 -0.185152
+401  2.43274e-18 -0.768946 -0.320423
+402  -0.419157 0.185152 2.59402e-18
+403  -0.768946 0.320423 2.59346e-18
+404  -0.419157 -0.185152 2.59402e-18
+405  -0.768946 -0.320423 2.59346e-18
+406  -0.419157 2.43327e-18 0.185152
+407  -0.419157 2.51166e-19 -0.185152
+408  -0.768946 2.43274e-18 0.320423
+409  -0.768946 2.51112e-19 -0.320423
+410  -0.573694 0.248047 0.248047
+411  -0.573694 -0.248047 0.248047
+412  -0.573694 0.248047 -0.248047
+413  -0.573694 -0.248047 -0.248047
+414  0.185152 0.00000 0.419157
+415  -0.185152 2.18210e-18 0.419157
+416  0.320423 0.00000 0.768946
+417  -0.320423 2.18163e-18 0.768946
+418  0.248047 0.248047 0.573694
+419  0.248047 -0.248047 0.573694
+420  -0.248047 0.248047 0.573694
+421  -0.248047 -0.248047 0.573694
+422  0.00000 0.185152 0.419157
+423  0.00000 0.320423 0.768946
+424  0.00000 -0.185152 0.419157
+425  0.00000 -0.320423 0.768946
+426  0.419157 0.185152 4.77612e-18
+427  0.419157 -0.185152 4.77612e-18
+428  0.768946 0.320423 4.77509e-18
+429  0.768946 -0.320423 4.77509e-18
+430  0.573694 0.248047 0.248047
+431  0.573694 0.248047 -0.248047
+432  0.573694 -0.248047 0.248047
+433  0.573694 -0.248047 -0.248047
+434  0.419157 0.00000 0.185152
+435  0.768946 0.00000 0.320423
+436  0.419157 0.00000 -0.185152
+437  0.768946 0.00000 -0.320423
+438  0.248047 0.248047 -0.573694
+439  -0.248047 0.248047 -0.573694
+440  0.248047 -0.248047 -0.573694
+441  -0.248047 -0.248047 -0.573694
+442  0.185152 0.00000 -0.419157
+443  0.320423 0.00000 -0.768946
+444  -0.185152 0.00000 -0.419157
+445  -0.320423 0.00000 -0.768946
+446  2.68444e-18 0.185152 -0.419157
+447  2.68444e-18 -0.185152 -0.419157
+448  2.68386e-18 0.320423 -0.768946
+449  2.68386e-18 -0.320423 -0.768946
+450  0.105662 0.105662 0.00000
+451  -0.105662 0.105662 0.00000
+452  0.105662 -0.105662 0.00000
+453  -0.105662 -0.105662 0.00000
+454  0.105662 0.00000 0.105662
+455  0.105662 0.00000 -0.105662
+456  -0.105662 0.00000 0.105662
+457  -0.105662 0.00000 -0.105662
+458  0.00000 0.105662 0.105662
+459  0.00000 -0.105662 0.105662
+460  0.00000 0.105662 -0.105662
+461  0.00000 -0.105662 -0.105662
+462  -0.105662 -0.105662 -0.105662
+463  0.105662 -0.105662 -0.105662
+464  -0.105662 0.105662 -0.105662
+465  0.105662 0.105662 -0.105662
+466  -0.105662 -0.105662 0.105662
+467  0.105662 -0.105662 0.105662
+468  -0.105662 0.105662 0.105662
+469  0.105662 0.105662 0.105662
+470  -0.306476 -0.306476 -0.715131
+471  0.306476 -0.306476 -0.715131
+472  -0.306476 0.306476 -0.715131
+473  0.306476 0.306476 -0.715131
+474  -0.181337 -0.181337 -0.402173
+475  0.181337 -0.181337 -0.402173
+476  -0.181337 0.181337 -0.402173
+477  0.181337 0.181337 -0.402173
+478  0.715131 -0.306476 -0.306476
+479  0.715131 0.306476 -0.306476
+480  0.402173 -0.181337 -0.181337
+481  0.402173 0.181337 -0.181337
+482  0.715131 -0.306476 0.306476
+483  0.715131 0.306476 0.306476
+484  0.402173 -0.181337 0.181337
+485  0.402173 0.181337 0.181337
+486  -0.306476 -0.306476 0.715131
+487  0.306476 -0.306476 0.715131
+488  -0.181337 -0.181337 0.402173
+489  0.181337 -0.181337 0.402173
+490  -0.306476 0.306476 0.715131
+491  0.306476 0.306476 0.715131
+492  -0.181337 0.181337 0.402173
+493  0.181337 0.181337 0.402173
+494  -0.715131 -0.306476 -0.306476
+495  -0.402173 -0.181337 -0.181337
+496  -0.715131 0.306476 -0.306476
+497  -0.402173 0.181337 -0.181337
+498  -0.715131 -0.306476 0.306476
+499  -0.402173 -0.181337 0.181337
+500  -0.715131 0.306476 0.306476
+501  -0.402173 0.181337 0.181337
+502  -0.306476 -0.715131 -0.306476
+503  0.306476 -0.715131 -0.306476
+504  -0.181337 -0.402173 -0.181337
+505  0.181337 -0.402173 -0.181337
+506  -0.306476 -0.715131 0.306476
+507  0.306476 -0.715131 0.306476
+508  -0.181337 -0.402173 0.181337
+509  0.181337 -0.402173 0.181337
+510  -0.306476 0.715131 -0.306476
+511  -0.181337 0.402173 -0.181337
+512  0.306476 0.715131 -0.306476
+513  0.181337 0.402173 -0.181337
+514  -0.306476 0.715131 0.306476
+515  -0.181337 0.402173 0.181337
+516  0.306476 0.715131 0.306476
+517  0.181337 0.402173 0.181337
+$ENDNOD
+$ELM
+448
+1 5 0 0 8 1 80 282 82 84 290 462 286 
+2 5 0 0 8 80 17 146 282 290 152 461 462 
+3 5 0 0 8 84 290 462 286 19 154 457 148 
+4 5 0 0 8 290 152 461 462 154 51 277 457 
+5 5 0 0 8 82 282 144 18 286 462 453 150 
+6 5 0 0 8 282 146 49 144 462 461 281 453 
+7 5 0 0 8 286 462 453 150 148 457 279 50 
+8 5 0 0 8 462 461 281 453 457 277 73 279 
+9 5 0 0 8 17 81 284 146 152 291 463 461 
+10 5 0 0 8 81 2 86 284 291 88 294 463 
+11 5 0 0 8 152 291 463 461 51 155 455 277 
+12 5 0 0 8 291 88 294 463 155 21 156 455 
+13 5 0 0 8 146 284 145 49 461 463 452 281 
+14 5 0 0 8 284 86 20 145 463 294 158 452 
+15 5 0 0 8 461 463 452 281 277 455 278 73 
+16 5 0 0 8 463 294 158 452 455 156 52 278 
+17 5 0 0 8 19 154 457 148 85 292 464 287 
+18 5 0 0 8 154 51 277 457 292 153 460 464 
+19 5 0 0 8 85 292 464 287 5 96 302 98 
+20 5 0 0 8 292 153 460 464 96 25 166 302 
+21 5 0 0 8 148 457 279 50 287 464 451 151 
+22 5 0 0 8 457 277 73 279 464 460 280 451 
+23 5 0 0 8 287 464 451 151 98 302 164 26 
+24 5 0 0 8 464 460 280 451 302 166 54 164 
+25 5 0 0 8 51 155 455 277 153 293 465 460 
+26 5 0 0 8 155 21 156 455 293 89 295 465 
+27 5 0 0 8 153 293 465 460 25 97 304 166 
+28 5 0 0 8 293 89 295 465 97 6 100 304 
+29 5 0 0 8 277 455 278 73 460 465 450 280 
+30 5 0 0 8 455 156 52 278 465 295 159 450 
+31 5 0 0 8 460 465 450 280 166 304 165 54 
+32 5 0 0 8 465 295 159 450 304 100 27 165 
+33 5 0 0 8 18 144 283 83 150 453 466 288 
+34 5 0 0 8 144 49 147 283 453 281 459 466 
+35 5 0 0 8 150 453 466 288 50 279 456 149 
+36 5 0 0 8 453 281 459 466 279 73 276 456 
+37 5 0 0 8 83 283 92 4 288 466 298 94 
+38 5 0 0 8 283 147 23 92 466 459 160 298 
+39 5 0 0 8 288 466 298 94 149 456 162 24 
+40 5 0 0 8 466 459 160 298 456 276 53 162 
+41 5 0 0 8 49 145 285 147 281 452 467 459 
+42 5 0 0 8 145 20 87 285 452 158 296 467 
+43 5 0 0 8 281 452 467 459 73 278 454 276 
+44 5 0 0 8 452 158 296 467 278 52 157 454 
+45 5 0 0 8 147 285 93 23 459 467 299 160 
+46 5 0 0 8 285 87 3 93 467 296 90 299 
+47 5 0 0 8 459 467 299 160 276 454 163 53 
+48 5 0 0 8 467 296 90 299 454 157 22 163 
+49 5 0 0 8 50 279 456 149 151 451 468 289 
+50 5 0 0 8 279 73 276 456 451 280 458 468 
+51 5 0 0 8 151 451 468 289 26 164 303 99 
+52 5 0 0 8 451 280 458 468 164 54 167 303 
+53 5 0 0 8 149 456 162 24 289 468 300 95 
+54 5 0 0 8 456 276 53 162 468 458 161 300 
+55 5 0 0 8 289 468 300 95 99 303 102 8 
+56 5 0 0 8 468 458 161 300 303 167 28 102 
+57 5 0 0 8 73 278 454 276 280 450 469 458 
+58 5 0 0 8 278 52 157 454 450 159 297 469 
+59 5 0 0 8 280 450 469 458 54 165 305 167 
+60 5 0 0 8 450 159 297 469 165 27 101 305 
+61 5 0 0 8 276 454 163 53 458 469 301 161 
+62 5 0 0 8 454 157 22 163 469 297 91 301 
+63 5 0 0 8 458 469 301 161 167 305 103 28 
+64 5 0 0 8 469 297 91 301 305 101 7 103 
+65 5 0 0 8 9 106 314 104 110 326 470 310 
+66 5 0 0 8 106 30 178 314 326 188 449 470 
+67 5 0 0 8 110 326 470 310 32 190 445 172 
+68 5 0 0 8 326 188 449 470 190 60 271 445 
+69 5 0 0 8 104 314 176 29 310 470 441 174 
+70 5 0 0 8 314 178 57 176 470 449 275 441 
+71 5 0 0 8 310 470 441 174 172 445 273 56 
+72 5 0 0 8 470 449 275 441 445 271 74 273 
+73 5 0 0 8 30 107 316 178 188 327 471 449 
+74 5 0 0 8 107 10 112 316 327 116 330 471 
+75 5 0 0 8 188 327 471 449 60 191 443 271 
+76 5 0 0 8 327 116 330 471 191 35 192 443 
+77 5 0 0 8 178 316 177 57 449 471 440 275 
+78 5 0 0 8 316 112 33 177 471 330 194 440 
+79 5 0 0 8 449 471 440 275 271 443 272 74 
+80 5 0 0 8 471 330 194 440 443 192 61 272 
+81 5 0 0 8 32 190 445 172 111 328 472 311 
+82 5 0 0 8 190 60 271 445 328 189 448 472 
+83 5 0 0 8 111 328 472 311 13 130 362 128 
+84 5 0 0 8 328 189 448 472 130 42 226 362 
+85 5 0 0 8 172 445 273 56 311 472 439 175 
+86 5 0 0 8 445 271 74 273 472 448 274 439 
+87 5 0 0 8 311 472 439 175 128 362 224 41 
+88 5 0 0 8 472 448 274 439 362 226 69 224 
+89 5 0 0 8 60 191 443 271 189 329 473 448 
+90 5 0 0 8 191 35 192 443 329 117 331 473 
+91 5 0 0 8 189 329 473 448 42 131 364 226 
+92 5 0 0 8 329 117 331 473 131 14 134 364 
+93 5 0 0 8 271 443 272 74 448 473 438 274 
+94 5 0 0 8 443 192 61 272 473 331 195 438 
+95 5 0 0 8 448 473 438 274 226 364 225 69 
+96 5 0 0 8 473 331 195 438 364 134 44 225 
+97 5 0 0 8 29 176 315 105 174 441 474 312 
+98 5 0 0 8 176 57 179 315 441 275 447 474 
+99 5 0 0 8 174 441 474 312 56 273 444 173 
+100 5 0 0 8 441 275 447 474 273 74 270 444 
+101 5 0 0 8 105 315 80 1 312 474 290 84 
+102 5 0 0 8 315 179 17 80 474 447 152 290 
+103 5 0 0 8 312 474 290 84 173 444 154 19 
+104 5 0 0 8 474 447 152 290 444 270 51 154 
+105 5 0 0 8 57 177 317 179 275 440 475 447 
+106 5 0 0 8 177 33 113 317 440 194 332 475 
+107 5 0 0 8 275 440 475 447 74 272 442 270 
+108 5 0 0 8 440 194 332 475 272 61 193 442 
+109 5 0 0 8 179 317 81 17 447 475 291 152 
+110 5 0 0 8 317 113 2 81 475 332 88 291 
+111 5 0 0 8 447 475 291 152 270 442 155 51 
+112 5 0 0 8 475 332 88 291 442 193 21 155 
+113 5 0 0 8 56 273 444 173 175 439 476 313 
+114 5 0 0 8 273 74 270 444 439 274 446 476 
+115 5 0 0 8 175 439 476 313 41 224 363 129 
+116 5 0 0 8 439 274 446 476 224 69 227 363 
+117 5 0 0 8 173 444 154 19 313 476 292 85 
+118 5 0 0 8 444 270 51 154 476 446 153 292 
+119 5 0 0 8 313 476 292 85 129 363 96 5 
+120 5 0 0 8 476 446 153 292 363 227 25 96 
+121 5 0 0 8 74 272 442 270 274 438 477 446 
+122 5 0 0 8 272 61 193 442 438 195 333 477 
+123 5 0 0 8 274 438 477 446 69 225 365 227 
+124 5 0 0 8 438 195 333 477 225 44 135 365 
+125 5 0 0 8 270 442 155 51 446 477 293 153 
+126 5 0 0 8 442 193 21 155 477 333 89 293 
+127 5 0 0 8 446 477 293 153 227 365 97 25 
+128 5 0 0 8 477 333 89 293 365 135 6 97 
+129 5 0 0 8 10 116 338 114 112 330 478 334 
+130 5 0 0 8 116 35 202 338 330 192 437 478 
+131 5 0 0 8 112 330 478 334 33 194 433 196 
+132 5 0 0 8 330 192 437 478 194 61 265 433 
+133 5 0 0 8 114 338 200 34 334 478 429 198 
+134 5 0 0 8 338 202 63 200 478 437 269 429 
+135 5 0 0 8 334 478 429 198 196 433 267 62 
+136 5 0 0 8 478 437 269 429 433 265 75 267 
+137 5 0 0 8 35 117 340 202 192 331 479 437 
+138 5 0 0 8 117 14 136 340 331 134 370 479 
+139 5 0 0 8 192 331 479 437 61 195 431 265 
+140 5 0 0 8 331 134 370 479 195 44 232 431 
+141 5 0 0 8 202 340 201 63 437 479 428 269 
+142 5 0 0 8 340 136 45 201 479 370 234 428 
+143 5 0 0 8 437 479 428 269 265 431 266 75 
+144 5 0 0 8 479 370 234 428 431 232 71 266 
+145 5 0 0 8 33 194 433 196 113 332 480 335 
+146 5 0 0 8 194 61 265 433 332 193 436 480 
+147 5 0 0 8 113 332 480 335 2 88 294 86 
+148 5 0 0 8 332 193 436 480 88 21 156 294 
+149 5 0 0 8 196 433 267 62 335 480 427 199 
+150 5 0 0 8 433 265 75 267 480 436 268 427 
+151 5 0 0 8 335 480 427 199 86 294 158 20 
+152 5 0 0 8 480 436 268 427 294 156 52 158 
+153 5 0 0 8 61 195 431 265 193 333 481 436 
+154 5 0 0 8 195 44 232 431 333 135 371 481 
+155 5 0 0 8 193 333 481 436 21 89 295 156 
+156 5 0 0 8 333 135 371 481 89 6 100 295 
+157 5 0 0 8 265 431 266 75 436 481 426 268 
+158 5 0 0 8 431 232 71 266 481 371 235 426 
+159 5 0 0 8 436 481 426 268 156 295 159 52 
+160 5 0 0 8 481 371 235 426 295 100 27 159 
+161 5 0 0 8 34 200 339 115 198 429 482 336 
+162 5 0 0 8 200 63 203 339 429 269 435 482 
+163 5 0 0 8 198 429 482 336 62 267 432 197 
+164 5 0 0 8 429 269 435 482 267 75 264 432 
+165 5 0 0 8 115 339 120 11 336 482 342 118 
+166 5 0 0 8 339 203 37 120 482 435 204 342 
+167 5 0 0 8 336 482 342 118 197 432 206 36 
+168 5 0 0 8 482 435 204 342 432 264 64 206 
+169 5 0 0 8 63 201 341 203 269 428 483 435 
+170 5 0 0 8 201 45 137 341 428 234 372 483 
+171 5 0 0 8 269 428 483 435 75 266 430 264 
+172 5 0 0 8 428 234 372 483 266 71 233 430 
+173 5 0 0 8 203 341 121 37 435 483 343 204 
+174 5 0 0 8 341 137 15 121 483 372 138 343 
+175 5 0 0 8 435 483 343 204 264 430 207 64 
+176 5 0 0 8 483 372 138 343 430 233 46 207 
+177 5 0 0 8 62 267 432 197 199 427 484 337 
+178 5 0 0 8 267 75 264 432 427 268 434 484 
+179 5 0 0 8 199 427 484 337 20 158 296 87 
+180 5 0 0 8 427 268 434 484 158 52 157 296 
+181 5 0 0 8 197 432 206 36 337 484 344 119 
+182 5 0 0 8 432 264 64 206 484 434 205 344 
+183 5 0 0 8 337 484 344 119 87 296 90 3 
+184 5 0 0 8 484 434 205 344 296 157 22 90 
+185 5 0 0 8 75 266 430 264 268 426 485 434 
+186 5 0 0 8 266 71 233 430 426 235 373 485 
+187 5 0 0 8 268 426 485 434 52 159 297 157 
+188 5 0 0 8 426 235 373 485 159 27 101 297 
+189 5 0 0 8 264 430 207 64 434 485 345 205 
+190 5 0 0 8 430 233 46 207 485 373 139 345 
+191 5 0 0 8 434 485 345 205 157 297 91 22 
+192 5 0 0 8 485 373 139 345 297 101 7 91 
+193 5 0 0 8 12 124 350 126 122 346 486 354 
+194 5 0 0 8 124 39 214 350 346 208 425 486 
+195 5 0 0 8 122 346 486 354 38 210 421 216 
+196 5 0 0 8 346 208 425 486 210 65 259 421 
+197 5 0 0 8 126 350 212 40 354 486 417 218 
+198 5 0 0 8 350 214 66 212 486 425 263 417 
+199 5 0 0 8 354 486 417 218 216 421 261 67 
+200 5 0 0 8 486 425 263 417 421 259 76 261 
+201 5 0 0 8 39 125 352 214 208 347 487 425 
+202 5 0 0 8 125 11 120 352 347 118 342 487 
+203 5 0 0 8 208 347 487 425 65 211 419 259 
+204 5 0 0 8 347 118 342 487 211 36 206 419 
+205 5 0 0 8 214 352 213 66 425 487 416 263 
+206 5 0 0 8 352 120 37 213 487 342 204 416 
+207 5 0 0 8 425 487 416 263 259 419 260 76 
+208 5 0 0 8 487 342 204 416 419 206 64 260 
+209 5 0 0 8 38 210 421 216 123 348 488 355 
+210 5 0 0 8 210 65 259 421 348 209 424 488 
+211 5 0 0 8 123 348 488 355 4 92 298 94 
+212 5 0 0 8 348 209 424 488 92 23 160 298 
+213 5 0 0 8 216 421 261 67 355 488 415 219 
+214 5 0 0 8 421 259 76 261 488 424 262 415 
+215 5 0 0 8 355 488 415 219 94 298 162 24 
+216 5 0 0 8 488 424 262 415 298 160 53 162 
+217 5 0 0 8 65 211 419 259 209 349 489 424 
+218 5 0 0 8 211 36 206 419 349 119 344 489 
+219 5 0 0 8 209 349 489 424 23 93 299 160 
+220 5 0 0 8 349 119 344 489 93 3 90 299 
+221 5 0 0 8 259 419 260 76 424 489 414 262 
+222 5 0 0 8 419 206 64 260 489 344 205 414 
+223 5 0 0 8 424 489 414 262 160 299 163 53 
+224 5 0 0 8 489 344 205 414 299 90 22 163 
+225 5 0 0 8 40 212 351 127 218 417 490 356 
+226 5 0 0 8 212 66 215 351 417 263 423 490 
+227 5 0 0 8 218 417 490 356 67 261 420 217 
+228 5 0 0 8 417 263 423 490 261 76 258 420 
+229 5 0 0 8 127 351 142 16 356 490 374 140 
+230 5 0 0 8 351 215 48 142 490 423 236 374 
+231 5 0 0 8 356 490 374 140 217 420 238 47 
+232 5 0 0 8 490 423 236 374 420 258 72 238 
+233 5 0 0 8 66 213 353 215 263 416 491 423 
+234 5 0 0 8 213 37 121 353 416 204 343 491 
+235 5 0 0 8 263 416 491 423 76 260 418 258 
+236 5 0 0 8 416 204 343 491 260 64 207 418 
+237 5 0 0 8 215 353 143 48 423 491 375 236 
+238 5 0 0 8 353 121 15 143 491 343 138 375 
+239 5 0 0 8 423 491 375 236 258 418 239 72 
+240 5 0 0 8 491 343 138 375 418 207 46 239 
+241 5 0 0 8 67 261 420 217 219 415 492 357 
+242 5 0 0 8 261 76 258 420 415 262 422 492 
+243 5 0 0 8 219 415 492 357 24 162 300 95 
+244 5 0 0 8 415 262 422 492 162 53 161 300 
+245 5 0 0 8 217 420 238 47 357 492 376 141 
+246 5 0 0 8 420 258 72 238 492 422 237 376 
+247 5 0 0 8 357 492 376 141 95 300 102 8 
+248 5 0 0 8 492 422 237 376 300 161 28 102 
+249 5 0 0 8 76 260 418 258 262 414 493 422 
+250 5 0 0 8 260 64 207 418 414 205 345 493 
+251 5 0 0 8 262 414 493 422 53 163 301 161 
+252 5 0 0 8 414 205 345 493 163 22 91 301 
+253 5 0 0 8 258 418 239 72 422 493 377 237 
+254 5 0 0 8 418 207 46 239 493 345 139 377 
+255 5 0 0 8 422 493 377 237 161 301 103 28 
+256 5 0 0 8 493 345 139 377 301 91 7 103 
+257 5 0 0 8 9 104 306 108 110 310 494 322 
+258 5 0 0 8 104 29 170 306 310 174 413 494 
+259 5 0 0 8 110 310 494 322 32 172 409 184 
+260 5 0 0 8 310 174 413 494 172 56 253 409 
+261 5 0 0 8 108 306 168 31 322 494 405 186 
+262 5 0 0 8 306 170 55 168 494 413 257 405 
+263 5 0 0 8 322 494 405 186 184 409 255 59 
+264 5 0 0 8 494 413 257 405 409 253 77 255 
+265 5 0 0 8 29 105 308 170 174 312 495 413 
+266 5 0 0 8 105 1 82 308 312 84 286 495 
+267 5 0 0 8 174 312 495 413 56 173 407 253 
+268 5 0 0 8 312 84 286 495 173 19 148 407 
+269 5 0 0 8 170 308 169 55 413 495 404 257 
+270 5 0 0 8 308 82 18 169 495 286 150 404 
+271 5 0 0 8 413 495 404 257 253 407 254 77 
+272 5 0 0 8 495 286 150 404 407 148 50 254 
+273 5 0 0 8 32 172 409 184 111 311 496 323 
+274 5 0 0 8 172 56 253 409 311 175 412 496 
+275 5 0 0 8 111 311 496 323 13 128 358 132 
+276 5 0 0 8 311 175 412 496 128 41 222 358 
+277 5 0 0 8 184 409 255 59 323 496 403 187 
+278 5 0 0 8 409 253 77 255 496 412 256 403 
+279 5 0 0 8 323 496 403 187 132 358 220 43 
+280 5 0 0 8 496 412 256 403 358 222 68 220 
+281 5 0 0 8 56 173 407 253 175 313 497 412 
+282 5 0 0 8 173 19 148 407 313 85 287 497 
+283 5 0 0 8 175 313 497 412 41 129 360 222 
+284 5 0 0 8 313 85 287 497 129 5 98 360 
+285 5 0 0 8 253 407 254 77 412 497 402 256 
+286 5 0 0 8 407 148 50 254 497 287 151 402 
+287 5 0 0 8 412 497 402 256 222 360 221 68 
+288 5 0 0 8 497 287 151 402 360 98 26 221 
+289 5 0 0 8 31 168 307 109 186 405 498 324 
+290 5 0 0 8 168 55 171 307 405 257 411 498 
+291 5 0 0 8 186 405 498 324 59 255 408 185 
+292 5 0 0 8 405 257 411 498 255 77 252 408 
+293 5 0 0 8 109 307 122 12 324 498 354 126 
+294 5 0 0 8 307 171 38 122 498 411 216 354 
+295 5 0 0 8 324 498 354 126 185 408 218 40 
+296 5 0 0 8 498 411 216 354 408 252 67 218 
+297 5 0 0 8 55 169 309 171 257 404 499 411 
+298 5 0 0 8 169 18 83 309 404 150 288 499 
+299 5 0 0 8 257 404 499 411 77 254 406 252 
+300 5 0 0 8 404 150 288 499 254 50 149 406 
+301 5 0 0 8 171 309 123 38 411 499 355 216 
+302 5 0 0 8 309 83 4 123 499 288 94 355 
+303 5 0 0 8 411 499 355 216 252 406 219 67 
+304 5 0 0 8 499 288 94 355 406 149 24 219 
+305 5 0 0 8 59 255 408 185 187 403 500 325 
+306 5 0 0 8 255 77 252 408 403 256 410 500 
+307 5 0 0 8 187 403 500 325 43 220 359 133 
+308 5 0 0 8 403 256 410 500 220 68 223 359 
+309 5 0 0 8 185 408 218 40 325 500 356 127 
+310 5 0 0 8 408 252 67 218 500 410 217 356 
+311 5 0 0 8 325 500 356 127 133 359 140 16 
+312 5 0 0 8 500 410 217 356 359 223 47 140 
+313 5 0 0 8 77 254 406 252 256 402 501 410 
+314 5 0 0 8 254 50 149 406 402 151 289 501 
+315 5 0 0 8 256 402 501 410 68 221 361 223 
+316 5 0 0 8 402 151 289 501 221 26 99 361 
+317 5 0 0 8 252 406 219 67 410 501 357 217 
+318 5 0 0 8 406 149 24 219 501 289 95 357 
+319 5 0 0 8 410 501 357 217 223 361 141 47 
+320 5 0 0 8 501 289 95 357 361 99 8 141 
+321 5 0 0 8 9 106 318 108 104 314 502 306 
+322 5 0 0 8 106 30 182 318 314 178 401 502 
+323 5 0 0 8 104 314 502 306 29 176 397 170 
+324 5 0 0 8 314 178 401 502 176 57 247 397 
+325 5 0 0 8 108 318 180 31 306 502 393 168 
+326 5 0 0 8 318 182 58 180 502 401 251 393 
+327 5 0 0 8 306 502 393 168 170 397 249 55 
+328 5 0 0 8 502 401 251 393 397 247 78 249 
+329 5 0 0 8 30 107 320 182 178 316 503 401 
+330 5 0 0 8 107 10 114 320 316 112 334 503 
+331 5 0 0 8 178 316 503 401 57 177 395 247 
+332 5 0 0 8 316 112 334 503 177 33 196 395 
+333 5 0 0 8 182 320 181 58 401 503 392 251 
+334 5 0 0 8 320 114 34 181 503 334 198 392 
+335 5 0 0 8 401 503 392 251 247 395 248 78 
+336 5 0 0 8 503 334 198 392 395 196 62 248 
+337 5 0 0 8 29 176 397 170 105 315 504 308 
+338 5 0 0 8 176 57 247 397 315 179 400 504 
+339 5 0 0 8 105 315 504 308 1 80 282 82 
+340 5 0 0 8 315 179 400 504 80 17 146 282 
+341 5 0 0 8 170 397 249 55 308 504 391 169 
+342 5 0 0 8 397 247 78 249 504 400 250 391 
+343 5 0 0 8 308 504 391 169 82 282 144 18 
+344 5 0 0 8 504 400 250 391 282 146 49 144 
+345 5 0 0 8 57 177 395 247 179 317 505 400 
+346 5 0 0 8 177 33 196 395 317 113 335 505 
+347 5 0 0 8 179 317 505 400 17 81 284 146 
+348 5 0 0 8 317 113 335 505 81 2 86 284 
+349 5 0 0 8 247 395 248 78 400 505 390 250 
+350 5 0 0 8 395 196 62 248 505 335 199 390 
+351 5 0 0 8 400 505 390 250 146 284 145 49 
+352 5 0 0 8 505 335 199 390 284 86 20 145 
+353 5 0 0 8 31 180 319 109 168 393 506 307 
+354 5 0 0 8 180 58 183 319 393 251 399 506 
+355 5 0 0 8 168 393 506 307 55 249 396 171 
+356 5 0 0 8 393 251 399 506 249 78 246 396 
+357 5 0 0 8 109 319 124 12 307 506 346 122 
+358 5 0 0 8 319 183 39 124 506 399 208 346 
+359 5 0 0 8 307 506 346 122 171 396 210 38 
+360 5 0 0 8 506 399 208 346 396 246 65 210 
+361 5 0 0 8 58 181 321 183 251 392 507 399 
+362 5 0 0 8 181 34 115 321 392 198 336 507 
+363 5 0 0 8 251 392 507 399 78 248 394 246 
+364 5 0 0 8 392 198 336 507 248 62 197 394 
+365 5 0 0 8 183 321 125 39 399 507 347 208 
+366 5 0 0 8 321 115 11 125 507 336 118 347 
+367 5 0 0 8 399 507 347 208 246 394 211 65 
+368 5 0 0 8 507 336 118 347 394 197 36 211 
+369 5 0 0 8 55 249 396 171 169 391 508 309 
+370 5 0 0 8 249 78 246 396 391 250 398 508 
+371 5 0 0 8 169 391 508 309 18 144 283 83 
+372 5 0 0 8 391 250 398 508 144 49 147 283 
+373 5 0 0 8 171 396 210 38 309 508 348 123 
+374 5 0 0 8 396 246 65 210 508 398 209 348 
+375 5 0 0 8 309 508 348 123 83 283 92 4 
+376 5 0 0 8 508 398 209 348 283 147 23 92 
+377 5 0 0 8 78 248 394 246 250 390 509 398 
+378 5 0 0 8 248 62 197 394 390 199 337 509 
+379 5 0 0 8 250 390 509 398 49 145 285 147 
+380 5 0 0 8 390 199 337 509 145 20 87 285 
+381 5 0 0 8 246 394 211 65 398 509 349 209 
+382 5 0 0 8 394 197 36 211 509 337 119 349 
+383 5 0 0 8 398 509 349 209 147 285 93 23 
+384 5 0 0 8 509 337 119 349 285 87 3 93 
+385 5 0 0 8 13 128 358 132 130 362 510 366 
+386 5 0 0 8 128 41 222 358 362 224 389 510 
+387 5 0 0 8 130 362 510 366 42 226 385 228 
+388 5 0 0 8 362 224 389 510 226 69 241 385 
+389 5 0 0 8 132 358 220 43 366 510 381 230 
+390 5 0 0 8 358 222 68 220 510 389 245 381 
+391 5 0 0 8 366 510 381 230 228 385 243 70 
+392 5 0 0 8 510 389 245 381 385 241 79 243 
+393 5 0 0 8 41 129 360 222 224 363 511 389 
+394 5 0 0 8 129 5 98 360 363 96 302 511 
+395 5 0 0 8 224 363 511 389 69 227 383 241 
+396 5 0 0 8 363 96 302 511 227 25 166 383 
+397 5 0 0 8 222 360 221 68 389 511 380 245 
+398 5 0 0 8 360 98 26 221 511 302 164 380 
+399 5 0 0 8 389 511 380 245 241 383 242 79 
+400 5 0 0 8 511 302 164 380 383 166 54 242 
+401 5 0 0 8 42 226 385 228 131 364 512 367 
+402 5 0 0 8 226 69 241 385 364 225 388 512 
+403 5 0 0 8 131 364 512 367 14 134 370 136 
+404 5 0 0 8 364 225 388 512 134 44 232 370 
+405 5 0 0 8 228 385 243 70 367 512 379 231 
+406 5 0 0 8 385 241 79 243 512 388 244 379 
+407 5 0 0 8 367 512 379 231 136 370 234 45 
+408 5 0 0 8 512 388 244 379 370 232 71 234 
+409 5 0 0 8 69 227 383 241 225 365 513 388 
+410 5 0 0 8 227 25 166 383 365 97 304 513 
+411 5 0 0 8 225 365 513 388 44 135 371 232 
+412 5 0 0 8 365 97 304 513 135 6 100 371 
+413 5 0 0 8 241 383 242 79 388 513 378 244 
+414 5 0 0 8 383 166 54 242 513 304 165 378 
+415 5 0 0 8 388 513 378 244 232 371 235 71 
+416 5 0 0 8 513 304 165 378 371 100 27 235 
+417 5 0 0 8 43 220 359 133 230 381 514 368 
+418 5 0 0 8 220 68 223 359 381 245 387 514 
+419 5 0 0 8 230 381 514 368 70 243 384 229 
+420 5 0 0 8 381 245 387 514 243 79 240 384 
+421 5 0 0 8 133 359 140 16 368 514 374 142 
+422 5 0 0 8 359 223 47 140 514 387 238 374 
+423 5 0 0 8 368 514 374 142 229 384 236 48 
+424 5 0 0 8 514 387 238 374 384 240 72 236 
+425 5 0 0 8 68 221 361 223 245 380 515 387 
+426 5 0 0 8 221 26 99 361 380 164 303 515 
+427 5 0 0 8 245 380 515 387 79 242 382 240 
+428 5 0 0 8 380 164 303 515 242 54 167 382 
+429 5 0 0 8 223 361 141 47 387 515 376 238 
+430 5 0 0 8 361 99 8 141 515 303 102 376 
+431 5 0 0 8 387 515 376 238 240 382 237 72 
+432 5 0 0 8 515 303 102 376 382 167 28 237 
+433 5 0 0 8 70 243 384 229 231 379 516 369 
+434 5 0 0 8 243 79 240 384 379 244 386 516 
+435 5 0 0 8 231 379 516 369 45 234 372 137 
+436 5 0 0 8 379 244 386 516 234 71 233 372 
+437 5 0 0 8 229 384 236 48 369 516 375 143 
+438 5 0 0 8 384 240 72 236 516 386 239 375 
+439 5 0 0 8 369 516 375 143 137 372 138 15 
+440 5 0 0 8 516 386 239 375 372 233 46 138 
+441 5 0 0 8 79 242 382 240 244 378 517 386 
+442 5 0 0 8 242 54 167 382 378 165 305 517 
+443 5 0 0 8 244 378 517 386 71 235 373 233 
+444 5 0 0 8 378 165 305 517 235 27 101 373 
+445 5 0 0 8 240 382 237 72 386 517 377 239 
+446 5 0 0 8 382 167 28 237 517 305 103 377 
+447 5 0 0 8 386 517 377 239 233 373 139 46 
+448 5 0 0 8 517 305 103 377 373 101 7 139 
+$ENDELM
diff --git a/tests/manifold/polar_manifold_03.cc b/tests/manifold/polar_manifold_03.cc
new file mode 100644 (file)
index 0000000..3874302
--- /dev/null
@@ -0,0 +1,90 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2016 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.
+//
+// ---------------------------------------------------------------------
+
+
+// Test the push_forward and pull_back mechanisms
+
+#include "../tests.h"
+#include <fstream>
+#include <deal.II/base/logstream.h>
+
+
+// all include files you need here
+#include <deal.II/grid/tria.h>
+#include <deal.II/grid/tria_accessor.h>
+#include <deal.II/grid/tria_iterator.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/tria_boundary_lib.h>
+#include <deal.II/grid/manifold_lib.h>
+#include <deal.II/grid/grid_out.h>
+
+
+// Helper function
+template <int dim, int spacedim>
+void test(unsigned int ref=1)
+{
+  deallog << "Testing dim " << dim
+          << ", spacedim " << spacedim << std::endl;
+
+  PolarManifold<dim,spacedim> manifold;
+
+  Triangulation<dim,spacedim> tria;
+  Point<spacedim> p0;
+  Point<spacedim> p1;
+  p0[0] = .2;
+  p1[0] = 1;
+  p0[1] = .1;
+
+  if (spacedim == 2)
+    {
+      p1[1] = 2*numbers::PI-.1; // theta
+    }
+  else if (spacedim == 3)
+    {
+      p1[1] = numbers::PI-.1;
+      p1[2] = 2*numbers::PI-.1;
+    }
+
+  GridGenerator::hyper_rectangle (tria, p0, p1);
+  tria.refine_global(3);
+
+  const std::vector<Point<spacedim> > &vertices = tria.get_vertices();
+
+  for (unsigned int i=0; i<vertices.size(); ++i)
+    {
+      Point<spacedim> p0 = manifold.push_forward(vertices[i]);
+      Point<spacedim> p1 = manifold.pull_back(p0);
+
+      if (p1.distance(vertices[i]) > 1e-10)
+        deallog << "ERROR! d: " << p1.distance(vertices[i])
+                << " - " << p1 << " != " << vertices[i] << std::endl;
+    }
+
+
+
+}
+
+int main ()
+{
+  std::ofstream logfile("output");
+  deallog.attach(logfile);
+  deallog.threshold_double(1.e-10);
+
+  test<2,2>();
+  test<3,3>();
+
+  return 0;
+}
+
diff --git a/tests/manifold/polar_manifold_03.output b/tests/manifold/polar_manifold_03.output
new file mode 100644 (file)
index 0000000..3a2b845
--- /dev/null
@@ -0,0 +1,3 @@
+
+DEAL::Testing dim 2, spacedim 2
+DEAL::Testing dim 3, spacedim 3
similarity index 67%
rename from tests/manifold/spherical_manifold_04.cc
rename to tests/manifold/polar_manifold_04.cc
index d577766f5ec7961fedf5211916457975e4bc7325..477cd7f86dc8b3ed49a265c4364cb2a6eb10db3a 100644 (file)
@@ -1,12 +1,17 @@
-//----------------------------  spherical_manifold_01.cc  ---------------------------
-//    Copyright (C) 2011 - 2015 by the mathLab team.
+// ---------------------------------------------------------------------
 //
-//    This file is subject to LGPL 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.
+// Copyright (C) 2016 by the deal.II authors
 //
-//----------------------------  spherical_manifold_04.cc  ---------------------------
+// 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.
+//
+// ---------------------------------------------------------------------
 
 
 // Test that the flat manifold does what it should on a sphere surface.
@@ -31,7 +36,7 @@
 template <int dim, int spacedim>
 void test(unsigned int ref=1)
 {
-  SphericalManifold<dim,spacedim> manifold;
+  PolarManifold<dim,spacedim> manifold;
 
   Triangulation<spacedim, spacedim> volume_tria;
   Triangulation<dim, spacedim> tria;
similarity index 75%
rename from tests/manifold/spherical_manifold_05.cc
rename to tests/manifold/polar_manifold_05.cc
index e30ee9a26041ddd8a3b4b956d40cf5e982d9cbf7..4252b65a823d2717c923a9cab407216e4db57538 100644 (file)
@@ -1,12 +1,17 @@
-//----------------------------  spherical_manifold_01.cc  ---------------------------
-//    Copyright (C) 2011 - 2015 by the mathLab team.
+// ---------------------------------------------------------------------
 //
-//    This file is subject to LGPL 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.
+// Copyright (C) 2016 by the deal.II authors
 //
-//----------------------------  spherical_manifold_04.cc  ---------------------------
+// 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.
+//
+// ---------------------------------------------------------------------
 
 
 // Test that the flat manifold does what it should on a sphere surface.
@@ -41,7 +46,7 @@ void test(unsigned int degree)
   deallog << "Testing dim=" << dim <<", degree="
           << degree << std::endl;
 
-  SphericalManifold<dim> manifold;
+  PolarManifold<dim> manifold;
   Triangulation<dim> tria;
   GridGenerator::hyper_shell(tria, Point<dim>(), .4, .6, 6);
   typename Triangulation<dim>::active_cell_iterator cell;
similarity index 96%
rename from tests/manifold/spherical_manifold_06.cc
rename to tests/manifold/polar_manifold_06.cc
index 19c30b822883b17ef6bd3359f44364316be5e885..579bfb20ede778e346ceb853103ba7b1cb1664ce 100644 (file)
@@ -32,7 +32,7 @@ void test()
   deallog << "dim=" << dim << ", spacedim=" << spacedim << std::endl;
 
   Point<spacedim> center;
-  static  const SphericalManifold<dim,spacedim> manifold(center);
+  static  const PolarManifold<dim,spacedim> manifold(center);
 
   // Go from 0,1 to 1,0
   Point<spacedim> p0,p1;
similarity index 95%
rename from tests/manifold/spherical_manifold_07.cc
rename to tests/manifold/polar_manifold_07.cc
index 7aff76f3a3e51e917d9bc7dc48eaca64d419f56f..f6bcb5aaf4aa84906590f5ffa2014a6a9ddd1c0c 100644 (file)
@@ -13,7 +13,7 @@
 //
 // ---------------------------------------------------------------------
 
-// test get_normals_at_vertices for a SphericalManifold.
+// test get_normals_at_vertices for a PolarManifold.
 
 #include "../tests.h"
 #include <deal.II/base/logstream.h>
@@ -35,7 +35,7 @@ void test ()
 
   GridGenerator::hyper_ball(triangulation);
 
-  static const SphericalManifold<dim, spacedim> manifold;
+  static const PolarManifold<dim, spacedim> manifold;
   triangulation.set_all_manifold_ids_on_boundary(0);
   triangulation.set_manifold (0, manifold);
 
similarity index 94%
rename from tests/manifold/spherical_manifold_08.cc
rename to tests/manifold/polar_manifold_08.cc
index e166f72a569834ccfa379b0fedb9dc2978aa8b72..4638a037df0d011676423d777e37edb0c4085b33 100644 (file)
@@ -13,7 +13,7 @@
 //
 // ---------------------------------------------------------------------
 
-// Check SphericalManifold for periodicity issues: check that the
+// Check PolarManifold for periodicity issues: check that the
 // spherical manifold finds the right intermediate points independent
 // on the number of surrounding points
 
@@ -32,7 +32,7 @@ main()
   Point<2> center(.5, .5);
   double radius = center.norm();
 
-  const SphericalManifold<2,2> manifold(center);
+  const PolarManifold<2,2> manifold(center);
 
   // Some points on the circle, that would cross the periodicity
   // boundary
@@ -41,6 +41,7 @@ main()
   points.push_back(Point<2>(0.0, 0.0));
   points.push_back(Point<2>(1.0, 0.0));
 
+
   // And the weights
   std::vector<double> weights(2);
 
similarity index 97%
rename from tests/manifold/spherical_manifold_09.cc
rename to tests/manifold/polar_manifold_09.cc
index 19794540bd27603fd950486e1faa631b1cbea7c5..7aa7e8e5d288ff3186fc8d1fd1f0431d68ac09c9 100644 (file)
@@ -13,7 +13,7 @@
 //
 // ---------------------------------------------------------------------
 
-// Check SphericalManifold on faces.
+// Check PolarManifold on faces.
 
 #include "../tests.h"
 
@@ -47,7 +47,7 @@ void test()
   Point<spacedim> center = cell->center();
   double radius = center.distance(cell->vertex(0));
 
-  static  const SphericalManifold<dim,spacedim> manifold(cell->center());
+  static  const PolarManifold<dim,spacedim> manifold(cell->center());
 
   triangulation.set_all_manifold_ids(0);
   triangulation.set_manifold (0, manifold);
index 0537db00f795f2100e940acc20ecfdc18c3ea6fe..79e4f47caf588f8edf46a8a467b20a194c6c853f 100644 (file)
-//----------------------------  spherical_manifold_01.cc  ---------------------------
-//    Copyright (C) 2011 - 2015 by the mathLab team.
+// ---------------------------------------------------------------------
 //
-//    This file is subject to LGPL 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.
+// Copyright (C) 2016 by the deal.II authors
 //
-//----------------------------  spherical_manifold_01.cc  ---------------------------
-
+// 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.
+//
+// ---------------------------------------------------------------------
 
-// Test spherical manifold on hyper shells.
+// Check SphericalManifold for get_new_point and get_tangent_vector issues.
 
 #include "../tests.h"
-#include <fstream>
-#include <deal.II/base/logstream.h>
-
 
-// all include files you need here
-#include <deal.II/grid/tria.h>
-#include <deal.II/grid/tria_accessor.h>
-#include <deal.II/grid/tria_iterator.h>
-#include <deal.II/grid/grid_generator.h>
-#include <deal.II/grid/tria_boundary_lib.h>
+#include <deal.II/base/utilities.h>
 #include <deal.II/grid/manifold_lib.h>
-#include <deal.II/grid/grid_out.h>
+#include <deal.II/base/quadrature.h>
 
-// Helper function
-template <int dim, int spacedim>
-void test(unsigned int ref=1)
+int
+main()
 {
-  deallog << "Testing dim " << dim
-          << ", spacedim " << spacedim << std::endl;
-
-  SphericalManifold<dim,spacedim> manifold;
-
-  Triangulation<dim,spacedim> tria;
-  GridGenerator::hyper_shell (tria, Point<spacedim>(), .3, .6, 12);
-
-  for (typename Triangulation<dim,spacedim>::active_cell_iterator cell = tria.begin_active(); cell != tria.end(); ++cell)
-    {
-      cell->set_all_manifold_ids(1);
-    }
-
-  tria.set_manifold(1, manifold);
-  tria.refine_global(1);
-
-  GridOut gridout;
-  gridout.write_msh(tria, deallog.get_file_stream());
-
-  // char fname[50];
-  // sprintf(fname, "mesh_%d_%d.msh", dim, spacedim);
-  // std::ofstream of(fname);
-  // gridout.write_msh(tria, of);
+  initlog();
+
+  // // Center and radius of the Ball
+  // double radius = center.norm();
+
+  {
+    Point<2> center(0.0, 0.0);
+    const SphericalManifold<2,2> manifold(center);
+
+    Point<2> P1(1.0, 0.0);
+    Point<2> P2(0.0, 1.0);
+
+    Point<2> Q = manifold.get_new_point(P1, P2, .5);
+
+    deallog << "=================================" << std::endl;;
+    deallog << manifold.get_new_point(P1, P2, .125) << std::endl;
+    deallog << manifold.get_new_point(P1, P2, .25) << std::endl;
+    deallog << manifold.get_new_point(P1, P2, .375) << std::endl;
+    deallog << manifold.get_new_point(P1, P2, .5) << std::endl;
+    deallog << manifold.get_new_point(P1, P2, .625) << std::endl;
+    deallog << manifold.get_new_point(P1, P2, .75) << std::endl;
+    deallog << manifold.get_new_point(P1, P2, .875) << std::endl;
+    deallog << "=================================" << std::endl;
+    deallog << manifold.get_new_point(P1, Q, .25) << std::endl;
+    deallog << manifold.get_new_point(P1, Q, .5) << std::endl;
+    deallog << manifold.get_new_point(P1, Q, .75) << std::endl;
+    deallog << manifold.get_new_point(P1, P2,.5) << std::endl;
+    deallog << manifold.get_new_point(Q, P2, .25) << std::endl;
+    deallog << manifold.get_new_point(Q, P2, .5) << std::endl;
+    deallog << manifold.get_new_point(Q, P2, .75) << std::endl;
+    deallog << "=================================" << std::endl;
+  }
+
+  {
+    Point<2> center(0.0, 0.0);
+    const SphericalManifold<1,2> manifold(center);
+
+    Point<2> P1(1.0, 0.0);
+    Point<2> P2(0.0, 1.0);
+
+    Point<2> Q = manifold.get_new_point(P1, P2, .5);
+
+    deallog << "=================================" << std::endl;;
+    deallog << manifold.get_new_point(P1, P2, .125) << std::endl;
+    deallog << manifold.get_new_point(P1, P2, .25) << std::endl;
+    deallog << manifold.get_new_point(P1, P2, .375) << std::endl;
+    deallog << manifold.get_new_point(P1, P2, .5) << std::endl;
+    deallog << manifold.get_new_point(P1, P2, .625) << std::endl;
+    deallog << manifold.get_new_point(P1, P2, .75) << std::endl;
+    deallog << manifold.get_new_point(P1, P2, .875) << std::endl;
+    deallog << "=================================" << std::endl;
+    deallog << manifold.get_new_point(P1, Q, .25) << std::endl;
+    deallog << manifold.get_new_point(P1, Q, .5) << std::endl;
+    deallog << manifold.get_new_point(P1, Q, .75) << std::endl;
+    deallog << manifold.get_new_point(P1, P2,.5) << std::endl;
+    deallog << manifold.get_new_point(Q, P2, .25) << std::endl;
+    deallog << manifold.get_new_point(Q, P2, .5) << std::endl;
+    deallog << manifold.get_new_point(Q, P2, .75) << std::endl;
+    deallog << "=================================" << std::endl;
+  }
+
+  {
+    Point<3> center(0.0, 0.0, 0.0);
+    const SphericalManifold<2,3> manifold(center);
+
+    Point<3> P1(1.0, 0.0, 0.0);
+    Point<3> P2(0.0, 0.0, 1.0);
+
+    Point<3> Q = manifold.get_new_point(P1, P2, .5);
+
+    deallog << "=================================" << std::endl;;
+    deallog << manifold.get_new_point(P1, P2, .125) << std::endl;
+    deallog << manifold.get_new_point(P1, P2, .25) << std::endl;
+    deallog << manifold.get_new_point(P1, P2, .375) << std::endl;
+    deallog << manifold.get_new_point(P1, P2, .5) << std::endl;
+    deallog << manifold.get_new_point(P1, P2, .625) << std::endl;
+    deallog << manifold.get_new_point(P1, P2, .75) << std::endl;
+    deallog << manifold.get_new_point(P1, P2, .875) << std::endl;
+    deallog << "=================================" << std::endl;
+    deallog << manifold.get_new_point(P1, Q, .25) << std::endl;
+    deallog << manifold.get_new_point(P1, Q, .5) << std::endl;
+    deallog << manifold.get_new_point(P1, Q, .75) << std::endl;
+    deallog << manifold.get_new_point(P1, P2,.5) << std::endl;
+    deallog << manifold.get_new_point(Q, P2, .25) << std::endl;
+    deallog << manifold.get_new_point(Q, P2, .5) << std::endl;
+    deallog << manifold.get_new_point(Q, P2, .75) << std::endl;
+    deallog << "=================================" << std::endl;
+  }
+
+  {
+    Point<3> center(0.0, 0.0, 0.0);
+    const SphericalManifold<3,3> manifold(center);
+
+    Point<3> P1(2.0, 0.0, 0.0);
+    Point<3> P2(0.0, std::sqrt(2), std::sqrt(2) );
+
+    Point<3> Q = manifold.get_new_point(P1, P2, .5);
+
+    const unsigned int num_points = 20;
+    deallog << "=================================" << std::endl;;
+    for (unsigned int i = 0; i<num_points; i++)
+      deallog << manifold.get_new_point(P1, P2, (1.0*i)/(num_points-1)) << std::endl;
+    deallog << "=================================" << std::endl;
+  }
+
+  {
+    Point<3> center(0.0, 0.0, 0.0);
+    const SphericalManifold<3,3> manifold(center);
+
+    Point<3> P1(1.0, 0.0, 0.0);
+    Point<3> P2(0.0, 1.0, 0.0);
+    Point<3> P3(0.0, 0.0, 1.0);
+
+    std::vector<Point<3> > points1(3);
+    std::vector<Point<3> > points2(3);
+    std::vector<Point<3> > points3(3);
+    std::vector<double > weights(3);
+
+    points1[0] = P1;
+    points1[1] = P2;
+    points1[2] = P3;
+
+    points2[0] = P2;
+    points2[1] = P1;
+    points2[2] = P3;
+
+    points3[0] = P2;
+    points3[1] = P3;
+    points3[2] = P1;
+
+    weights[0] = 1.0/3.0;
+    weights[1] = 1.0/3.0;
+    weights[2] = 1.0/3.0;
+
+    Quadrature<3> quad1(points1, weights);
+    Quadrature<3> quad2(points2, weights);
+    Quadrature<3> quad3(points3, weights);
+
+    Point<3> Q = manifold.get_new_point(quad1);
+    Point<3> S = manifold.get_new_point(quad2);
+    Point<3> T = manifold.get_new_point(quad3);
+
+    Point<3> P5(0.707107, 0.707107, 0.0);
+    Point<3> P4(0.0, 0.0, 1.0);
+    Point<3> R = manifold.get_new_point(P5, P4, 2.0/3.0);
+
+    deallog << "=================================" << std::endl;;
+    deallog << Q << std::endl;
+    deallog << S << std::endl;
+    deallog << T << std::endl;
+    deallog << R << std::endl;
+    deallog << "=================================" << std::endl;
+  }
+
+  // Quadrature (const std::vector< Point< dim > > &points, const std::vector< double > &weights);
+  return 0;
 }
 
-int main ()
-{
-  std::ofstream logfile("output");
-  deallog.attach(logfile);
-  deallog.threshold_double(1.e-10);
 
-  test<2,2>();
-  test<3,3>();
-
-  return 0;
-}
 
index defe767ccabbb08f20debf26644744473d05afd3..3edec408c0e0f17432820a810da538a2eab515c6 100644 (file)
 
-DEAL::Testing dim 2, spacedim 2
-$NOD
-72
-1  0.600000 0.00000 0
-2  0.519615 0.300000 0
-3  0.300000 0.519615 0
-4  3.67394e-17 0.600000 0
-5  -0.300000 0.519615 0
-6  -0.519615 0.300000 0
-7  -0.600000 7.34788e-17 0
-8  -0.519615 -0.300000 0
-9  -0.300000 -0.519615 0
-10  -1.10218e-16 -0.600000 0
-11  0.300000 -0.519615 0
-12  0.519615 -0.300000 0
-13  0.300000 0.00000 0
-14  0.259808 0.150000 0
-15  0.150000 0.259808 0
-16  1.83697e-17 0.300000 0
-17  -0.150000 0.259808 0
-18  -0.259808 0.150000 0
-19  -0.300000 3.67394e-17 0
-20  -0.259808 -0.150000 0
-21  -0.150000 -0.259808 0
-22  -5.51091e-17 -0.300000 0
-23  0.150000 -0.259808 0
-24  0.259808 -0.150000 0
-25  0.579555 0.155291 0
-26  0.450000 0.00000 0
-27  0.424264 0.424264 0
-28  0.389711 0.225000 0
-29  0.155291 0.579555 0
-30  0.225000 0.389711 0
-31  -0.155291 0.579555 0
-32  2.75546e-17 0.450000 0
-33  -0.424264 0.424264 0
-34  -0.225000 0.389711 0
-35  -0.579555 0.155291 0
-36  -0.389711 0.225000 0
-37  -0.579555 -0.155291 0
-38  -0.450000 5.51091e-17 0
-39  -0.424264 -0.424264 0
-40  -0.389711 -0.225000 0
-41  -0.155291 -0.579555 0
-42  -0.225000 -0.389711 0
-43  0.155291 -0.579555 0
-44  -8.26637e-17 -0.450000 0
-45  0.424264 -0.424264 0
-46  0.225000 -0.389711 0
-47  0.579555 -0.155291 0
-48  0.389711 -0.225000 0
-49  0.289778 0.0776457 0
-50  0.212132 0.212132 0
-51  0.0776457 0.289778 0
-52  -0.0776457 0.289778 0
-53  -0.212132 0.212132 0
-54  -0.289778 0.0776457 0
-55  -0.289778 -0.0776457 0
-56  -0.212132 -0.212132 0
-57  -0.0776457 -0.289778 0
-58  0.0776457 -0.289778 0
-59  0.212132 -0.212132 0
-60  0.289778 -0.0776457 0
-61  0.434667 0.116469 0
-62  0.318198 0.318198 0
-63  0.116469 0.434667 0
-64  -0.116469 0.434667 0
-65  -0.318198 0.318198 0
-66  -0.434667 0.116469 0
-67  -0.434667 -0.116469 0
-68  -0.318198 -0.318198 0
-69  -0.116469 -0.434667 0
-70  0.116469 -0.434667 0
-71  0.318198 -0.318198 0
-72  0.434667 -0.116469 0
-$ENDNOD
-$ELM
-48
-1 3 0 0 4 1 25 61 26 
-2 3 0 0 4 25 2 28 61 
-3 3 0 0 4 26 61 49 13 
-4 3 0 0 4 61 28 14 49 
-5 3 0 0 4 2 27 62 28 
-6 3 0 0 4 27 3 30 62 
-7 3 0 0 4 28 62 50 14 
-8 3 0 0 4 62 30 15 50 
-9 3 0 0 4 3 29 63 30 
-10 3 0 0 4 29 4 32 63 
-11 3 0 0 4 30 63 51 15 
-12 3 0 0 4 63 32 16 51 
-13 3 0 0 4 4 31 64 32 
-14 3 0 0 4 31 5 34 64 
-15 3 0 0 4 32 64 52 16 
-16 3 0 0 4 64 34 17 52 
-17 3 0 0 4 5 33 65 34 
-18 3 0 0 4 33 6 36 65 
-19 3 0 0 4 34 65 53 17 
-20 3 0 0 4 65 36 18 53 
-21 3 0 0 4 6 35 66 36 
-22 3 0 0 4 35 7 38 66 
-23 3 0 0 4 36 66 54 18 
-24 3 0 0 4 66 38 19 54 
-25 3 0 0 4 7 37 67 38 
-26 3 0 0 4 37 8 40 67 
-27 3 0 0 4 38 67 55 19 
-28 3 0 0 4 67 40 20 55 
-29 3 0 0 4 8 39 68 40 
-30 3 0 0 4 39 9 42 68 
-31 3 0 0 4 40 68 56 20 
-32 3 0 0 4 68 42 21 56 
-33 3 0 0 4 9 41 69 42 
-34 3 0 0 4 41 10 44 69 
-35 3 0 0 4 42 69 57 21 
-36 3 0 0 4 69 44 22 57 
-37 3 0 0 4 10 43 70 44 
-38 3 0 0 4 43 11 46 70 
-39 3 0 0 4 44 70 58 22 
-40 3 0 0 4 70 46 23 58 
-41 3 0 0 4 11 45 71 46 
-42 3 0 0 4 45 12 48 71 
-43 3 0 0 4 46 71 59 23 
-44 3 0 0 4 71 48 24 59 
-45 3 0 0 4 12 47 72 48 
-46 3 0 0 4 47 1 26 72 
-47 3 0 0 4 48 72 60 24 
-48 3 0 0 4 72 26 13 60 
-$ENDELM
-DEAL::Testing dim 3, spacedim 3
-$NOD
-150
-1  -0.173205 -0.173205 -0.173205
-2  0.173205 -0.173205 -0.173205
-3  -0.173205 0.173205 -0.173205
-4  0.173205 0.173205 -0.173205
-5  -0.173205 -0.173205 0.173205
-6  0.173205 -0.173205 0.173205
-7  -0.173205 0.173205 0.173205
-8  0.173205 0.173205 0.173205
-9  -0.300000 0.00000 0.00000
-10  0.300000 0.00000 0.00000
-11  0.00000 -0.300000 0.00000
-12  0.00000 0.300000 0.00000
-13  0.00000 0.00000 -0.300000
-14  0.00000 0.00000 0.300000
-15  -0.346410 -0.346410 -0.346410
-16  0.346410 -0.346410 -0.346410
-17  -0.346410 0.346410 -0.346410
-18  0.346410 0.346410 -0.346410
-19  -0.346410 -0.346410 0.346410
-20  0.346410 -0.346410 0.346410
-21  -0.346410 0.346410 0.346410
-22  0.346410 0.346410 0.346410
-23  -0.600000 0.00000 0.00000
-24  0.600000 0.00000 0.00000
-25  0.00000 -0.600000 0.00000
-26  0.00000 0.600000 0.00000
-27  0.00000 0.00000 -0.600000
-28  0.00000 0.00000 0.600000
-29  -0.266422 -0.0975173 -0.0975173
-30  -0.259808 -0.259808 -0.259808
-31  0.266422 -0.0975173 -0.0975173
-32  0.0975173 -0.266422 -0.0975173
-33  0.0975173 -0.0975173 -0.266422
-34  0.259808 -0.259808 -0.259808
-35  -0.266422 0.0975173 -0.0975173
-36  -0.0975173 0.266422 -0.0975173
-37  -0.259808 0.259808 -0.259808
-38  0.0975173 0.266422 -0.0975173
-39  0.259808 0.259808 -0.259808
-40  -0.266422 -0.0975173 0.0975173
-41  -0.0975173 -0.0975173 0.266422
-42  -0.259808 -0.259808 0.259808
-43  0.0975173 -0.0975173 0.266422
-44  0.259808 -0.259808 0.259808
-45  -0.259808 0.259808 0.259808
-46  0.0975173 0.266422 0.0975173
-47  0.0975173 0.0975173 0.266422
-48  0.259808 0.259808 0.259808
-49  -0.266422 0.0975173 0.0975173
-50  -0.450000 0.00000 0.00000
-51  0.266422 0.0975173 -0.0975173
-52  0.266422 -0.0975173 0.0975173
-53  0.266422 0.0975173 0.0975173
-54  0.450000 0.00000 0.00000
-55  -0.0975173 -0.266422 -0.0975173
-56  -0.0975173 -0.266422 0.0975173
-57  0.0975173 -0.266422 0.0975173
-58  0.00000 -0.450000 0.00000
-59  -0.0975173 0.266422 0.0975173
-60  0.00000 0.450000 0.00000
-61  -0.0975173 -0.0975173 -0.266422
-62  -0.0975173 0.0975173 -0.266422
-63  0.0975173 0.0975173 -0.266422
-64  0.00000 0.00000 -0.450000
-65  -0.0975173 0.0975173 0.266422
-66  0.00000 0.00000 0.450000
-67  -0.532844 -0.195035 -0.195035
-68  0.532844 -0.195035 -0.195035
-69  0.195035 -0.532844 -0.195035
-70  0.195035 -0.195035 -0.532844
-71  -0.532844 0.195035 -0.195035
-72  -0.195035 0.532844 -0.195035
-73  0.195035 0.532844 -0.195035
-74  -0.532844 -0.195035 0.195035
-75  -0.195035 -0.195035 0.532844
-76  0.195035 -0.195035 0.532844
-77  0.195035 0.532844 0.195035
-78  0.195035 0.195035 0.532844
-79  -0.532844 0.195035 0.195035
-80  0.532844 0.195035 -0.195035
-81  0.532844 -0.195035 0.195035
-82  0.532844 0.195035 0.195035
-83  -0.195035 -0.532844 -0.195035
-84  -0.195035 -0.532844 0.195035
-85  0.195035 -0.532844 0.195035
-86  -0.195035 0.532844 0.195035
-87  -0.195035 -0.195035 -0.532844
-88  -0.195035 0.195035 -0.532844
-89  0.195035 0.195035 -0.532844
-90  -0.195035 0.195035 0.532844
-91  -0.399633 -0.146276 -0.146276
-92  0.212132 0.00000 -0.212132
-93  0.399633 -0.146276 -0.146276
-94  0.212132 -0.212132 0.00000
-95  0.00000 -0.212132 -0.212132
-96  0.146276 -0.146276 -0.399633
-97  0.146276 -0.399633 -0.146276
-98  -0.399633 0.146276 -0.146276
-99  -0.212132 0.212132 0.00000
-100  -0.146276 0.399633 -0.146276
-101  0.146276 0.399633 -0.146276
-102  -0.212132 0.00000 0.212132
-103  -0.146276 -0.146276 0.399633
-104  -0.399633 -0.146276 0.146276
-105  0.146276 -0.146276 0.399633
-106  0.146276 0.399633 0.146276
-107  0.00000 0.212132 0.212132
-108  0.146276 0.146276 0.399633
-109  -0.399633 0.146276 0.146276
-110  0.399633 0.146276 -0.146276
-111  0.212132 0.00000 0.212132
-112  0.212132 0.212132 0.00000
-113  0.399633 0.146276 0.146276
-114  0.399633 -0.146276 0.146276
-115  -0.212132 -0.212132 0.00000
-116  0.00000 -0.212132 0.212132
-117  -0.146276 -0.399633 0.146276
-118  0.146276 -0.399633 0.146276
-119  -0.146276 -0.399633 -0.146276
-120  -0.146276 0.399633 0.146276
-121  -0.146276 -0.146276 -0.399633
-122  -0.212132 0.00000 -0.212132
-123  -0.146276 0.146276 -0.399633
-124  0.00000 0.212132 -0.212132
-125  0.146276 0.146276 -0.399633
-126  -0.146276 0.146276 0.399633
-127  0.424264 0.00000 -0.424264
-128  0.424264 -0.424264 0.00000
-129  0.00000 -0.424264 -0.424264
-130  -0.424264 0.424264 0.00000
-131  -0.424264 0.00000 0.424264
-132  0.00000 0.424264 0.424264
-133  0.424264 0.00000 0.424264
-134  0.424264 0.424264 0.00000
-135  -0.424264 -0.424264 0.00000
-136  0.00000 -0.424264 0.424264
-137  -0.424264 0.00000 -0.424264
-138  0.00000 0.424264 -0.424264
-139  -0.318198 -0.318198 0.00000
-140  -0.318198 0.00000 0.318198
-141  0.00000 -0.318198 0.318198
-142  0.318198 -0.318198 0.00000
-143  0.318198 0.00000 0.318198
-144  0.00000 0.318198 0.318198
-145  0.318198 0.318198 0.00000
-146  0.318198 0.00000 -0.318198
-147  0.00000 0.318198 -0.318198
-148  -0.318198 0.318198 0.00000
-149  -0.318198 0.00000 -0.318198
-150  0.00000 -0.318198 -0.318198
-$ENDNOD
-$ELM
-96
-1 5 0 0 8 11 56 117 58 55 115 139 119 
-2 5 0 0 8 56 5 42 117 115 40 104 139 
-3 5 0 0 8 55 115 139 119 1 29 91 30 
-4 5 0 0 8 115 40 104 139 29 9 50 91 
-5 5 0 0 8 58 117 84 25 119 139 135 83 
-6 5 0 0 8 117 42 19 84 139 104 74 135 
-7 5 0 0 8 119 139 135 83 30 91 67 15 
-8 5 0 0 8 139 104 74 135 91 50 23 67 
-9 5 0 0 8 5 41 103 42 40 102 140 104 
-10 5 0 0 8 41 14 66 103 102 65 126 140 
-11 5 0 0 8 40 102 140 104 9 49 109 50 
-12 5 0 0 8 102 65 126 140 49 7 45 109 
-13 5 0 0 8 42 103 75 19 104 140 131 74 
-14 5 0 0 8 103 66 28 75 140 126 90 131 
-15 5 0 0 8 104 140 131 74 50 109 79 23 
-16 5 0 0 8 140 126 90 131 109 45 21 79 
-17 5 0 0 8 11 57 118 58 56 116 141 117 
-18 5 0 0 8 57 6 44 118 116 43 105 141 
-19 5 0 0 8 56 116 141 117 5 41 103 42 
-20 5 0 0 8 116 43 105 141 41 14 66 103 
-21 5 0 0 8 58 118 85 25 117 141 136 84 
-22 5 0 0 8 118 44 20 85 141 105 76 136 
-23 5 0 0 8 117 141 136 84 42 103 75 19 
-24 5 0 0 8 141 105 76 136 103 66 28 75 
-25 5 0 0 8 2 31 93 34 32 94 142 97 
-26 5 0 0 8 31 10 54 93 94 52 114 142 
-27 5 0 0 8 32 94 142 97 11 57 118 58 
-28 5 0 0 8 94 52 114 142 57 6 44 118 
-29 5 0 0 8 34 93 68 16 97 142 128 69 
-30 5 0 0 8 93 54 24 68 142 114 81 128 
-31 5 0 0 8 97 142 128 69 58 118 85 25 
-32 5 0 0 8 142 114 81 128 118 44 20 85 
-33 5 0 0 8 10 53 113 54 52 111 143 114 
-34 5 0 0 8 53 8 48 113 111 47 108 143 
-35 5 0 0 8 52 111 143 114 6 43 105 44 
-36 5 0 0 8 111 47 108 143 43 14 66 105 
-37 5 0 0 8 54 113 82 24 114 143 133 81 
-38 5 0 0 8 113 48 22 82 143 108 78 133 
-39 5 0 0 8 114 143 133 81 44 105 76 20 
-40 5 0 0 8 143 108 78 133 105 66 28 76 
-41 5 0 0 8 8 46 106 48 47 107 144 108 
-42 5 0 0 8 46 12 60 106 107 59 120 144 
-43 5 0 0 8 47 107 144 108 14 65 126 66 
-44 5 0 0 8 107 59 120 144 65 7 45 126 
-45 5 0 0 8 48 106 77 22 108 144 132 78 
-46 5 0 0 8 106 60 26 77 144 120 86 132 
-47 5 0 0 8 108 144 132 78 66 126 90 28 
-48 5 0 0 8 144 120 86 132 126 45 21 90 
-49 5 0 0 8 10 51 110 54 53 112 145 113 
-50 5 0 0 8 51 4 39 110 112 38 101 145 
-51 5 0 0 8 53 112 145 113 8 46 106 48 
-52 5 0 0 8 112 38 101 145 46 12 60 106 
-53 5 0 0 8 54 110 80 24 113 145 134 82 
-54 5 0 0 8 110 39 18 80 145 101 73 134 
-55 5 0 0 8 113 145 134 82 48 106 77 22 
-56 5 0 0 8 145 101 73 134 106 60 26 77 
-57 5 0 0 8 2 33 96 34 31 92 146 93 
-58 5 0 0 8 33 13 64 96 92 63 125 146 
-59 5 0 0 8 31 92 146 93 10 51 110 54 
-60 5 0 0 8 92 63 125 146 51 4 39 110 
-61 5 0 0 8 34 96 70 16 93 146 127 68 
-62 5 0 0 8 96 64 27 70 146 125 89 127 
-63 5 0 0 8 93 146 127 68 54 110 80 24 
-64 5 0 0 8 146 125 89 127 110 39 18 80 
-65 5 0 0 8 13 62 123 64 63 124 147 125 
-66 5 0 0 8 62 3 37 123 124 36 100 147 
-67 5 0 0 8 63 124 147 125 4 38 101 39 
-68 5 0 0 8 124 36 100 147 38 12 60 101 
-69 5 0 0 8 64 123 88 27 125 147 138 89 
-70 5 0 0 8 123 37 17 88 147 100 72 138 
-71 5 0 0 8 125 147 138 89 39 101 73 18 
-72 5 0 0 8 147 100 72 138 101 60 26 73 
-73 5 0 0 8 3 35 98 37 36 99 148 100 
-74 5 0 0 8 35 9 50 98 99 49 109 148 
-75 5 0 0 8 36 99 148 100 12 59 120 60 
-76 5 0 0 8 99 49 109 148 59 7 45 120 
-77 5 0 0 8 37 98 71 17 100 148 130 72 
-78 5 0 0 8 98 50 23 71 148 109 79 130 
-79 5 0 0 8 100 148 130 72 60 120 86 26 
-80 5 0 0 8 148 109 79 130 120 45 21 86 
-81 5 0 0 8 13 61 121 64 62 122 149 123 
-82 5 0 0 8 61 1 30 121 122 29 91 149 
-83 5 0 0 8 62 122 149 123 3 35 98 37 
-84 5 0 0 8 122 29 91 149 35 9 50 98 
-85 5 0 0 8 64 121 87 27 123 149 137 88 
-86 5 0 0 8 121 30 15 87 149 91 67 137 
-87 5 0 0 8 123 149 137 88 37 98 71 17 
-88 5 0 0 8 149 91 67 137 98 50 23 71 
-89 5 0 0 8 2 32 97 34 33 95 150 96 
-90 5 0 0 8 32 11 58 97 95 55 119 150 
-91 5 0 0 8 33 95 150 96 13 61 121 64 
-92 5 0 0 8 95 55 119 150 61 1 30 121 
-93 5 0 0 8 34 97 69 16 96 150 129 70 
-94 5 0 0 8 97 58 25 69 150 119 83 129 
-95 5 0 0 8 96 150 129 70 64 121 87 27 
-96 5 0 0 8 150 119 83 129 121 30 15 87 
-$ENDELM
+DEAL::=================================
+DEAL::0.195090 0.980785
+DEAL::0.382683 0.923880
+DEAL::0.555570 0.831470
+DEAL::0.707107 0.707107
+DEAL::0.831470 0.555570
+DEAL::0.923880 0.382683
+DEAL::0.980785 0.195090
+DEAL::=================================
+DEAL::0.831470 0.555570
+DEAL::0.923880 0.382683
+DEAL::0.980785 0.195090
+DEAL::0.707107 0.707107
+DEAL::0.195090 0.980785
+DEAL::0.382683 0.923880
+DEAL::0.555570 0.831470
+DEAL::=================================
+DEAL::=================================
+DEAL::0.195090 0.980785
+DEAL::0.382683 0.923880
+DEAL::0.555570 0.831470
+DEAL::0.707107 0.707107
+DEAL::0.831470 0.555570
+DEAL::0.923880 0.382683
+DEAL::0.980785 0.195090
+DEAL::=================================
+DEAL::0.831470 0.555570
+DEAL::0.923880 0.382683
+DEAL::0.980785 0.195090
+DEAL::0.707107 0.707107
+DEAL::0.195090 0.980785
+DEAL::0.382683 0.923880
+DEAL::0.555570 0.831470
+DEAL::=================================
+DEAL::=================================
+DEAL::0.195090 0.00000 0.980785
+DEAL::0.382683 0.00000 0.923880
+DEAL::0.555570 0.00000 0.831470
+DEAL::0.707107 0.00000 0.707107
+DEAL::0.831470 0.00000 0.555570
+DEAL::0.923880 0.00000 0.382683
+DEAL::0.980785 0.00000 0.195090
+DEAL::=================================
+DEAL::0.831470 0.00000 0.555570
+DEAL::0.923880 0.00000 0.382683
+DEAL::0.980785 0.00000 0.195090
+DEAL::0.707107 0.00000 0.707107
+DEAL::0.195090 0.00000 0.980785
+DEAL::0.382683 0.00000 0.923880
+DEAL::0.555570 0.00000 0.831470
+DEAL::=================================
+DEAL::=================================
+DEAL::1.22465e-16 1.41421 1.41421
+DEAL::0.165159 1.40938 1.40938
+DEAL::0.329189 1.39493 1.39493
+DEAL::0.490971 1.37094 1.37094
+DEAL::0.649399 1.33759 1.33759
+DEAL::0.803391 1.29510 1.29510
+DEAL::0.951895 1.24376 1.24376
+DEAL::1.09390 1.18393 1.18393
+DEAL::1.22843 1.11601 1.11601
+DEAL::1.35456 1.04047 1.04047
+DEAL::1.47145 0.957821 0.957821
+DEAL::1.57828 0.868628 0.868628
+DEAL::1.67433 0.773502 0.773502
+DEAL::1.75895 0.673091 0.673091
+DEAL::1.83155 0.568083 0.568083
+DEAL::1.89163 0.459194 0.459194
+DEAL::1.93880 0.347169 0.347169
+DEAL::1.97272 0.232772 0.232772
+DEAL::1.99317 0.116785 0.116785
+DEAL::2.00000 0.00000 0.00000
+DEAL::=================================
+DEAL::=================================
+DEAL::0.612372 0.612372 0.500000
+DEAL::0.612372 0.612372 0.500000
+DEAL::0.500000 0.612372 0.612372
+DEAL::0.612373 0.612373 0.500000
+DEAL::=================================
index 78083870fd14678b397bedf0ebe1eed8e5e944db..84b448c6cdcf199b98515db1e80f55e79623cef4 100644 (file)
-//----------------------------  spherical_manifold_01.cc  ---------------------------
-//    Copyright (C) 2011 - 2015 by the mathLab team.
+// ---------------------------------------------------------------------
 //
-//    This file is subject to LGPL 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.
+// Copyright (C) 2016 by the deal.II authors
 //
-//----------------------------  spherical_manifold_02.cc  ---------------------------
-
+// 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.
+//
+// ---------------------------------------------------------------------
 
-// Test that the flat manifold does what it should on a sphere.
+// Check SphericalManifold for get_new_point and get_tangent_vector issues.
 
 #include "../tests.h"
 
-#include <fstream>
-#include <deal.II/base/logstream.h>
-
+#include <deal.II/base/utilities.h>
+#include <deal.II/grid/manifold_lib.h>
 
-// all include files you need here
+#include <deal.II/base/quadrature_lib.h>
+#include <deal.II/base/function.h>
 #include <deal.II/grid/tria.h>
-#include <deal.II/grid/tria_accessor.h>
 #include <deal.II/grid/tria_iterator.h>
-#include <deal.II/grid/grid_generator.h>
-#include <deal.II/grid/tria_boundary_lib.h>
+#include <deal.II/grid/tria_accessor.h>
 #include <deal.II/grid/manifold_lib.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/grid/grid_tools.h>
 #include <deal.II/grid/grid_out.h>
+#include <deal.II/lac/vector.h>
+#include <deal.II/dofs/dof_handler.h>
+#include <deal.II/dofs/dof_accessor.h>
+#include <deal.II/dofs/dof_tools.h>
+#include <deal.II/fe/fe_system.h>
+#include <deal.II/fe/fe_dgq.h>
+#include <deal.II/fe/fe_values.h>
+#include <deal.II/fe/mapping_q.h>
+#include <deal.II/fe/mapping_manifold.h>
+#include <deal.II/numerics/data_out.h>
+#include <deal.II/numerics/vector_tools.h>
+
+#include <fstream>
+#include <iostream>
 
-// Helper function
-template <int dim, int spacedim>
-void test(unsigned int ref=1)
+#include <deal.II/grid/manifold.h>
+
+using namespace dealii;
+
+struct MappingEnum
+{
+  enum type
+  {
+    MappingManifold,
+    MappingQ
+  };
+};
+
+void test (MappingEnum::type mapping_name, unsigned int refinements=1)
 {
-  SphericalManifold<dim,spacedim> manifold;
+  using namespace dealii;
 
-  Triangulation<dim,spacedim> tria;
-  GridGenerator::hyper_ball (tria);
+  deallog.depth_console (0);
 
-  typename Triangulation<dim,spacedim>::active_cell_iterator cell;
+  const unsigned int degree = 2;   // Degree of shape functions
 
-  for (cell = tria.begin_active(); cell != tria.end(); ++cell)
-    cell->set_all_manifold_ids(1);
+  Triangulation<2,3>   triangulation;
 
-  for (cell = tria.begin_active(); cell != tria.end(); ++cell)
+  FE_Q<2,3>            fe(degree);
+  DoFHandler<2,3>      dof_handler(triangulation);
+  QGaussLobatto<2>     cell_quadrature(degree+1);
+
+
+
+  const double radius           = 1.0;
+  Point<3>                      center(0.0, 0.0, 0.0);
+  GridGenerator::hyper_sphere(triangulation, center, radius);
+
+  static const SphericalManifold<2,3> sphere;
+  triangulation.set_manifold (0, sphere);
+  // static const RotatedSphericalManifold rotated_sphere;
+  // triangulation.set_manifold (1, rotated_sphere);
+
+  for (typename Triangulation<2,3>::active_cell_iterator
+       cell=triangulation.begin_active();
+       cell!=triangulation.end(); ++cell)
+    {
+      cell->set_all_manifold_ids(0);
+      // deallog << "Setting SphericalManifold\n";
+    }
+
+  triangulation.refine_global(refinements);
+  dof_handler.distribute_dofs (fe);
+
+  {
+    // Save mesh to file for visualization
+    GridOut grid_out;
+    std::ofstream grid_file("grid.vtk");
+    grid_out.write_vtk(triangulation, grid_file);
+    // deallog << "Grid has been saved into grid.vtk" << std::endl;
+  }
+
+  // deallog << "Surface mesh has " << triangulation.n_active_cells()
+  //           << " cells."
+  //           << std::endl;
+  // deallog << "Surface mesh has " << dof_handler.n_dofs()
+  //           << " degrees of freedom."
+  //           << std::endl;
+
+  std::shared_ptr<Mapping<2,3> > mapping;
+  switch (mapping_name)
+    {
+    case MappingEnum::MappingManifold:
+      // deallog << " MappingManifold" << std::endl;
+      mapping = std::unique_ptr<Mapping<2,3> >(
+                  new MappingManifold<2,3 >());
+      break;
+    case MappingEnum::MappingQ:
+      // deallog << " MappingQ" << std::endl;
+      mapping = std::unique_ptr<Mapping<2,3> >(
+                  new  MappingQ<2,3>(fe.degree));
+      break;
+    }
+
+  FEValues<2,3> fe_values (*mapping, fe, cell_quadrature,
+                           update_values            |
+                           update_gradients         |
+                           update_quadrature_points |
+                           update_JxW_values);
+  const unsigned int dofs_per_cell = fe.dofs_per_cell;
+  const unsigned int n_q_points    = cell_quadrature.size();
+
+  double surface_area = 0;
+  for (typename DoFHandler<2,3>::active_cell_iterator
+       cell = dof_handler.begin_active(),
+       endc = dof_handler.end();
+       cell!=endc; ++cell)
     {
-      if (cell->center().distance(Point<spacedim>()) < 1e-10)
-        cell->set_all_manifold_ids(0);
+      double patch_surface = 0;
+      fe_values.reinit (cell);
+      const auto &qp = fe_values.get_quadrature_points();
+
+
+      for (unsigned int q_point=0; q_point<n_q_points; ++q_point)
+        {
+          patch_surface += fe_values.JxW(q_point);
+          // deallog << "--> " << qp[q_point] << std::endl;
+        }
+      // deallog  << " Patch area       = "
+      //            << patch_surface << std::endl;
+      surface_area += patch_surface;
     }
 
-  tria.set_manifold(1, manifold);
-  tria.refine_global(2);
+  deallog << " Ref      = " << std::setw(5) << refinements;
+  // deallog << " Surface area     = "
+  //         << surface_area << std::endl;
+  deallog << "  RelErr  = "
+          << (surface_area - 4 * numbers::PI * radius * radius) /
+          (4 * numbers::PI * radius * radius)
+          << std::endl;
 
-  GridOut gridout;
-  gridout.write_msh(tria, deallog.get_file_stream());
+  return;
 }
 
-int main ()
+int main()
 {
-  std::ofstream logfile("output");
-  deallog.attach(logfile);
-  deallog.threshold_double(1.e-10);
+  initlog();
 
-  test<2,2>();
-  test<3,3>();
+  std::string bar(35,'-');
+
+  deallog << bar << std::endl;
+  for (unsigned int i = 1; i<8; ++i)
+    test(MappingEnum::MappingManifold, i);
+  deallog << bar << std::endl;
+  for (unsigned int i = 1; i<8; ++i)
+    test(MappingEnum::MappingQ, i);
+  deallog << bar << std::endl;
 
   return 0;
 }
 
+
+
index d2b749e5c870853b4129c86bb289a5741ffe1f5c..9f4fc0c284522526876dff471fa382e290d41dd3 100644 (file)
 
-$NOD
-89
-1  -0.707107 -0.707107 0
-2  0.707107 -0.707107 0
-3  -0.292893 -0.292893 0
-4  0.292893 -0.292893 0
-5  -0.292893 0.292893 0
-6  0.292893 0.292893 0
-7  -0.707107 0.707107 0
-8  0.707107 0.707107 0
-9  -1.83697e-16 -1.00000 0
-10  -0.500000 -0.500000 0
-11  -1.00000 1.22465e-16 0
-12  0.500000 -0.500000 0
-13  1.00000 0.00000 0
-14  0.00000 -0.292893 0
-15  -0.292893 0.00000 0
-16  0.292893 0.00000 0
-17  0.00000 0.292893 0
-18  -0.500000 0.500000 0
-19  6.12323e-17 1.00000 0
-20  0.500000 0.500000 0
-21  -1.18750e-16 -0.646447 0
-22  -0.646447 7.91669e-17 0
-23  0.00000 0.00000 0
-24  0.646447 0.00000 0
-25  3.95834e-17 0.646447 0
-26  -0.382683 -0.923880 0
-27  0.382683 -0.923880 0
-28  -0.603553 -0.603553 0
-29  -0.396447 -0.396447 0
-30  -0.923880 -0.382683 0
-31  -0.923880 0.382683 0
-32  0.603553 -0.603553 0
-33  0.396447 -0.396447 0
-34  0.923880 -0.382683 0
-35  0.923880 0.382683 0
-36  -0.146447 -0.292893 0
-37  0.146447 -0.292893 0
-38  -0.292893 -0.146447 0
-39  -0.292893 0.146447 0
-40  0.292893 -0.146447 0
-41  0.292893 0.146447 0
-42  -0.146447 0.292893 0
-43  0.146447 0.292893 0
-44  -0.603553 0.603553 0
-45  -0.396447 0.396447 0
-46  -0.382683 0.923880 0
-47  0.382683 0.923880 0
-48  0.603553 0.603553 0
-49  0.396447 0.396447 0
-50  -1.51224e-16 -0.823223 0
-51  -8.62770e-17 -0.469670 0
-52  -0.258991 -0.625260 0
-53  0.258991 -0.625260 0
-54  -0.625260 -0.258991 0
-55  -0.625260 0.258991 0
-56  -0.823223 1.00816e-16 0
-57  -0.469670 5.75180e-17 0
-58  0.00000 -0.146447 0
-59  0.00000 0.146447 0
-60  -0.146447 0.00000 0
-61  0.146447 0.00000 0
-62  0.823223 0.00000 0
-63  0.469670 0.00000 0
-64  0.625260 -0.258991 0
-65  0.625260 0.258991 0
-66  -0.258991 0.625260 0
-67  0.258991 0.625260 0
-68  5.04079e-17 0.823223 0
-69  2.87590e-17 0.469670 0
-70  -0.320837 -0.774570 0
-71  0.320837 -0.774570 0
-72  -0.200084 -0.471182 0
-73  0.200084 -0.471182 0
-74  -0.774570 -0.320837 0
-75  -0.471182 -0.200084 0
-76  -0.774570 0.320837 0
-77  -0.471182 0.200084 0
-78  -0.146447 -0.146447 0
-79  0.146447 -0.146447 0
-80  -0.146447 0.146447 0
-81  0.146447 0.146447 0
-82  0.774570 -0.320837 0
-83  0.774570 0.320837 0
-84  0.471182 -0.200084 0
-85  0.471182 0.200084 0
-86  -0.320837 0.774570 0
-87  -0.200084 0.471182 0
-88  0.320837 0.774570 0
-89  0.200084 0.471182 0
-$ENDNOD
-$ELM
-80
-1 3 0 0 4 1 26 70 28 
-2 3 0 0 4 26 9 50 70 
-3 3 0 0 4 28 70 52 10 
-4 3 0 0 4 70 50 21 52 
-5 3 0 0 4 9 27 71 50 
-6 3 0 0 4 27 2 32 71 
-7 3 0 0 4 50 71 53 21 
-8 3 0 0 4 71 32 12 53 
-9 3 0 0 4 10 52 72 29 
-10 3 0 0 4 52 21 51 72 
-11 3 0 0 4 29 72 36 3 
-12 3 0 0 4 72 51 14 36 
-13 3 0 0 4 21 53 73 51 
-14 3 0 0 4 53 12 33 73 
-15 3 0 0 4 51 73 37 14 
-16 3 0 0 4 73 33 4 37 
-17 3 0 0 4 1 28 74 30 
-18 3 0 0 4 28 10 54 74 
-19 3 0 0 4 30 74 56 11 
-20 3 0 0 4 74 54 22 56 
-21 3 0 0 4 10 29 75 54 
-22 3 0 0 4 29 3 38 75 
-23 3 0 0 4 54 75 57 22 
-24 3 0 0 4 75 38 15 57 
-25 3 0 0 4 11 56 76 31 
-26 3 0 0 4 56 22 55 76 
-27 3 0 0 4 31 76 44 7 
-28 3 0 0 4 76 55 18 44 
-29 3 0 0 4 22 57 77 55 
-30 3 0 0 4 57 15 39 77 
-31 3 0 0 4 55 77 45 18 
-32 3 0 0 4 77 39 5 45 
-33 3 0 0 4 3 36 78 38 
-34 3 0 0 4 36 14 58 78 
-35 3 0 0 4 38 78 60 15 
-36 3 0 0 4 78 58 23 60 
-37 3 0 0 4 14 37 79 58 
-38 3 0 0 4 37 4 40 79 
-39 3 0 0 4 58 79 61 23 
-40 3 0 0 4 79 40 16 61 
-41 3 0 0 4 15 60 80 39 
-42 3 0 0 4 60 23 59 80 
-43 3 0 0 4 39 80 42 5 
-44 3 0 0 4 80 59 17 42 
-45 3 0 0 4 23 61 81 59 
-46 3 0 0 4 61 16 41 81 
-47 3 0 0 4 59 81 43 17 
-48 3 0 0 4 81 41 6 43 
-49 3 0 0 4 2 34 82 32 
-50 3 0 0 4 34 13 62 82 
-51 3 0 0 4 32 82 64 12 
-52 3 0 0 4 82 62 24 64 
-53 3 0 0 4 13 35 83 62 
-54 3 0 0 4 35 8 48 83 
-55 3 0 0 4 62 83 65 24 
-56 3 0 0 4 83 48 20 65 
-57 3 0 0 4 12 64 84 33 
-58 3 0 0 4 64 24 63 84 
-59 3 0 0 4 33 84 40 4 
-60 3 0 0 4 84 63 16 40 
-61 3 0 0 4 24 65 85 63 
-62 3 0 0 4 65 20 49 85 
-63 3 0 0 4 63 85 41 16 
-64 3 0 0 4 85 49 6 41 
-65 3 0 0 4 7 44 86 46 
-66 3 0 0 4 44 18 66 86 
-67 3 0 0 4 46 86 68 19 
-68 3 0 0 4 86 66 25 68 
-69 3 0 0 4 18 45 87 66 
-70 3 0 0 4 45 5 42 87 
-71 3 0 0 4 66 87 69 25 
-72 3 0 0 4 87 42 17 69 
-73 3 0 0 4 19 68 88 47 
-74 3 0 0 4 68 25 67 88 
-75 3 0 0 4 47 88 48 8 
-76 3 0 0 4 88 67 20 48 
-77 3 0 0 4 25 69 89 67 
-78 3 0 0 4 69 17 43 89 
-79 3 0 0 4 67 89 49 20 
-80 3 0 0 4 89 43 6 49 
-$ENDELM
-$NOD
-517
-1  -0.211325 -0.211325 -0.211325
-2  0.211325 -0.211325 -0.211325
-3  0.211325 -0.211325 0.211325
-4  -0.211325 -0.211325 0.211325
-5  -0.211325 0.211325 -0.211325
-6  0.211325 0.211325 -0.211325
-7  0.211325 0.211325 0.211325
-8  -0.211325 0.211325 0.211325
-9  -0.577350 -0.577350 -0.577350
-10  0.577350 -0.577350 -0.577350
-11  0.577350 -0.577350 0.577350
-12  -0.577350 -0.577350 0.577350
-13  -0.577350 0.577350 -0.577350
-14  0.577350 0.577350 -0.577350
-15  0.577350 0.577350 0.577350
-16  -0.577350 0.577350 0.577350
-17  0.00000 -0.211325 -0.211325
-18  -0.211325 -0.211325 0.00000
-19  -0.211325 0.00000 -0.211325
-20  0.211325 -0.211325 0.00000
-21  0.211325 0.00000 -0.211325
-22  0.211325 0.00000 0.211325
-23  0.00000 -0.211325 0.211325
-24  -0.211325 0.00000 0.211325
-25  0.00000 0.211325 -0.211325
-26  -0.211325 0.211325 0.00000
-27  0.211325 0.211325 0.00000
-28  0.00000 0.211325 0.211325
-29  -0.394338 -0.394338 -0.394338
-30  0.00000 -0.707107 -0.707107
-31  -0.707107 -0.707107 0.00000
-32  -0.707107 0.00000 -0.707107
-33  0.394338 -0.394338 -0.394338
-34  0.707107 -0.707107 0.00000
-35  0.707107 0.00000 -0.707107
-36  0.394338 -0.394338 0.394338
-37  0.707107 0.00000 0.707107
-38  -0.394338 -0.394338 0.394338
-39  0.00000 -0.707107 0.707107
-40  -0.707107 0.00000 0.707107
-41  -0.394338 0.394338 -0.394338
-42  0.00000 0.707107 -0.707107
-43  -0.707107 0.707107 0.00000
-44  0.394338 0.394338 -0.394338
-45  0.707107 0.707107 0.00000
-46  0.394338 0.394338 0.394338
-47  -0.394338 0.394338 0.394338
-48  0.00000 0.707107 0.707107
-49  0.00000 -0.211325 0.00000
-50  -0.211325 0.00000 0.00000
-51  0.00000 0.00000 -0.211325
-52  0.211325 0.00000 0.00000
-53  0.00000 0.00000 0.211325
-54  0.00000 0.211325 0.00000
-55  -0.477026 -0.477026 0.00000
-56  -0.477026 0.00000 -0.477026
-57  8.06230e-18 -0.477026 -0.477026
-58  0.00000 -1.00000 0.00000
-59  -1.00000 0.00000 0.00000
-60  0.00000 0.00000 -1.00000
-61  0.477026 0.00000 -0.477026
-62  0.477026 -0.477026 8.06230e-18
-63  1.00000 0.00000 0.00000
-64  0.477026 0.00000 0.477026
-65  0.00000 -0.477026 0.477026
-66  0.00000 0.00000 1.00000
-67  -0.477026 8.06230e-18 0.477026
-68  -0.477026 0.477026 0.00000
-69  8.06230e-18 0.477026 -0.477026
-70  0.00000 1.00000 0.00000
-71  0.477026 0.477026 8.06230e-18
-72  0.00000 0.477026 0.477026
-73  0.00000 0.00000 0.00000
-74  1.85598e-18 0.00000 -0.657527
-75  0.657527 0.00000 9.58422e-18
-76  0.00000 0.00000 0.657527
-77  -0.657527 9.27992e-19 9.58422e-18
-78  9.27992e-19 -0.657527 0.00000
-79  9.27992e-19 0.657527 9.58422e-18
-80  -0.105662 -0.211325 -0.211325
-81  0.105662 -0.211325 -0.211325
-82  -0.211325 -0.211325 -0.105662
-83  -0.211325 -0.211325 0.105662
-84  -0.211325 -0.105662 -0.211325
-85  -0.211325 0.105662 -0.211325
-86  0.211325 -0.211325 -0.105662
-87  0.211325 -0.211325 0.105662
-88  0.211325 -0.105662 -0.211325
-89  0.211325 0.105662 -0.211325
-90  0.211325 -0.105662 0.211325
-91  0.211325 0.105662 0.211325
-92  -0.105662 -0.211325 0.211325
-93  0.105662 -0.211325 0.211325
-94  -0.211325 -0.105662 0.211325
-95  -0.211325 0.105662 0.211325
-96  -0.105662 0.211325 -0.211325
-97  0.105662 0.211325 -0.211325
-98  -0.211325 0.211325 -0.105662
-99  -0.211325 0.211325 0.105662
-100  0.211325 0.211325 -0.105662
-101  0.211325 0.211325 0.105662
-102  -0.105662 0.211325 0.211325
-103  0.105662 0.211325 0.211325
-104  -0.485844 -0.485844 -0.485844
-105  -0.302831 -0.302831 -0.302831
-106  -0.302905 -0.673887 -0.673887
-107  0.302905 -0.673887 -0.673887
-108  -0.673887 -0.673887 -0.302905
-109  -0.673887 -0.673887 0.302905
-110  -0.673887 -0.302905 -0.673887
-111  -0.673887 0.302905 -0.673887
-112  0.485844 -0.485844 -0.485844
-113  0.302831 -0.302831 -0.302831
-114  0.673887 -0.673887 -0.302905
-115  0.673887 -0.673887 0.302905
-116  0.673887 -0.302905 -0.673887
-117  0.673887 0.302905 -0.673887
-118  0.485844 -0.485844 0.485844
-119  0.302831 -0.302831 0.302831
-120  0.673887 -0.302905 0.673887
-121  0.673887 0.302905 0.673887
-122  -0.485844 -0.485844 0.485844
-123  -0.302831 -0.302831 0.302831
-124  -0.302905 -0.673887 0.673887
-125  0.302905 -0.673887 0.673887
-126  -0.673887 -0.302905 0.673887
-127  -0.673887 0.302905 0.673887
-128  -0.485844 0.485844 -0.485844
-129  -0.302831 0.302831 -0.302831
-130  -0.302905 0.673887 -0.673887
-131  0.302905 0.673887 -0.673887
-132  -0.673887 0.673887 -0.302905
-133  -0.673887 0.673887 0.302905
-134  0.485844 0.485844 -0.485844
-135  0.302831 0.302831 -0.302831
-136  0.673887 0.673887 -0.302905
-137  0.673887 0.673887 0.302905
-138  0.485844 0.485844 0.485844
-139  0.302831 0.302831 0.302831
-140  -0.485844 0.485844 0.485844
-141  -0.302831 0.302831 0.302831
-142  -0.302905 0.673887 0.673887
-143  0.302905 0.673887 0.673887
-144  -0.105662 -0.211325 0.00000
-145  0.105662 -0.211325 0.00000
-146  0.00000 -0.211325 -0.105662
-147  0.00000 -0.211325 0.105662
-148  -0.211325 0.00000 -0.105662
-149  -0.211325 0.00000 0.105662
-150  -0.211325 -0.105662 0.00000
-151  -0.211325 0.105662 0.00000
-152  0.00000 -0.105662 -0.211325
-153  0.00000 0.105662 -0.211325
-154  -0.105662 0.00000 -0.211325
-155  0.105662 0.00000 -0.211325
-156  0.211325 0.00000 -0.105662
-157  0.211325 0.00000 0.105662
-158  0.211325 -0.105662 0.00000
-159  0.211325 0.105662 0.00000
-160  0.00000 -0.105662 0.211325
-161  0.00000 0.105662 0.211325
-162  -0.105662 0.00000 0.211325
-163  0.105662 0.00000 0.211325
-164  -0.105662 0.211325 0.00000
-165  0.105662 0.211325 0.00000
-166  0.00000 0.211325 -0.105662
-167  0.00000 0.211325 0.105662
-168  -0.592066 -0.592066 0.00000
-169  -0.344176 -0.344176 0.00000
-170  -0.457158 -0.457158 -0.206888
-171  -0.457158 -0.457158 0.206888
-172  -0.592066 0.00000 -0.592066
-173  -0.344176 0.00000 -0.344176
-174  -0.457158 -0.206888 -0.457158
-175  -0.457158 0.206888 -0.457158
-176  -0.206888 -0.457158 -0.457158
-177  0.206888 -0.457158 -0.457158
-178  4.03115e-18 -0.592066 -0.592066
-179  4.03115e-18 -0.344176 -0.344176
-180  -0.382683 -0.923880 0.00000
-181  0.382683 -0.923880 0.00000
-182  0.00000 -0.923880 -0.382683
-183  0.00000 -0.923880 0.382683
-184  -0.923880 0.00000 -0.382683
-185  -0.923880 0.00000 0.382683
-186  -0.923880 -0.382683 0.00000
-187  -0.923880 0.382683 0.00000
-188  0.00000 -0.382683 -0.923880
-189  0.00000 0.382683 -0.923880
-190  -0.382683 0.00000 -0.923880
-191  0.382683 0.00000 -0.923880
-192  0.592066 0.00000 -0.592066
-193  0.344176 0.00000 -0.344176
-194  0.457158 -0.206888 -0.457158
-195  0.457158 0.206888 -0.457158
-196  0.457158 -0.457158 -0.206888
-197  0.457158 -0.457158 0.206888
-198  0.592066 -0.592066 4.03115e-18
-199  0.344176 -0.344176 4.03115e-18
-200  0.923880 -0.382683 0.00000
-201  0.923880 0.382683 0.00000
-202  0.923880 0.00000 -0.382683
-203  0.923880 0.00000 0.382683
-204  0.592066 0.00000 0.592066
-205  0.344176 0.00000 0.344176
-206  0.457158 -0.206888 0.457158
-207  0.457158 0.206888 0.457158
-208  0.00000 -0.592066 0.592066
-209  0.00000 -0.344176 0.344176
-210  -0.206888 -0.457158 0.457158
-211  0.206888 -0.457158 0.457158
-212  -0.382683 0.00000 0.923880
-213  0.382683 0.00000 0.923880
-214  0.00000 -0.382683 0.923880
-215  0.00000 0.382683 0.923880
-216  -0.457158 -0.206888 0.457158
-217  -0.457158 0.206888 0.457158
-218  -0.592066 4.03115e-18 0.592066
-219  -0.344176 4.03115e-18 0.344176
-220  -0.592066 0.592066 0.00000
-221  -0.344176 0.344176 0.00000
-222  -0.457158 0.457158 -0.206888
-223  -0.457158 0.457158 0.206888
-224  -0.206888 0.457158 -0.457158
-225  0.206888 0.457158 -0.457158
-226  4.03115e-18 0.592066 -0.592066
-227  4.03115e-18 0.344176 -0.344176
-228  0.00000 0.923880 -0.382683
-229  0.00000 0.923880 0.382683
-230  -0.382683 0.923880 0.00000
-231  0.382683 0.923880 0.00000
-232  0.457158 0.457158 -0.206888
-233  0.457158 0.457158 0.206888
-234  0.592066 0.592066 4.03115e-18
-235  0.344176 0.344176 4.03115e-18
-236  0.00000 0.592066 0.592066
-237  0.00000 0.344176 0.344176
-238  -0.206888 0.457158 0.457158
-239  0.206888 0.457158 0.457158
-240  5.02218e-19 0.614007 0.258161
-241  4.86544e-18 0.614007 -0.258161
-242  4.63996e-19 0.434426 4.79211e-18
-243  4.63996e-19 0.828764 4.79211e-18
-244  0.258161 0.614007 9.55009e-18
-245  -0.258161 0.614007 5.18687e-18
-246  5.02218e-19 -0.614007 0.258161
-247  4.86544e-18 -0.614007 -0.258161
-248  0.258161 -0.614007 4.36322e-18
-249  -0.258161 -0.614007 0.00000
-250  4.63996e-19 -0.434426 0.00000
-251  4.63996e-19 -0.828764 0.00000
-252  -0.614007 4.86544e-18 0.258161
-253  -0.614007 5.02218e-19 -0.258161
-254  -0.434426 4.63996e-19 4.79211e-18
-255  -0.828764 4.63996e-19 4.79211e-18
-256  -0.614007 0.258161 5.18687e-18
-257  -0.614007 -0.258161 5.18687e-18
-258  0.00000 0.258161 0.614007
-259  0.00000 -0.258161 0.614007
-260  0.258161 0.00000 0.614007
-261  -0.258161 4.36322e-18 0.614007
-262  0.00000 0.00000 0.434426
-263  0.00000 0.00000 0.828764
-264  0.614007 0.00000 0.258161
-265  0.614007 0.00000 -0.258161
-266  0.614007 0.258161 9.55009e-18
-267  0.614007 -0.258161 9.55009e-18
-268  0.434426 0.00000 4.79211e-18
-269  0.828764 0.00000 4.79211e-18
-270  9.27992e-19 0.00000 -0.434426
-271  9.27992e-19 0.00000 -0.828764
-272  0.258161 0.00000 -0.614007
-273  -0.258161 0.00000 -0.614007
-274  5.36766e-18 0.258161 -0.614007
-275  5.36766e-18 -0.258161 -0.614007
-276  0.00000 0.00000 0.105662
-277  0.00000 0.00000 -0.105662
-278  0.105662 0.00000 0.00000
-279  -0.105662 0.00000 0.00000
-280  0.00000 0.105662 0.00000
-281  0.00000 -0.105662 0.00000
-282  -0.105662 -0.211325 -0.105662
-283  -0.105662 -0.211325 0.105662
-284  0.105662 -0.211325 -0.105662
-285  0.105662 -0.211325 0.105662
-286  -0.211325 -0.105662 -0.105662
-287  -0.211325 0.105662 -0.105662
-288  -0.211325 -0.105662 0.105662
-289  -0.211325 0.105662 0.105662
-290  -0.105662 -0.105662 -0.211325
-291  0.105662 -0.105662 -0.211325
-292  -0.105662 0.105662 -0.211325
-293  0.105662 0.105662 -0.211325
-294  0.211325 -0.105662 -0.105662
-295  0.211325 0.105662 -0.105662
-296  0.211325 -0.105662 0.105662
-297  0.211325 0.105662 0.105662
-298  -0.105662 -0.105662 0.211325
-299  0.105662 -0.105662 0.211325
-300  -0.105662 0.105662 0.211325
-301  0.105662 0.105662 0.211325
-302  -0.105662 0.211325 -0.105662
-303  -0.105662 0.211325 0.105662
-304  0.105662 0.211325 -0.105662
-305  0.105662 0.211325 0.105662
-306  -0.565523 -0.565523 -0.254897
-307  -0.565523 -0.565523 0.254897
-308  -0.338139 -0.338139 -0.158223
-309  -0.338139 -0.338139 0.158223
-310  -0.565523 -0.254897 -0.565523
-311  -0.565523 0.254897 -0.565523
-312  -0.338139 -0.158223 -0.338139
-313  -0.338139 0.158223 -0.338139
-314  -0.254897 -0.565523 -0.565523
-315  -0.158223 -0.338139 -0.338139
-316  0.254897 -0.565523 -0.565523
-317  0.158223 -0.338139 -0.338139
-318  -0.365731 -0.855851 -0.365731
-319  -0.365731 -0.855851 0.365731
-320  0.365731 -0.855851 -0.365731
-321  0.365731 -0.855851 0.365731
-322  -0.855851 -0.365731 -0.365731
-323  -0.855851 0.365731 -0.365731
-324  -0.855851 -0.365731 0.365731
-325  -0.855851 0.365731 0.365731
-326  -0.365731 -0.365731 -0.855851
-327  0.365731 -0.365731 -0.855851
-328  -0.365731 0.365731 -0.855851
-329  0.365731 0.365731 -0.855851
-330  0.565523 -0.254897 -0.565523
-331  0.565523 0.254897 -0.565523
-332  0.338139 -0.158223 -0.338139
-333  0.338139 0.158223 -0.338139
-334  0.565523 -0.565523 -0.254897
-335  0.338139 -0.338139 -0.158223
-336  0.565523 -0.565523 0.254897
-337  0.338139 -0.338139 0.158223
-338  0.855851 -0.365731 -0.365731
-339  0.855851 -0.365731 0.365731
-340  0.855851 0.365731 -0.365731
-341  0.855851 0.365731 0.365731
-342  0.565523 -0.254897 0.565523
-343  0.565523 0.254897 0.565523
-344  0.338139 -0.158223 0.338139
-345  0.338139 0.158223 0.338139
-346  -0.254897 -0.565523 0.565523
-347  0.254897 -0.565523 0.565523
-348  -0.158223 -0.338139 0.338139
-349  0.158223 -0.338139 0.338139
-350  -0.365731 -0.365731 0.855851
-351  -0.365731 0.365731 0.855851
-352  0.365731 -0.365731 0.855851
-353  0.365731 0.365731 0.855851
-354  -0.565523 -0.254897 0.565523
-355  -0.338139 -0.158223 0.338139
-356  -0.565523 0.254897 0.565523
-357  -0.338139 0.158223 0.338139
-358  -0.565523 0.565523 -0.254897
-359  -0.565523 0.565523 0.254897
-360  -0.338139 0.338139 -0.158223
-361  -0.338139 0.338139 0.158223
-362  -0.254897 0.565523 -0.565523
-363  -0.158223 0.338139 -0.338139
-364  0.254897 0.565523 -0.565523
-365  0.158223 0.338139 -0.338139
-366  -0.365731 0.855851 -0.365731
-367  0.365731 0.855851 -0.365731
-368  -0.365731 0.855851 0.365731
-369  0.365731 0.855851 0.365731
-370  0.565523 0.565523 -0.254897
-371  0.338139 0.338139 -0.158223
-372  0.565523 0.565523 0.254897
-373  0.338139 0.338139 0.158223
-374  -0.254897 0.565523 0.565523
-375  0.254897 0.565523 0.565523
-376  -0.158223 0.338139 0.338139
-377  0.158223 0.338139 0.338139
-378  0.185152 0.419157 4.77612e-18
-379  0.320423 0.768946 4.77509e-18
-380  -0.185152 0.419157 2.59402e-18
-381  -0.320423 0.768946 2.59346e-18
-382  2.51166e-19 0.419157 0.185152
-383  2.43327e-18 0.419157 -0.185152
-384  2.51112e-19 0.768946 0.320423
-385  2.43274e-18 0.768946 -0.320423
-386  0.248047 0.573694 0.248047
-387  -0.248047 0.573694 0.248047
-388  0.248047 0.573694 -0.248047
-389  -0.248047 0.573694 -0.248047
-390  0.185152 -0.419157 2.18210e-18
-391  -0.185152 -0.419157 0.00000
-392  0.320423 -0.768946 2.18163e-18
-393  -0.320423 -0.768946 0.00000
-394  0.248047 -0.573694 0.248047
-395  0.248047 -0.573694 -0.248047
-396  -0.248047 -0.573694 0.248047
-397  -0.248047 -0.573694 -0.248047
-398  2.51166e-19 -0.419157 0.185152
-399  2.51112e-19 -0.768946 0.320423
-400  2.43327e-18 -0.419157 -0.185152
-401  2.43274e-18 -0.768946 -0.320423
-402  -0.419157 0.185152 2.59402e-18
-403  -0.768946 0.320423 2.59346e-18
-404  -0.419157 -0.185152 2.59402e-18
-405  -0.768946 -0.320423 2.59346e-18
-406  -0.419157 2.43327e-18 0.185152
-407  -0.419157 2.51166e-19 -0.185152
-408  -0.768946 2.43274e-18 0.320423
-409  -0.768946 2.51112e-19 -0.320423
-410  -0.573694 0.248047 0.248047
-411  -0.573694 -0.248047 0.248047
-412  -0.573694 0.248047 -0.248047
-413  -0.573694 -0.248047 -0.248047
-414  0.185152 0.00000 0.419157
-415  -0.185152 2.18210e-18 0.419157
-416  0.320423 0.00000 0.768946
-417  -0.320423 2.18163e-18 0.768946
-418  0.248047 0.248047 0.573694
-419  0.248047 -0.248047 0.573694
-420  -0.248047 0.248047 0.573694
-421  -0.248047 -0.248047 0.573694
-422  0.00000 0.185152 0.419157
-423  0.00000 0.320423 0.768946
-424  0.00000 -0.185152 0.419157
-425  0.00000 -0.320423 0.768946
-426  0.419157 0.185152 4.77612e-18
-427  0.419157 -0.185152 4.77612e-18
-428  0.768946 0.320423 4.77509e-18
-429  0.768946 -0.320423 4.77509e-18
-430  0.573694 0.248047 0.248047
-431  0.573694 0.248047 -0.248047
-432  0.573694 -0.248047 0.248047
-433  0.573694 -0.248047 -0.248047
-434  0.419157 0.00000 0.185152
-435  0.768946 0.00000 0.320423
-436  0.419157 0.00000 -0.185152
-437  0.768946 0.00000 -0.320423
-438  0.248047 0.248047 -0.573694
-439  -0.248047 0.248047 -0.573694
-440  0.248047 -0.248047 -0.573694
-441  -0.248047 -0.248047 -0.573694
-442  0.185152 0.00000 -0.419157
-443  0.320423 0.00000 -0.768946
-444  -0.185152 0.00000 -0.419157
-445  -0.320423 0.00000 -0.768946
-446  2.68444e-18 0.185152 -0.419157
-447  2.68444e-18 -0.185152 -0.419157
-448  2.68386e-18 0.320423 -0.768946
-449  2.68386e-18 -0.320423 -0.768946
-450  0.105662 0.105662 0.00000
-451  -0.105662 0.105662 0.00000
-452  0.105662 -0.105662 0.00000
-453  -0.105662 -0.105662 0.00000
-454  0.105662 0.00000 0.105662
-455  0.105662 0.00000 -0.105662
-456  -0.105662 0.00000 0.105662
-457  -0.105662 0.00000 -0.105662
-458  0.00000 0.105662 0.105662
-459  0.00000 -0.105662 0.105662
-460  0.00000 0.105662 -0.105662
-461  0.00000 -0.105662 -0.105662
-462  -0.105662 -0.105662 -0.105662
-463  0.105662 -0.105662 -0.105662
-464  -0.105662 0.105662 -0.105662
-465  0.105662 0.105662 -0.105662
-466  -0.105662 -0.105662 0.105662
-467  0.105662 -0.105662 0.105662
-468  -0.105662 0.105662 0.105662
-469  0.105662 0.105662 0.105662
-470  -0.306476 -0.306476 -0.715131
-471  0.306476 -0.306476 -0.715131
-472  -0.306476 0.306476 -0.715131
-473  0.306476 0.306476 -0.715131
-474  -0.181337 -0.181337 -0.402173
-475  0.181337 -0.181337 -0.402173
-476  -0.181337 0.181337 -0.402173
-477  0.181337 0.181337 -0.402173
-478  0.715131 -0.306476 -0.306476
-479  0.715131 0.306476 -0.306476
-480  0.402173 -0.181337 -0.181337
-481  0.402173 0.181337 -0.181337
-482  0.715131 -0.306476 0.306476
-483  0.715131 0.306476 0.306476
-484  0.402173 -0.181337 0.181337
-485  0.402173 0.181337 0.181337
-486  -0.306476 -0.306476 0.715131
-487  0.306476 -0.306476 0.715131
-488  -0.181337 -0.181337 0.402173
-489  0.181337 -0.181337 0.402173
-490  -0.306476 0.306476 0.715131
-491  0.306476 0.306476 0.715131
-492  -0.181337 0.181337 0.402173
-493  0.181337 0.181337 0.402173
-494  -0.715131 -0.306476 -0.306476
-495  -0.402173 -0.181337 -0.181337
-496  -0.715131 0.306476 -0.306476
-497  -0.402173 0.181337 -0.181337
-498  -0.715131 -0.306476 0.306476
-499  -0.402173 -0.181337 0.181337
-500  -0.715131 0.306476 0.306476
-501  -0.402173 0.181337 0.181337
-502  -0.306476 -0.715131 -0.306476
-503  0.306476 -0.715131 -0.306476
-504  -0.181337 -0.402173 -0.181337
-505  0.181337 -0.402173 -0.181337
-506  -0.306476 -0.715131 0.306476
-507  0.306476 -0.715131 0.306476
-508  -0.181337 -0.402173 0.181337
-509  0.181337 -0.402173 0.181337
-510  -0.306476 0.715131 -0.306476
-511  -0.181337 0.402173 -0.181337
-512  0.306476 0.715131 -0.306476
-513  0.181337 0.402173 -0.181337
-514  -0.306476 0.715131 0.306476
-515  -0.181337 0.402173 0.181337
-516  0.306476 0.715131 0.306476
-517  0.181337 0.402173 0.181337
-$ENDNOD
-$ELM
-448
-1 5 0 0 8 1 80 282 82 84 290 462 286 
-2 5 0 0 8 80 17 146 282 290 152 461 462 
-3 5 0 0 8 84 290 462 286 19 154 457 148 
-4 5 0 0 8 290 152 461 462 154 51 277 457 
-5 5 0 0 8 82 282 144 18 286 462 453 150 
-6 5 0 0 8 282 146 49 144 462 461 281 453 
-7 5 0 0 8 286 462 453 150 148 457 279 50 
-8 5 0 0 8 462 461 281 453 457 277 73 279 
-9 5 0 0 8 17 81 284 146 152 291 463 461 
-10 5 0 0 8 81 2 86 284 291 88 294 463 
-11 5 0 0 8 152 291 463 461 51 155 455 277 
-12 5 0 0 8 291 88 294 463 155 21 156 455 
-13 5 0 0 8 146 284 145 49 461 463 452 281 
-14 5 0 0 8 284 86 20 145 463 294 158 452 
-15 5 0 0 8 461 463 452 281 277 455 278 73 
-16 5 0 0 8 463 294 158 452 455 156 52 278 
-17 5 0 0 8 19 154 457 148 85 292 464 287 
-18 5 0 0 8 154 51 277 457 292 153 460 464 
-19 5 0 0 8 85 292 464 287 5 96 302 98 
-20 5 0 0 8 292 153 460 464 96 25 166 302 
-21 5 0 0 8 148 457 279 50 287 464 451 151 
-22 5 0 0 8 457 277 73 279 464 460 280 451 
-23 5 0 0 8 287 464 451 151 98 302 164 26 
-24 5 0 0 8 464 460 280 451 302 166 54 164 
-25 5 0 0 8 51 155 455 277 153 293 465 460 
-26 5 0 0 8 155 21 156 455 293 89 295 465 
-27 5 0 0 8 153 293 465 460 25 97 304 166 
-28 5 0 0 8 293 89 295 465 97 6 100 304 
-29 5 0 0 8 277 455 278 73 460 465 450 280 
-30 5 0 0 8 455 156 52 278 465 295 159 450 
-31 5 0 0 8 460 465 450 280 166 304 165 54 
-32 5 0 0 8 465 295 159 450 304 100 27 165 
-33 5 0 0 8 18 144 283 83 150 453 466 288 
-34 5 0 0 8 144 49 147 283 453 281 459 466 
-35 5 0 0 8 150 453 466 288 50 279 456 149 
-36 5 0 0 8 453 281 459 466 279 73 276 456 
-37 5 0 0 8 83 283 92 4 288 466 298 94 
-38 5 0 0 8 283 147 23 92 466 459 160 298 
-39 5 0 0 8 288 466 298 94 149 456 162 24 
-40 5 0 0 8 466 459 160 298 456 276 53 162 
-41 5 0 0 8 49 145 285 147 281 452 467 459 
-42 5 0 0 8 145 20 87 285 452 158 296 467 
-43 5 0 0 8 281 452 467 459 73 278 454 276 
-44 5 0 0 8 452 158 296 467 278 52 157 454 
-45 5 0 0 8 147 285 93 23 459 467 299 160 
-46 5 0 0 8 285 87 3 93 467 296 90 299 
-47 5 0 0 8 459 467 299 160 276 454 163 53 
-48 5 0 0 8 467 296 90 299 454 157 22 163 
-49 5 0 0 8 50 279 456 149 151 451 468 289 
-50 5 0 0 8 279 73 276 456 451 280 458 468 
-51 5 0 0 8 151 451 468 289 26 164 303 99 
-52 5 0 0 8 451 280 458 468 164 54 167 303 
-53 5 0 0 8 149 456 162 24 289 468 300 95 
-54 5 0 0 8 456 276 53 162 468 458 161 300 
-55 5 0 0 8 289 468 300 95 99 303 102 8 
-56 5 0 0 8 468 458 161 300 303 167 28 102 
-57 5 0 0 8 73 278 454 276 280 450 469 458 
-58 5 0 0 8 278 52 157 454 450 159 297 469 
-59 5 0 0 8 280 450 469 458 54 165 305 167 
-60 5 0 0 8 450 159 297 469 165 27 101 305 
-61 5 0 0 8 276 454 163 53 458 469 301 161 
-62 5 0 0 8 454 157 22 163 469 297 91 301 
-63 5 0 0 8 458 469 301 161 167 305 103 28 
-64 5 0 0 8 469 297 91 301 305 101 7 103 
-65 5 0 0 8 9 106 314 104 110 326 470 310 
-66 5 0 0 8 106 30 178 314 326 188 449 470 
-67 5 0 0 8 110 326 470 310 32 190 445 172 
-68 5 0 0 8 326 188 449 470 190 60 271 445 
-69 5 0 0 8 104 314 176 29 310 470 441 174 
-70 5 0 0 8 314 178 57 176 470 449 275 441 
-71 5 0 0 8 310 470 441 174 172 445 273 56 
-72 5 0 0 8 470 449 275 441 445 271 74 273 
-73 5 0 0 8 30 107 316 178 188 327 471 449 
-74 5 0 0 8 107 10 112 316 327 116 330 471 
-75 5 0 0 8 188 327 471 449 60 191 443 271 
-76 5 0 0 8 327 116 330 471 191 35 192 443 
-77 5 0 0 8 178 316 177 57 449 471 440 275 
-78 5 0 0 8 316 112 33 177 471 330 194 440 
-79 5 0 0 8 449 471 440 275 271 443 272 74 
-80 5 0 0 8 471 330 194 440 443 192 61 272 
-81 5 0 0 8 32 190 445 172 111 328 472 311 
-82 5 0 0 8 190 60 271 445 328 189 448 472 
-83 5 0 0 8 111 328 472 311 13 130 362 128 
-84 5 0 0 8 328 189 448 472 130 42 226 362 
-85 5 0 0 8 172 445 273 56 311 472 439 175 
-86 5 0 0 8 445 271 74 273 472 448 274 439 
-87 5 0 0 8 311 472 439 175 128 362 224 41 
-88 5 0 0 8 472 448 274 439 362 226 69 224 
-89 5 0 0 8 60 191 443 271 189 329 473 448 
-90 5 0 0 8 191 35 192 443 329 117 331 473 
-91 5 0 0 8 189 329 473 448 42 131 364 226 
-92 5 0 0 8 329 117 331 473 131 14 134 364 
-93 5 0 0 8 271 443 272 74 448 473 438 274 
-94 5 0 0 8 443 192 61 272 473 331 195 438 
-95 5 0 0 8 448 473 438 274 226 364 225 69 
-96 5 0 0 8 473 331 195 438 364 134 44 225 
-97 5 0 0 8 29 176 315 105 174 441 474 312 
-98 5 0 0 8 176 57 179 315 441 275 447 474 
-99 5 0 0 8 174 441 474 312 56 273 444 173 
-100 5 0 0 8 441 275 447 474 273 74 270 444 
-101 5 0 0 8 105 315 80 1 312 474 290 84 
-102 5 0 0 8 315 179 17 80 474 447 152 290 
-103 5 0 0 8 312 474 290 84 173 444 154 19 
-104 5 0 0 8 474 447 152 290 444 270 51 154 
-105 5 0 0 8 57 177 317 179 275 440 475 447 
-106 5 0 0 8 177 33 113 317 440 194 332 475 
-107 5 0 0 8 275 440 475 447 74 272 442 270 
-108 5 0 0 8 440 194 332 475 272 61 193 442 
-109 5 0 0 8 179 317 81 17 447 475 291 152 
-110 5 0 0 8 317 113 2 81 475 332 88 291 
-111 5 0 0 8 447 475 291 152 270 442 155 51 
-112 5 0 0 8 475 332 88 291 442 193 21 155 
-113 5 0 0 8 56 273 444 173 175 439 476 313 
-114 5 0 0 8 273 74 270 444 439 274 446 476 
-115 5 0 0 8 175 439 476 313 41 224 363 129 
-116 5 0 0 8 439 274 446 476 224 69 227 363 
-117 5 0 0 8 173 444 154 19 313 476 292 85 
-118 5 0 0 8 444 270 51 154 476 446 153 292 
-119 5 0 0 8 313 476 292 85 129 363 96 5 
-120 5 0 0 8 476 446 153 292 363 227 25 96 
-121 5 0 0 8 74 272 442 270 274 438 477 446 
-122 5 0 0 8 272 61 193 442 438 195 333 477 
-123 5 0 0 8 274 438 477 446 69 225 365 227 
-124 5 0 0 8 438 195 333 477 225 44 135 365 
-125 5 0 0 8 270 442 155 51 446 477 293 153 
-126 5 0 0 8 442 193 21 155 477 333 89 293 
-127 5 0 0 8 446 477 293 153 227 365 97 25 
-128 5 0 0 8 477 333 89 293 365 135 6 97 
-129 5 0 0 8 10 116 338 114 112 330 478 334 
-130 5 0 0 8 116 35 202 338 330 192 437 478 
-131 5 0 0 8 112 330 478 334 33 194 433 196 
-132 5 0 0 8 330 192 437 478 194 61 265 433 
-133 5 0 0 8 114 338 200 34 334 478 429 198 
-134 5 0 0 8 338 202 63 200 478 437 269 429 
-135 5 0 0 8 334 478 429 198 196 433 267 62 
-136 5 0 0 8 478 437 269 429 433 265 75 267 
-137 5 0 0 8 35 117 340 202 192 331 479 437 
-138 5 0 0 8 117 14 136 340 331 134 370 479 
-139 5 0 0 8 192 331 479 437 61 195 431 265 
-140 5 0 0 8 331 134 370 479 195 44 232 431 
-141 5 0 0 8 202 340 201 63 437 479 428 269 
-142 5 0 0 8 340 136 45 201 479 370 234 428 
-143 5 0 0 8 437 479 428 269 265 431 266 75 
-144 5 0 0 8 479 370 234 428 431 232 71 266 
-145 5 0 0 8 33 194 433 196 113 332 480 335 
-146 5 0 0 8 194 61 265 433 332 193 436 480 
-147 5 0 0 8 113 332 480 335 2 88 294 86 
-148 5 0 0 8 332 193 436 480 88 21 156 294 
-149 5 0 0 8 196 433 267 62 335 480 427 199 
-150 5 0 0 8 433 265 75 267 480 436 268 427 
-151 5 0 0 8 335 480 427 199 86 294 158 20 
-152 5 0 0 8 480 436 268 427 294 156 52 158 
-153 5 0 0 8 61 195 431 265 193 333 481 436 
-154 5 0 0 8 195 44 232 431 333 135 371 481 
-155 5 0 0 8 193 333 481 436 21 89 295 156 
-156 5 0 0 8 333 135 371 481 89 6 100 295 
-157 5 0 0 8 265 431 266 75 436 481 426 268 
-158 5 0 0 8 431 232 71 266 481 371 235 426 
-159 5 0 0 8 436 481 426 268 156 295 159 52 
-160 5 0 0 8 481 371 235 426 295 100 27 159 
-161 5 0 0 8 34 200 339 115 198 429 482 336 
-162 5 0 0 8 200 63 203 339 429 269 435 482 
-163 5 0 0 8 198 429 482 336 62 267 432 197 
-164 5 0 0 8 429 269 435 482 267 75 264 432 
-165 5 0 0 8 115 339 120 11 336 482 342 118 
-166 5 0 0 8 339 203 37 120 482 435 204 342 
-167 5 0 0 8 336 482 342 118 197 432 206 36 
-168 5 0 0 8 482 435 204 342 432 264 64 206 
-169 5 0 0 8 63 201 341 203 269 428 483 435 
-170 5 0 0 8 201 45 137 341 428 234 372 483 
-171 5 0 0 8 269 428 483 435 75 266 430 264 
-172 5 0 0 8 428 234 372 483 266 71 233 430 
-173 5 0 0 8 203 341 121 37 435 483 343 204 
-174 5 0 0 8 341 137 15 121 483 372 138 343 
-175 5 0 0 8 435 483 343 204 264 430 207 64 
-176 5 0 0 8 483 372 138 343 430 233 46 207 
-177 5 0 0 8 62 267 432 197 199 427 484 337 
-178 5 0 0 8 267 75 264 432 427 268 434 484 
-179 5 0 0 8 199 427 484 337 20 158 296 87 
-180 5 0 0 8 427 268 434 484 158 52 157 296 
-181 5 0 0 8 197 432 206 36 337 484 344 119 
-182 5 0 0 8 432 264 64 206 484 434 205 344 
-183 5 0 0 8 337 484 344 119 87 296 90 3 
-184 5 0 0 8 484 434 205 344 296 157 22 90 
-185 5 0 0 8 75 266 430 264 268 426 485 434 
-186 5 0 0 8 266 71 233 430 426 235 373 485 
-187 5 0 0 8 268 426 485 434 52 159 297 157 
-188 5 0 0 8 426 235 373 485 159 27 101 297 
-189 5 0 0 8 264 430 207 64 434 485 345 205 
-190 5 0 0 8 430 233 46 207 485 373 139 345 
-191 5 0 0 8 434 485 345 205 157 297 91 22 
-192 5 0 0 8 485 373 139 345 297 101 7 91 
-193 5 0 0 8 12 124 350 126 122 346 486 354 
-194 5 0 0 8 124 39 214 350 346 208 425 486 
-195 5 0 0 8 122 346 486 354 38 210 421 216 
-196 5 0 0 8 346 208 425 486 210 65 259 421 
-197 5 0 0 8 126 350 212 40 354 486 417 218 
-198 5 0 0 8 350 214 66 212 486 425 263 417 
-199 5 0 0 8 354 486 417 218 216 421 261 67 
-200 5 0 0 8 486 425 263 417 421 259 76 261 
-201 5 0 0 8 39 125 352 214 208 347 487 425 
-202 5 0 0 8 125 11 120 352 347 118 342 487 
-203 5 0 0 8 208 347 487 425 65 211 419 259 
-204 5 0 0 8 347 118 342 487 211 36 206 419 
-205 5 0 0 8 214 352 213 66 425 487 416 263 
-206 5 0 0 8 352 120 37 213 487 342 204 416 
-207 5 0 0 8 425 487 416 263 259 419 260 76 
-208 5 0 0 8 487 342 204 416 419 206 64 260 
-209 5 0 0 8 38 210 421 216 123 348 488 355 
-210 5 0 0 8 210 65 259 421 348 209 424 488 
-211 5 0 0 8 123 348 488 355 4 92 298 94 
-212 5 0 0 8 348 209 424 488 92 23 160 298 
-213 5 0 0 8 216 421 261 67 355 488 415 219 
-214 5 0 0 8 421 259 76 261 488 424 262 415 
-215 5 0 0 8 355 488 415 219 94 298 162 24 
-216 5 0 0 8 488 424 262 415 298 160 53 162 
-217 5 0 0 8 65 211 419 259 209 349 489 424 
-218 5 0 0 8 211 36 206 419 349 119 344 489 
-219 5 0 0 8 209 349 489 424 23 93 299 160 
-220 5 0 0 8 349 119 344 489 93 3 90 299 
-221 5 0 0 8 259 419 260 76 424 489 414 262 
-222 5 0 0 8 419 206 64 260 489 344 205 414 
-223 5 0 0 8 424 489 414 262 160 299 163 53 
-224 5 0 0 8 489 344 205 414 299 90 22 163 
-225 5 0 0 8 40 212 351 127 218 417 490 356 
-226 5 0 0 8 212 66 215 351 417 263 423 490 
-227 5 0 0 8 218 417 490 356 67 261 420 217 
-228 5 0 0 8 417 263 423 490 261 76 258 420 
-229 5 0 0 8 127 351 142 16 356 490 374 140 
-230 5 0 0 8 351 215 48 142 490 423 236 374 
-231 5 0 0 8 356 490 374 140 217 420 238 47 
-232 5 0 0 8 490 423 236 374 420 258 72 238 
-233 5 0 0 8 66 213 353 215 263 416 491 423 
-234 5 0 0 8 213 37 121 353 416 204 343 491 
-235 5 0 0 8 263 416 491 423 76 260 418 258 
-236 5 0 0 8 416 204 343 491 260 64 207 418 
-237 5 0 0 8 215 353 143 48 423 491 375 236 
-238 5 0 0 8 353 121 15 143 491 343 138 375 
-239 5 0 0 8 423 491 375 236 258 418 239 72 
-240 5 0 0 8 491 343 138 375 418 207 46 239 
-241 5 0 0 8 67 261 420 217 219 415 492 357 
-242 5 0 0 8 261 76 258 420 415 262 422 492 
-243 5 0 0 8 219 415 492 357 24 162 300 95 
-244 5 0 0 8 415 262 422 492 162 53 161 300 
-245 5 0 0 8 217 420 238 47 357 492 376 141 
-246 5 0 0 8 420 258 72 238 492 422 237 376 
-247 5 0 0 8 357 492 376 141 95 300 102 8 
-248 5 0 0 8 492 422 237 376 300 161 28 102 
-249 5 0 0 8 76 260 418 258 262 414 493 422 
-250 5 0 0 8 260 64 207 418 414 205 345 493 
-251 5 0 0 8 262 414 493 422 53 163 301 161 
-252 5 0 0 8 414 205 345 493 163 22 91 301 
-253 5 0 0 8 258 418 239 72 422 493 377 237 
-254 5 0 0 8 418 207 46 239 493 345 139 377 
-255 5 0 0 8 422 493 377 237 161 301 103 28 
-256 5 0 0 8 493 345 139 377 301 91 7 103 
-257 5 0 0 8 9 104 306 108 110 310 494 322 
-258 5 0 0 8 104 29 170 306 310 174 413 494 
-259 5 0 0 8 110 310 494 322 32 172 409 184 
-260 5 0 0 8 310 174 413 494 172 56 253 409 
-261 5 0 0 8 108 306 168 31 322 494 405 186 
-262 5 0 0 8 306 170 55 168 494 413 257 405 
-263 5 0 0 8 322 494 405 186 184 409 255 59 
-264 5 0 0 8 494 413 257 405 409 253 77 255 
-265 5 0 0 8 29 105 308 170 174 312 495 413 
-266 5 0 0 8 105 1 82 308 312 84 286 495 
-267 5 0 0 8 174 312 495 413 56 173 407 253 
-268 5 0 0 8 312 84 286 495 173 19 148 407 
-269 5 0 0 8 170 308 169 55 413 495 404 257 
-270 5 0 0 8 308 82 18 169 495 286 150 404 
-271 5 0 0 8 413 495 404 257 253 407 254 77 
-272 5 0 0 8 495 286 150 404 407 148 50 254 
-273 5 0 0 8 32 172 409 184 111 311 496 323 
-274 5 0 0 8 172 56 253 409 311 175 412 496 
-275 5 0 0 8 111 311 496 323 13 128 358 132 
-276 5 0 0 8 311 175 412 496 128 41 222 358 
-277 5 0 0 8 184 409 255 59 323 496 403 187 
-278 5 0 0 8 409 253 77 255 496 412 256 403 
-279 5 0 0 8 323 496 403 187 132 358 220 43 
-280 5 0 0 8 496 412 256 403 358 222 68 220 
-281 5 0 0 8 56 173 407 253 175 313 497 412 
-282 5 0 0 8 173 19 148 407 313 85 287 497 
-283 5 0 0 8 175 313 497 412 41 129 360 222 
-284 5 0 0 8 313 85 287 497 129 5 98 360 
-285 5 0 0 8 253 407 254 77 412 497 402 256 
-286 5 0 0 8 407 148 50 254 497 287 151 402 
-287 5 0 0 8 412 497 402 256 222 360 221 68 
-288 5 0 0 8 497 287 151 402 360 98 26 221 
-289 5 0 0 8 31 168 307 109 186 405 498 324 
-290 5 0 0 8 168 55 171 307 405 257 411 498 
-291 5 0 0 8 186 405 498 324 59 255 408 185 
-292 5 0 0 8 405 257 411 498 255 77 252 408 
-293 5 0 0 8 109 307 122 12 324 498 354 126 
-294 5 0 0 8 307 171 38 122 498 411 216 354 
-295 5 0 0 8 324 498 354 126 185 408 218 40 
-296 5 0 0 8 498 411 216 354 408 252 67 218 
-297 5 0 0 8 55 169 309 171 257 404 499 411 
-298 5 0 0 8 169 18 83 309 404 150 288 499 
-299 5 0 0 8 257 404 499 411 77 254 406 252 
-300 5 0 0 8 404 150 288 499 254 50 149 406 
-301 5 0 0 8 171 309 123 38 411 499 355 216 
-302 5 0 0 8 309 83 4 123 499 288 94 355 
-303 5 0 0 8 411 499 355 216 252 406 219 67 
-304 5 0 0 8 499 288 94 355 406 149 24 219 
-305 5 0 0 8 59 255 408 185 187 403 500 325 
-306 5 0 0 8 255 77 252 408 403 256 410 500 
-307 5 0 0 8 187 403 500 325 43 220 359 133 
-308 5 0 0 8 403 256 410 500 220 68 223 359 
-309 5 0 0 8 185 408 218 40 325 500 356 127 
-310 5 0 0 8 408 252 67 218 500 410 217 356 
-311 5 0 0 8 325 500 356 127 133 359 140 16 
-312 5 0 0 8 500 410 217 356 359 223 47 140 
-313 5 0 0 8 77 254 406 252 256 402 501 410 
-314 5 0 0 8 254 50 149 406 402 151 289 501 
-315 5 0 0 8 256 402 501 410 68 221 361 223 
-316 5 0 0 8 402 151 289 501 221 26 99 361 
-317 5 0 0 8 252 406 219 67 410 501 357 217 
-318 5 0 0 8 406 149 24 219 501 289 95 357 
-319 5 0 0 8 410 501 357 217 223 361 141 47 
-320 5 0 0 8 501 289 95 357 361 99 8 141 
-321 5 0 0 8 9 106 318 108 104 314 502 306 
-322 5 0 0 8 106 30 182 318 314 178 401 502 
-323 5 0 0 8 104 314 502 306 29 176 397 170 
-324 5 0 0 8 314 178 401 502 176 57 247 397 
-325 5 0 0 8 108 318 180 31 306 502 393 168 
-326 5 0 0 8 318 182 58 180 502 401 251 393 
-327 5 0 0 8 306 502 393 168 170 397 249 55 
-328 5 0 0 8 502 401 251 393 397 247 78 249 
-329 5 0 0 8 30 107 320 182 178 316 503 401 
-330 5 0 0 8 107 10 114 320 316 112 334 503 
-331 5 0 0 8 178 316 503 401 57 177 395 247 
-332 5 0 0 8 316 112 334 503 177 33 196 395 
-333 5 0 0 8 182 320 181 58 401 503 392 251 
-334 5 0 0 8 320 114 34 181 503 334 198 392 
-335 5 0 0 8 401 503 392 251 247 395 248 78 
-336 5 0 0 8 503 334 198 392 395 196 62 248 
-337 5 0 0 8 29 176 397 170 105 315 504 308 
-338 5 0 0 8 176 57 247 397 315 179 400 504 
-339 5 0 0 8 105 315 504 308 1 80 282 82 
-340 5 0 0 8 315 179 400 504 80 17 146 282 
-341 5 0 0 8 170 397 249 55 308 504 391 169 
-342 5 0 0 8 397 247 78 249 504 400 250 391 
-343 5 0 0 8 308 504 391 169 82 282 144 18 
-344 5 0 0 8 504 400 250 391 282 146 49 144 
-345 5 0 0 8 57 177 395 247 179 317 505 400 
-346 5 0 0 8 177 33 196 395 317 113 335 505 
-347 5 0 0 8 179 317 505 400 17 81 284 146 
-348 5 0 0 8 317 113 335 505 81 2 86 284 
-349 5 0 0 8 247 395 248 78 400 505 390 250 
-350 5 0 0 8 395 196 62 248 505 335 199 390 
-351 5 0 0 8 400 505 390 250 146 284 145 49 
-352 5 0 0 8 505 335 199 390 284 86 20 145 
-353 5 0 0 8 31 180 319 109 168 393 506 307 
-354 5 0 0 8 180 58 183 319 393 251 399 506 
-355 5 0 0 8 168 393 506 307 55 249 396 171 
-356 5 0 0 8 393 251 399 506 249 78 246 396 
-357 5 0 0 8 109 319 124 12 307 506 346 122 
-358 5 0 0 8 319 183 39 124 506 399 208 346 
-359 5 0 0 8 307 506 346 122 171 396 210 38 
-360 5 0 0 8 506 399 208 346 396 246 65 210 
-361 5 0 0 8 58 181 321 183 251 392 507 399 
-362 5 0 0 8 181 34 115 321 392 198 336 507 
-363 5 0 0 8 251 392 507 399 78 248 394 246 
-364 5 0 0 8 392 198 336 507 248 62 197 394 
-365 5 0 0 8 183 321 125 39 399 507 347 208 
-366 5 0 0 8 321 115 11 125 507 336 118 347 
-367 5 0 0 8 399 507 347 208 246 394 211 65 
-368 5 0 0 8 507 336 118 347 394 197 36 211 
-369 5 0 0 8 55 249 396 171 169 391 508 309 
-370 5 0 0 8 249 78 246 396 391 250 398 508 
-371 5 0 0 8 169 391 508 309 18 144 283 83 
-372 5 0 0 8 391 250 398 508 144 49 147 283 
-373 5 0 0 8 171 396 210 38 309 508 348 123 
-374 5 0 0 8 396 246 65 210 508 398 209 348 
-375 5 0 0 8 309 508 348 123 83 283 92 4 
-376 5 0 0 8 508 398 209 348 283 147 23 92 
-377 5 0 0 8 78 248 394 246 250 390 509 398 
-378 5 0 0 8 248 62 197 394 390 199 337 509 
-379 5 0 0 8 250 390 509 398 49 145 285 147 
-380 5 0 0 8 390 199 337 509 145 20 87 285 
-381 5 0 0 8 246 394 211 65 398 509 349 209 
-382 5 0 0 8 394 197 36 211 509 337 119 349 
-383 5 0 0 8 398 509 349 209 147 285 93 23 
-384 5 0 0 8 509 337 119 349 285 87 3 93 
-385 5 0 0 8 13 128 358 132 130 362 510 366 
-386 5 0 0 8 128 41 222 358 362 224 389 510 
-387 5 0 0 8 130 362 510 366 42 226 385 228 
-388 5 0 0 8 362 224 389 510 226 69 241 385 
-389 5 0 0 8 132 358 220 43 366 510 381 230 
-390 5 0 0 8 358 222 68 220 510 389 245 381 
-391 5 0 0 8 366 510 381 230 228 385 243 70 
-392 5 0 0 8 510 389 245 381 385 241 79 243 
-393 5 0 0 8 41 129 360 222 224 363 511 389 
-394 5 0 0 8 129 5 98 360 363 96 302 511 
-395 5 0 0 8 224 363 511 389 69 227 383 241 
-396 5 0 0 8 363 96 302 511 227 25 166 383 
-397 5 0 0 8 222 360 221 68 389 511 380 245 
-398 5 0 0 8 360 98 26 221 511 302 164 380 
-399 5 0 0 8 389 511 380 245 241 383 242 79 
-400 5 0 0 8 511 302 164 380 383 166 54 242 
-401 5 0 0 8 42 226 385 228 131 364 512 367 
-402 5 0 0 8 226 69 241 385 364 225 388 512 
-403 5 0 0 8 131 364 512 367 14 134 370 136 
-404 5 0 0 8 364 225 388 512 134 44 232 370 
-405 5 0 0 8 228 385 243 70 367 512 379 231 
-406 5 0 0 8 385 241 79 243 512 388 244 379 
-407 5 0 0 8 367 512 379 231 136 370 234 45 
-408 5 0 0 8 512 388 244 379 370 232 71 234 
-409 5 0 0 8 69 227 383 241 225 365 513 388 
-410 5 0 0 8 227 25 166 383 365 97 304 513 
-411 5 0 0 8 225 365 513 388 44 135 371 232 
-412 5 0 0 8 365 97 304 513 135 6 100 371 
-413 5 0 0 8 241 383 242 79 388 513 378 244 
-414 5 0 0 8 383 166 54 242 513 304 165 378 
-415 5 0 0 8 388 513 378 244 232 371 235 71 
-416 5 0 0 8 513 304 165 378 371 100 27 235 
-417 5 0 0 8 43 220 359 133 230 381 514 368 
-418 5 0 0 8 220 68 223 359 381 245 387 514 
-419 5 0 0 8 230 381 514 368 70 243 384 229 
-420 5 0 0 8 381 245 387 514 243 79 240 384 
-421 5 0 0 8 133 359 140 16 368 514 374 142 
-422 5 0 0 8 359 223 47 140 514 387 238 374 
-423 5 0 0 8 368 514 374 142 229 384 236 48 
-424 5 0 0 8 514 387 238 374 384 240 72 236 
-425 5 0 0 8 68 221 361 223 245 380 515 387 
-426 5 0 0 8 221 26 99 361 380 164 303 515 
-427 5 0 0 8 245 380 515 387 79 242 382 240 
-428 5 0 0 8 380 164 303 515 242 54 167 382 
-429 5 0 0 8 223 361 141 47 387 515 376 238 
-430 5 0 0 8 361 99 8 141 515 303 102 376 
-431 5 0 0 8 387 515 376 238 240 382 237 72 
-432 5 0 0 8 515 303 102 376 382 167 28 237 
-433 5 0 0 8 70 243 384 229 231 379 516 369 
-434 5 0 0 8 243 79 240 384 379 244 386 516 
-435 5 0 0 8 231 379 516 369 45 234 372 137 
-436 5 0 0 8 379 244 386 516 234 71 233 372 
-437 5 0 0 8 229 384 236 48 369 516 375 143 
-438 5 0 0 8 384 240 72 236 516 386 239 375 
-439 5 0 0 8 369 516 375 143 137 372 138 15 
-440 5 0 0 8 516 386 239 375 372 233 46 138 
-441 5 0 0 8 79 242 382 240 244 378 517 386 
-442 5 0 0 8 242 54 167 382 378 165 305 517 
-443 5 0 0 8 244 378 517 386 71 235 373 233 
-444 5 0 0 8 378 165 305 517 235 27 101 373 
-445 5 0 0 8 240 382 237 72 386 517 377 239 
-446 5 0 0 8 382 167 28 237 517 305 103 377 
-447 5 0 0 8 386 517 377 239 233 373 139 46 
-448 5 0 0 8 517 305 103 377 373 101 7 139 
-$ENDELM
+DEAL::-----------------------------------
+DEAL::Grid has been saved into grid.vtk
+DEAL:: MappingManifold
+DEAL:: Surface area     = 12.5058
+DEAL::  Relative error  = -0.00481934
+DEAL::-----------------------------------
+DEAL::Grid has been saved into grid.vtk
+DEAL:: MappingQ
+DEAL:: Surface area     = 12.5664
+DEAL::  Relative error  = 4.23599e-09
+DEAL::-----------------------------------
index eee9dd2cfe6ee9b9d8ed660b401ced4464feaf23..69ad0492bb8837e78d75e094a37bd3363523aff2 100644 (file)
@@ -1,85 +1,39 @@
-//----------------------------  spherical_manifold_03.cc  ---------------------------
-//    Copyright (C) 2011 - 2015 by the mathLab team.
+// ---------------------------------------------------------------------
 //
-//    This file is subject to LGPL 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.
+// Copyright (C) 2016 by the deal.II authors
 //
-//----------------------------  spherical_manifold_03.cc  ---------------------------
-
+// 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.
+//
+// ---------------------------------------------------------------------
 
-// Test the push_forward and pull_back mechanisms
+// test tangent vectors to SphericalManifold at the poles
 
 #include "../tests.h"
-#include <fstream>
-#include <deal.II/base/logstream.h>
 
-
-// all include files you need here
-#include <deal.II/grid/tria.h>
-#include <deal.II/grid/tria_accessor.h>
-#include <deal.II/grid/tria_iterator.h>
-#include <deal.II/grid/grid_generator.h>
-#include <deal.II/grid/tria_boundary_lib.h>
+#include <deal.II/base/utilities.h>
 #include <deal.II/grid/manifold_lib.h>
-#include <deal.II/grid/grid_out.h>
 
 
-// Helper function
-template <int dim, int spacedim>
-void test(unsigned int ref=1)
+int
+main()
 {
-  deallog << "Testing dim " << dim
-          << ", spacedim " << spacedim << std::endl;
-
-  SphericalManifold<dim,spacedim> manifold;
-
-  Triangulation<dim,spacedim> tria;
-  Point<spacedim> p0;
-  Point<spacedim> p1;
-  p0[0] = .2;
-  p1[0] = 1;
-  p0[1] = .1;
-
-  if (spacedim == 2)
-    {
-      p1[1] = 2*numbers::PI-.1; // theta
-    }
-  else if (spacedim == 3)
-    {
-      p1[1] = numbers::PI-.1;
-      p1[2] = 2*numbers::PI-.1;
-    }
-
-  GridGenerator::hyper_rectangle (tria, p0, p1);
-  tria.refine_global(3);
-
-  const std::vector<Point<spacedim> > &vertices = tria.get_vertices();
-
-  for (unsigned int i=0; i<vertices.size(); ++i)
-    {
-      Point<spacedim> p0 = manifold.push_forward(vertices[i]);
-      Point<spacedim> p1 = manifold.pull_back(p0);
-
-      if (p1.distance(vertices[i]) > 1e-10)
-        deallog << "ERROR! d: " << p1.distance(vertices[i])
-                << " - " << p1 << " != " << vertices[i] << std::endl;
-    }
-
-
-
-}
-
-int main ()
-{
-  std::ofstream logfile("output");
-  deallog.attach(logfile);
-  deallog.threshold_double(1.e-10);
-
-  test<2,2>();
-  test<3,3>();
-
-  return 0;
-}
-
+  initlog();
+
+  const SphericalManifold<3> manifold;
+
+  // get tangent vectors at the south pole of the sphere in direction
+  // of the meridional equator point and a point 90 degrees to the
+  // east or west of that point. this should yield two tangent vectors
+  // that are orthogonal to each other
+  deallog << manifold.get_tangent_vector (Point<3>(0, 0, -1),
+                                          Point<3>(1, 0, 0)) << std::endl
+          << manifold.get_tangent_vector (Point<3>(0, 0, -1),
+                                          Point<3>(0, 1, 0)) << std::endl;
+}
\ No newline at end of file
index 3a2b845998a774e1064ced0e9a338bd6225b2503..fcf71796dec3199ccbd96a784eea63373e8b73da 100644 (file)
@@ -1,3 +1,3 @@
 
-DEAL::Testing dim 2, spacedim 2
-DEAL::Testing dim 3, spacedim 3
+DEAL::1.57080 0.00000 0.00000
+DEAL::0.00000 1.57080 0.00000
index 65b79a5a18cbf62b43cc33c3e5d92ad1a324166e..55ef050c7f8a710861e384bf02793472dbac6238 100644 (file)
@@ -33,7 +33,7 @@ void test()
   std::ostream &out = deallog.get_file_stream();
 
   FunctionManifold<1,1> F("x","x");
-  SphericalManifold<2,2> G;
+  PolarManifold<2,2> G;
 
   TensorProductManifold<2, 1,1,1, 2,2,2> manifold(F, G);
 
index 69d245f4085553e358013012d06a6093bbe33b20..5813f6b7c532fc9df18f895cc93a467f35cb099a 100644 (file)
@@ -32,7 +32,7 @@ void test(unsigned int ref=1)
   deallog << "Testing dim " << dim
           << ", spacedim " << spacedim << std::endl;
 
-  SphericalManifold<dim,spacedim> manifold;
+  PolarManifold<dim,spacedim> manifold;
 
   Triangulation<dim,spacedim> tria;
   GridGenerator::hyper_shell (tria, Point<spacedim>(), .3, .6, 12);
index a98e95a255b7b2522a8be3261834575c42f9db28..7ac83187356db27042fb6f6b14de8ff20038a087 100644 (file)
@@ -32,7 +32,7 @@ void test(unsigned int ref=1)
   deallog << "Testing dim " << dim
           << ", spacedim " << spacedim << std::endl;
 
-  SphericalManifold<dim,spacedim> manifold;
+  PolarManifold<dim,spacedim> manifold;
 
   Triangulation<dim,spacedim> tria;
   GridGenerator::hyper_shell (tria, Point<spacedim>(), .3, .6, 12);
index a98e95a255b7b2522a8be3261834575c42f9db28..7ac83187356db27042fb6f6b14de8ff20038a087 100644 (file)
@@ -32,7 +32,7 @@ void test(unsigned int ref=1)
   deallog << "Testing dim " << dim
           << ", spacedim " << spacedim << std::endl;
 
-  SphericalManifold<dim,spacedim> manifold;
+  PolarManifold<dim,spacedim> manifold;
 
   Triangulation<dim,spacedim> tria;
   GridGenerator::hyper_shell (tria, Point<spacedim>(), .3, .6, 12);

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.