]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Added tolerance to FlatManifold
authorLuca Heltai <luca.heltai@gmail.com>
Mon, 4 Aug 2014 08:21:46 +0000 (10:21 +0200)
committerLuca Heltai <luca.heltai@gmail.com>
Wed, 6 Aug 2014 09:20:19 +0000 (11:20 +0200)
Added corner case to test flat_manifold_03

Fixed spherical manifold in 3D. This is a bit of a hack, but I don't knonw how else to do this...

14 files changed:
include/deal.II/grid/manifold.h
include/deal.II/grid/manifold_lib.h
source/grid/manifold.cc
source/grid/manifold_lib.cc
tests/manifold/flat_manifold_03.cc
tests/manifold/flat_manifold_03.output
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/spherical_manifold_04.cc [new file with mode: 0644]
tests/manifold/spherical_manifold_04.output [new file with mode: 0644]

index 2cde5218a61a9768d6f4d818aa527414b8d1a66e..176e10ff2af18916ef07735855b51b21b5a81f0b 100644 (file)
@@ -263,7 +263,8 @@ public:
    * pi, but 2*pi (or zero), since, on a periodic manifold, these two
    * points are at distance 2*eps and not (2*pi-eps). Special cases
    * are taken into account, to ensure that the behavior is always as
-   * expected.
+   * expected. The third argument is used as a tolerance when
+   * computing distances.
    *
    * Periodicity will be intended in the following way: the domain is
    * considered to be the box contained in [Point<spacedim>(),
@@ -273,9 +274,11 @@ public:
    * compute averages is called, an exception will be thrown if one of
    * the points which you are using for the average lies outside the
    * periodicity box. The return points are garanteed to lie in the
-   * perodicity box.
+   * perodicity box plus or minus the tolerance you set as the third
+   * argument.
    */
-  FlatManifold (const Point<spacedim> periodicity=Point<spacedim>());
+  FlatManifold (const Point<spacedim> periodicity=Point<spacedim>(),
+               const double tolerance=1e-10);
 
   /**
    * Let the new point be the average sum of surrounding vertices.
@@ -321,6 +324,17 @@ private:
    * the default value for all directions.
    */
   const Point<spacedim> periodicity;
+
+  /**
+   * Tolerance. This tolerance is used to compute distances in double
+   * precision. Anything below this tolerance is considered zero.
+   */
+  const double tolerance;
+
+  DeclException4(ExcPeriodicBox, int, Point<spacedim>, Point<spacedim>, double,
+                << "The component number " << arg1 << " of the point [ " << arg2 
+                << " ]  is not in the interval [ " << -arg4 
+                << ", " << arg3[arg4] << "), bailing out.");
 };
 
 
index 6a1f7ee63a40a23acd8222ec839a6fb4af3f2e3c..d170e435f2d874e0566bcfd75ec6e4d820c068e1 100644 (file)
@@ -37,6 +37,17 @@ DEAL_II_NAMESPACE_OPEN
  * 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.
+ * 
  * @ingroup manifold
  *
  * @author Luca Heltai, 2014
@@ -49,13 +60,17 @@ public:
    * The Constructor takes the center of the spherical coordinates
    * system. This class uses the pull_back and push_forward mechanism
    * to transform from cartesian to spherical coordinate systems,
-   * taking into account the periodicity of base Manifold.
+   * taking into account the periodicity of base Manifold in two
+   * dimensions, while in three dimensions 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>());
 
   /**
    * Pull back the given point from the Euclidean space. Will return
-   * the polar coordinates associated with the point @p space_point.
+   * the polar coordinates associated with the point @p
+   * space_point. Only used when spacedim = 2.
    */
   virtual Point<spacedim>
   pull_back(const Point<spacedim> &space_point) const;
@@ -63,11 +78,20 @@ public:
   /**
    * Given a point in the spherical coordinate system, this method
    * returns the Euclidean coordinates associated to the polar
-   * coordinates @p chart_point.
+   * coordinates @p chart_point. Only used when spacedim = 3.
    */
   virtual Point<spacedim>
   push_forward(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.
index 6d4dd06c81359fbab34909a71dd86dd8560d05fc..0575eb80d04bc1f970870145677bb6d9a7c31b89 100644 (file)
@@ -306,8 +306,10 @@ get_new_point_on_hex (const typename Triangulation<3, 3>::hex_iterator &hex) con
 
 
 template <int dim, int spacedim>
-FlatManifold<dim,spacedim>::FlatManifold (const Point<spacedim> periodicity) :
-  periodicity(periodicity)
+FlatManifold<dim,spacedim>::FlatManifold (const Point<spacedim> periodicity, 
+                                         const double tolerance) :
+  periodicity(periodicity),
+  tolerance(tolerance)
 {}
 
 template <int dim, int spacedim>
@@ -322,21 +324,22 @@ get_new_point (const Quadrature<spacedim> &quad) const
   double sum=0;
   for(unsigned int i=0; i<weights.size(); ++i)
     sum+= weights[i];
-  Assert(std::abs(sum-1.0) < 1e-10, ExcMessage("Weights should sum to 1!"));
+  Assert(std::abs(sum-1.0) < tolerance, ExcMessage("Weights should sum to 1!"));
 #endif
   
   
   Point<spacedim> p;
   Point<spacedim> dp;
   Point<spacedim> minP = periodicity;
-  bool check_period = (periodicity.norm() != 0);
+  bool check_period = (periodicity.norm() > tolerance);
   if(check_period) 
     for(unsigned int i=0; i<surrounding_points.size(); ++i) 
       for(unsigned int d=0; d<spacedim; ++d) {
        minP[d] = std::min(minP[d], surrounding_points[i][d]);
        if(periodicity[d] > 0)
-         Assert(surrounding_points[i][d] < periodicity[d]+1e-10,
-                ExcMessage("One of the points does not lye into the periodic box! Bailing out."));
+         Assert( (surrounding_points[i][d] < periodicity[d]+tolerance) ||
+                 (surrounding_points[i][d] >= -tolerance), 
+                 ExcPeriodicBox(d, surrounding_points[i], periodicity, tolerance));
       }
   
   for(unsigned int i=0; i<surrounding_points.size(); ++i) {
index d410187425f4c907a3fc4354392bc2fef8252e93..e041d0689900f2a6061656fada6d1cb91038f92b 100644 (file)
@@ -42,6 +42,28 @@ SphericalManifold<dim,spacedim>::get_periodicity()  {
 }
 
 
+template <int dim, int spacedim>
+Point<spacedim>
+SphericalManifold<dim,spacedim>::get_new_point(const Quadrature<spacedim> &quad) const {
+  if(spacedim == 2)
+    return ManifoldChart<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_pont back to the right location 
+    Point<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>
@@ -95,7 +117,9 @@ SphericalManifold<dim,spacedim>::pull_back(const Point<spacedim> &space_point) c
       p[2] = atan2(y,x); // phi
       if(p[2] < 0)
        p[2] += 2*numbers::PI; // phi is periodic
-      p[1] = atan(sqrt(x*x+y*y)/z)+numbers::PI;  // theta
+      p[1] = atan2(sqrt(x*x+y*y),z);  // theta
+      // if(p[1] < 0) 
+      //       p[1] += 2*numbers::PI;
     }
     break;
   default:
index 636a668106e70e6d2ce21d5898fc0761cf97f203..0e73fa933291e49dab270b40a5f5e423dabc1c6f 100644 (file)
@@ -37,7 +37,7 @@ void test(unsigned int ref=1)
   FlatManifold<dim,spacedim> manifold(periodicity);
   
   Quadrature<spacedim> quad;
-  std::vector<std::vector<Point<spacedim> > >ps(8,std::vector<Point<spacedim> >(2));
+  std::vector<std::vector<Point<spacedim> > >ps(10,std::vector<Point<spacedim> >(2));
   Point<spacedim> middle;
   std::vector<double > ws(2, 0.5);
   
@@ -47,24 +47,34 @@ void test(unsigned int ref=1)
   // Case 2: same, with different order
   ps[1][0][0] = 2;
   ps[1][1][0] = 1;
+
   // Case 3: one is close to left, one to right
   ps[2][0][0] = 1;
   ps[2][1][0] = 4;
-  // Case 3: same, opposite order
+  // Case 4: same, opposite order
   ps[3][0][0] = 4;
   ps[3][1][0] = 1;
-  // Case 3: both close to right
+
+  // Case 5: both close to right
   ps[4][0][0] = 3;
   ps[4][1][0] = 4;
-  // Case 3: same, opposite order
+  // Case 6: same, opposite order
   ps[5][0][0] = 4;
   ps[5][1][0] = 3;
-  // Case 3: both close to middle
+
+  // Case 7: both close to middle
   ps[6][0][0] = 2;
   ps[6][1][0] = 3;
-  // Case 3: same, opposite order
+  // Case 8: same, opposite order
   ps[7][0][0] = 3;
   ps[7][1][0] = 2;
+
+  // Case 9: Corner cases
+  ps[8][0][0] = -1e-10;
+  ps[8][1][0] = 5+1e-10;
+  // Case 10: same, opposite order
+  ps[9][0][0] = 5+1e-10;
+  ps[9][1][0] = -1e-10;
   
   for(unsigned int i=0; i<ps.size(); ++i) {
     quad = Quadrature<spacedim>(ps[i],ws);
@@ -79,7 +89,7 @@ int main ()
   std::ofstream logfile("output");
   deallog.attach(logfile);
   deallog.depth_console(0);
-  deallog.threshold_double(1.e-10);
+  deallog.threshold_double(1.e-8);
   
   test<1,1>();
   test<1,2>();
index 2d84eb5c6b35738892a14dce2c5959d81b164af2..5500b3465e79281d00bc8a2327eef288c20e68a5 100644 (file)
@@ -8,6 +8,8 @@ DEAL::P0: 3.00000 , P1: 4.00000 , Middle: 3.50000
 DEAL::P0: 4.00000 , P1: 3.00000 , Middle: 3.50000
 DEAL::P0: 2.00000 , P1: 3.00000 , Middle: 2.50000
 DEAL::P0: 3.00000 , P1: 2.00000 , Middle: 2.50000
+DEAL::P0: -1.00000e-10 , P1: 5.00000 , Middle: 4.13702e-18
+DEAL::P0: 5.00000 , P1: -1.00000e-10 , Middle: 4.13702e-18
 DEAL::Testing dim=1, spacedim=2
 DEAL::P0: 1.00000 0.00000 , P1: 2.00000 0.00000 , Middle: 1.50000 0.00000
 DEAL::P0: 2.00000 0.00000 , P1: 1.00000 0.00000 , Middle: 1.50000 0.00000
@@ -17,6 +19,8 @@ DEAL::P0: 3.00000 0.00000 , P1: 4.00000 0.00000 , Middle: 3.50000 0.00000
 DEAL::P0: 4.00000 0.00000 , P1: 3.00000 0.00000 , Middle: 3.50000 0.00000
 DEAL::P0: 2.00000 0.00000 , P1: 3.00000 0.00000 , Middle: 2.50000 0.00000
 DEAL::P0: 3.00000 0.00000 , P1: 2.00000 0.00000 , Middle: 2.50000 0.00000
+DEAL::P0: -1.00000e-10 0.00000 , P1: 5.00000 0.00000 , Middle: 4.13702e-18 0.00000
+DEAL::P0: 5.00000 0.00000 , P1: -1.00000e-10 0.00000 , Middle: 4.13702e-18 0.00000
 DEAL::Testing dim=2, spacedim=2
 DEAL::P0: 1.00000 0.00000 , P1: 2.00000 0.00000 , Middle: 1.50000 0.00000
 DEAL::P0: 2.00000 0.00000 , P1: 1.00000 0.00000 , Middle: 1.50000 0.00000
@@ -26,6 +30,8 @@ DEAL::P0: 3.00000 0.00000 , P1: 4.00000 0.00000 , Middle: 3.50000 0.00000
 DEAL::P0: 4.00000 0.00000 , P1: 3.00000 0.00000 , Middle: 3.50000 0.00000
 DEAL::P0: 2.00000 0.00000 , P1: 3.00000 0.00000 , Middle: 2.50000 0.00000
 DEAL::P0: 3.00000 0.00000 , P1: 2.00000 0.00000 , Middle: 2.50000 0.00000
+DEAL::P0: -1.00000e-10 0.00000 , P1: 5.00000 0.00000 , Middle: 4.13702e-18 0.00000
+DEAL::P0: 5.00000 0.00000 , P1: -1.00000e-10 0.00000 , Middle: 4.13702e-18 0.00000
 DEAL::Testing dim=2, spacedim=3
 DEAL::P0: 1.00000 0.00000 0.00000 , P1: 2.00000 0.00000 0.00000 , Middle: 1.50000 0.00000 0.00000
 DEAL::P0: 2.00000 0.00000 0.00000 , P1: 1.00000 0.00000 0.00000 , Middle: 1.50000 0.00000 0.00000
@@ -35,6 +41,8 @@ DEAL::P0: 3.00000 0.00000 0.00000 , P1: 4.00000 0.00000 0.00000 , Middle: 3.5000
 DEAL::P0: 4.00000 0.00000 0.00000 , P1: 3.00000 0.00000 0.00000 , Middle: 3.50000 0.00000 0.00000
 DEAL::P0: 2.00000 0.00000 0.00000 , P1: 3.00000 0.00000 0.00000 , Middle: 2.50000 0.00000 0.00000
 DEAL::P0: 3.00000 0.00000 0.00000 , P1: 2.00000 0.00000 0.00000 , Middle: 2.50000 0.00000 0.00000
+DEAL::P0: -1.00000e-10 0.00000 0.00000 , P1: 5.00000 0.00000 0.00000 , Middle: 4.13702e-18 0.00000 0.00000
+DEAL::P0: 5.00000 0.00000 0.00000 , P1: -1.00000e-10 0.00000 0.00000 , Middle: 4.13702e-18 0.00000 0.00000
 DEAL::Testing dim=3, spacedim=3
 DEAL::P0: 1.00000 0.00000 0.00000 , P1: 2.00000 0.00000 0.00000 , Middle: 1.50000 0.00000 0.00000
 DEAL::P0: 2.00000 0.00000 0.00000 , P1: 1.00000 0.00000 0.00000 , Middle: 1.50000 0.00000 0.00000
@@ -44,3 +52,5 @@ DEAL::P0: 3.00000 0.00000 0.00000 , P1: 4.00000 0.00000 0.00000 , Middle: 3.5000
 DEAL::P0: 4.00000 0.00000 0.00000 , P1: 3.00000 0.00000 0.00000 , Middle: 3.50000 0.00000 0.00000
 DEAL::P0: 2.00000 0.00000 0.00000 , P1: 3.00000 0.00000 0.00000 , Middle: 2.50000 0.00000 0.00000
 DEAL::P0: 3.00000 0.00000 0.00000 , P1: 2.00000 0.00000 0.00000 , Middle: 2.50000 0.00000 0.00000
+DEAL::P0: -1.00000e-10 0.00000 0.00000 , P1: 5.00000 0.00000 0.00000 , Middle: 4.13702e-18 0.00000 0.00000
+DEAL::P0: 5.00000 0.00000 0.00000 , P1: -1.00000e-10 0.00000 0.00000 , Middle: 4.13702e-18 0.00000 0.00000
index cf36d3b2351ad21532fb3b81911396b6649bb526..bbed8f87db183d6b3d40747239cda9a7f9e3f017 100644 (file)
@@ -32,25 +32,25 @@ void test(unsigned int ref=1)
   deallog << "Testing dim " << dim 
          << ", spacedim " << spacedim << std::endl;
 
-  SphericalManifold<dim,spacedim> manifold;
+  MINE::SphericalManifold<dim,spacedim> manifold;
   
   Triangulation<dim,spacedim> tria;
-  GridGenerator::hyper_shell (tria, Point<spacedim>(), .3, .6);
+  GridGenerator::hyper_shell (tria, Point<spacedim>(), .3, .6, 12);
 
   for(auto cell = tria.begin_active(); cell != tria.end(); ++cell) {
     cell->set_all_manifold_ids(1);
   }
   
   tria.set_manifold(1, manifold);
-  tria.refine_global(2);
+  tria.refine_global(1);
   
   GridOut gridout;
   gridout.write_msh(tria, deallog.get_file_stream());
 
-  char fname[50];
-  fprints(fname, "mehs_%d_%d.msh", dim, spacedim);
-  std::ofstream of(fname);
-  gridout.write_msh(tria, of);
+  // char fname[50];
+  // sprintf(fname, "mesh_%d_%d.msh", dim, spacedim);
+  // std::ofstream of(fname);
+  // gridout.write_msh(tria, of);
 }
 
 int main ()
index 8b137891791fe96927ad78e64b0aad7bded08bdc..59db6535ab81d023ddb179d30f0489f23347b47a 100644 (file)
@@ -1 +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.264143 -0.109412 -0.0908716
+30  -0.259808 -0.259808 -0.259808
+31  0.264143 -0.109412 -0.0908716
+32  0.109412 -0.264143 -0.0908716
+33  0.127412 -0.0527760 -0.266422
+34  0.259808 -0.259808 -0.259808
+35  -0.264143 0.109412 -0.0908716
+36  -0.109412 0.264143 -0.0908716
+37  -0.259808 0.259808 -0.259808
+38  0.109412 0.264143 -0.0908716
+39  0.259808 0.259808 -0.259808
+40  -0.264143 -0.109412 0.0908716
+41  0.0527760 -0.127412 0.266422
+42  -0.259808 -0.259808 0.259808
+43  0.127412 -0.0527760 0.266422
+44  0.259808 -0.259808 0.259808
+45  -0.259808 0.259808 0.259808
+46  0.109412 0.264143 0.0908716
+47  0.127412 0.0527760 0.266422
+48  0.259808 0.259808 0.259808
+49  -0.264143 0.109412 0.0908716
+50  -0.450000 5.51091e-17 2.75546e-17
+51  0.264143 0.109412 -0.0908716
+52  0.264143 -0.109412 0.0908716
+53  0.264143 0.109412 0.0908716
+54  0.450000 0.00000 2.75546e-17
+55  -0.109412 -0.264143 -0.0908716
+56  -0.109412 -0.264143 0.0908716
+57  0.109412 -0.264143 0.0908716
+58  -8.26637e-17 -0.450000 2.75546e-17
+59  -0.109412 0.264143 0.0908716
+60  2.75546e-17 0.450000 2.75546e-17
+61  0.0527760 -0.127412 -0.266422
+62  0.0527760 0.127412 -0.266422
+63  0.127412 0.0527760 -0.266422
+64  5.51091e-17 0.00000 -0.450000
+65  0.0527760 0.127412 0.266422
+66  0.00000 0.00000 0.450000
+67  -0.528286 -0.218823 -0.181743
+68  0.528286 -0.218823 -0.181743
+69  0.218823 -0.528286 -0.181743
+70  0.254825 -0.105552 -0.532844
+71  -0.528286 0.218823 -0.181743
+72  -0.218823 0.528286 -0.181743
+73  0.218823 0.528286 -0.181743
+74  -0.528286 -0.218823 0.181743
+75  0.105552 -0.254825 0.532844
+76  0.254825 -0.105552 0.532844
+77  0.218823 0.528286 0.181743
+78  0.254825 0.105552 0.532844
+79  -0.528286 0.218823 0.181743
+80  0.528286 0.218823 -0.181743
+81  0.528286 -0.218823 0.181743
+82  0.528286 0.218823 0.181743
+83  -0.218823 -0.528286 -0.181743
+84  -0.218823 -0.528286 0.181743
+85  0.218823 -0.528286 0.181743
+86  -0.218823 0.528286 0.181743
+87  0.105552 -0.254825 -0.532844
+88  0.105552 0.254825 -0.532844
+89  0.254825 0.105552 -0.532844
+90  0.105552 0.254825 0.532844
+91  -0.396214 -0.164117 -0.136307
+92  0.229368 -5.61789e-17 -0.193366
+93  0.396214 -0.164117 -0.136307
+94  0.212132 -0.212132 1.83697e-17
+95  0.0877753 -0.211908 -0.193366
+96  0.191119 -0.0791640 -0.399633
+97  0.164117 -0.396214 -0.136307
+98  -0.396214 0.164117 -0.136307
+99  -0.212132 0.212132 1.83697e-17
+100  -0.164117 0.396214 -0.136307
+101  0.164117 0.396214 -0.136307
+102  0.211908 0.0877753 0.193366
+103  0.0791640 -0.191119 0.399633
+104  -0.396214 -0.164117 0.136307
+105  0.191119 -0.0791640 0.399633
+106  0.164117 0.396214 0.136307
+107  0.0877753 0.211908 0.193366
+108  0.191119 0.0791640 0.399633
+109  -0.396214 0.164117 0.136307
+110  0.396214 0.164117 -0.136307
+111  0.229368 -5.61789e-17 0.193366
+112  0.212132 0.212132 1.83697e-17
+113  0.396214 0.164117 0.136307
+114  0.396214 -0.164117 0.136307
+115  -0.212132 -0.212132 1.83697e-17
+116  0.0877753 -0.211908 0.193366
+117  -0.164117 -0.396214 0.136307
+118  0.164117 -0.396214 0.136307
+119  -0.164117 -0.396214 -0.136307
+120  -0.164117 0.396214 0.136307
+121  0.0791640 -0.191119 -0.399633
+122  0.211908 0.0877753 -0.193366
+123  0.0791640 0.191119 -0.399633
+124  0.0877753 0.211908 -0.193366
+125  0.191119 0.0791640 -0.399633
+126  0.0791640 0.191119 0.399633
+127  0.458736 -1.12358e-16 -0.386732
+128  0.424264 -0.424264 3.67394e-17
+129  0.175551 -0.423816 -0.386732
+130  -0.424264 0.424264 3.67394e-17
+131  0.423816 0.175551 0.386732
+132  0.175551 0.423816 0.386732
+133  0.458736 -1.12358e-16 0.386732
+134  0.424264 0.424264 3.67394e-17
+135  -0.424264 -0.424264 3.67394e-17
+136  0.175551 -0.423816 0.386732
+137  0.423816 0.175551 -0.386732
+138  0.175551 0.423816 -0.386732
+139  -0.318198 -0.318198 -1.72286e-16
+140  0.335064 0.0781260 0.290049
+141  0.131663 -0.317862 0.290049
+142  0.318198 -0.318198 -1.72286e-16
+143  0.344052 -8.42684e-17 0.290049
+144  0.131663 0.317862 0.290049
+145  0.318198 0.318198 2.75546e-17
+146  0.344052 -8.42684e-17 -0.290049
+147  0.131663 0.317862 -0.290049
+148  -0.318198 0.318198 -1.72286e-16
+149  0.335064 0.0781260 -0.290049
+150  0.131663 -0.317862 -0.290049
+$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
index 5b14206afeb33c009f3c705e4d32f5d5f2a6d43d..794b9344633ae23492dbac299c00214d1f8cf1c4 100644 (file)
@@ -50,13 +50,6 @@ void test(unsigned int ref=1)
   
   GridOut gridout;
   gridout.write_msh(tria, deallog.get_file_stream());
-
-
-  char fname[50];
-  fprints(fname, "mehs_%d_%d.msh", dim, spacedim);
-  std::ofstream of(fname);
-  gridout.write_msh(tria, of);
-
 }
 
 int main ()
index 8b137891791fe96927ad78e64b0aad7bded08bdc..d2b749e5c870853b4129c86bb289a5741ffe1f5c 100644 (file)
@@ -1 +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
index 77eeb30e2ce0df287e5bdbace64c37e6c640de9a..615f3567db6ad5832f4f3b1d2a5ec0b235125132 100644 (file)
@@ -25,6 +25,7 @@
 #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)
@@ -37,15 +38,15 @@ void test(unsigned int ref=1)
   Triangulation<dim,spacedim> tria;
   Point<spacedim> p0;
   Point<spacedim> p1;
-  p0[0] = .5;
+  p0[0] = .2;
   p1[0] = 1;
-  
+  p0[1] = .1;
+
   if(spacedim == 2) {
-    p1[1] = 2*numbers::PI-1e-10; // theta
+    p1[1] = 2*numbers::PI-.1; // theta
   } else if(spacedim == 3) {
-    p1[1] = numbers::PI-1e-10;
-    
-    p1[2] = 2*numbers::PI-1e-10;
+    p1[1] = numbers::PI-.1;
+    p1[2] = 2*numbers::PI-.1;
   }
 
   GridGenerator::hyper_rectangle (tria, p0, p1);
@@ -56,7 +57,7 @@ void test(unsigned int ref=1)
   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;
index 8b137891791fe96927ad78e64b0aad7bded08bdc..3a2b845998a774e1064ced0e9a338bd6225b2503 100644 (file)
@@ -1 +1,3 @@
 
+DEAL::Testing dim 2, spacedim 2
+DEAL::Testing dim 3, spacedim 3
diff --git a/tests/manifold/spherical_manifold_04.cc b/tests/manifold/spherical_manifold_04.cc
new file mode 100644 (file)
index 0000000..d024134
--- /dev/null
@@ -0,0 +1,70 @@
+//----------------------------  spherical_manifold_01.cc  ---------------------------
+//    Copyright (C) 2011, 2013 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.
+//
+//----------------------------  spherical_manifold_04.cc  ---------------------------
+
+
+// Test that the flat manifold does what it should on a sphere surface. 
+
+#include "../tests.h"
+
+#include <fstream>
+#include <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>
+#include <deal.II/grid/grid_tools.h>
+
+// Helper function
+template <int dim, int spacedim>
+void test(unsigned int ref=1)
+{
+  SphericalManifold<dim,spacedim> manifold;
+  
+  Triangulation<spacedim, spacedim> volume_tria;
+  Triangulation<dim, spacedim> tria;
+  GridGenerator::hyper_ball (volume_tria);
+  GridTools::extract_boundary_mesh(volume_tria, 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.depth_console(0);
+  deallog.threshold_double(1.e-10);
+  
+  test<1,2>();
+  test<2,3>();
+  
+  return 0;
+}
+
diff --git a/tests/manifold/spherical_manifold_04.output b/tests/manifold/spherical_manifold_04.output
new file mode 100644 (file)
index 0000000..6e4a23d
--- /dev/null
@@ -0,0 +1,239 @@
+
+$NOD
+16
+1  -0.707107 -0.707107 0
+2  0.707107 -0.707107 0
+3  -0.707107 0.707107 0
+4  0.707107 0.707107 0
+5  -1.83697e-16 -1.00000 0
+6  -1.00000 1.22465e-16 0
+7  1.00000 0.00000 0
+8  6.12323e-17 1.00000 0
+9  -0.382683 -0.923880 0
+10  0.382683 -0.923880 0
+11  -0.923880 -0.382683 0
+12  -0.923880 0.382683 0
+13  0.923880 -0.382683 0
+14  0.923880 0.382683 0
+15  -0.382683 0.923880 0
+16  0.382683 0.923880 0
+$ENDNOD
+$ELM
+16
+1 1 0 0 2 1 9 
+2 1 0 0 2 9 5 
+3 1 0 0 2 5 10 
+4 1 0 0 2 10 2 
+5 1 0 0 2 1 11 
+6 1 0 0 2 11 6 
+7 1 0 0 2 6 12 
+8 1 0 0 2 12 3 
+9 1 0 0 2 2 13 
+10 1 0 0 2 13 7 
+11 1 0 0 2 7 14 
+12 1 0 0 2 14 4 
+13 1 0 0 2 3 15 
+14 1 0 0 2 15 8 
+15 1 0 0 2 8 16 
+16 1 0 0 2 16 4 
+$ENDELM
+$NOD
+98
+1  -0.577350 -0.577350 -0.577350
+2  0.577350 -0.577350 -0.577350
+3  -0.577350 0.577350 -0.577350
+4  0.577350 0.577350 -0.577350
+5  0.577350 -0.577350 0.577350
+6  0.577350 0.577350 0.577350
+7  -0.577350 -0.577350 0.577350
+8  -0.577350 0.577350 0.577350
+9  0.00000 -0.707107 -0.707107
+10  -0.707107 0.00000 -0.707107
+11  -0.707107 -0.707107 0.00000
+12  0.707107 0.00000 -0.707107
+13  0.707107 -0.707107 0.00000
+14  0.00000 0.707107 -0.707107
+15  -0.707107 0.707107 0.00000
+16  0.707107 0.707107 0.00000
+17  0.707107 0.00000 0.707107
+18  0.00000 -0.707107 0.707107
+19  -0.707107 0.00000 0.707107
+20  0.00000 0.707107 0.707107
+21  0.00000 0.00000 -1.00000
+22  1.00000 0.00000 0.00000
+23  0.00000 0.00000 1.00000
+24  -1.00000 0.00000 0.00000
+25  0.00000 -1.00000 0.00000
+26  0.00000 1.00000 0.00000
+27  -0.302905 -0.673887 -0.673887
+28  0.302905 -0.673887 -0.673887
+29  -0.673887 -0.302905 -0.673887
+30  -0.673887 0.302905 -0.673887
+31  -0.673887 -0.673887 -0.302905
+32  -0.673887 -0.673887 0.302905
+33  0.673887 -0.302905 -0.673887
+34  0.673887 0.302905 -0.673887
+35  0.673887 -0.673887 -0.302905
+36  0.673887 -0.673887 0.302905
+37  -0.302905 0.673887 -0.673887
+38  0.302905 0.673887 -0.673887
+39  -0.673887 0.673887 -0.302905
+40  -0.673887 0.673887 0.302905
+41  0.673887 0.673887 -0.302905
+42  0.673887 0.673887 0.302905
+43  0.673887 -0.302905 0.673887
+44  0.673887 0.302905 0.673887
+45  -0.302905 -0.673887 0.673887
+46  0.302905 -0.673887 0.673887
+47  -0.673887 -0.302905 0.673887
+48  -0.673887 0.302905 0.673887
+49  -0.302905 0.673887 0.673887
+50  0.302905 0.673887 0.673887
+51  0.00000 -0.382683 -0.923880
+52  0.00000 0.382683 -0.923880
+53  -0.382683 0.00000 -0.923880
+54  0.382683 0.00000 -0.923880
+55  0.923880 -0.382683 0.00000
+56  0.923880 0.382683 0.00000
+57  0.923880 0.00000 -0.382683
+58  0.923880 0.00000 0.382683
+59  -0.382683 0.00000 0.923880
+60  0.382683 0.00000 0.923880
+61  0.00000 -0.382683 0.923880
+62  0.00000 0.382683 0.923880
+63  -0.923880 0.00000 -0.382683
+64  -0.923880 0.00000 0.382683
+65  -0.923880 -0.382683 0.00000
+66  -0.923880 0.382683 0.00000
+67  -0.382683 -0.923880 0.00000
+68  0.382683 -0.923880 0.00000
+69  0.00000 -0.923880 -0.382683
+70  0.00000 -0.923880 0.382683
+71  0.00000 0.923880 -0.382683
+72  0.00000 0.923880 0.382683
+73  -0.382683 0.923880 0.00000
+74  0.382683 0.923880 0.00000
+75  -0.365731 -0.365731 -0.855851
+76  0.365731 -0.365731 -0.855851
+77  -0.365731 0.365731 -0.855851
+78  0.365731 0.365731 -0.855851
+79  0.855851 -0.365731 -0.365731
+80  0.855851 -0.365731 0.365731
+81  0.855851 0.365731 -0.365731
+82  0.855851 0.365731 0.365731
+83  -0.365731 -0.365731 0.855851
+84  -0.365731 0.365731 0.855851
+85  0.365731 -0.365731 0.855851
+86  0.365731 0.365731 0.855851
+87  -0.855851 -0.365731 -0.365731
+88  -0.855851 0.365731 -0.365731
+89  -0.855851 -0.365731 0.365731
+90  -0.855851 0.365731 0.365731
+91  -0.365731 -0.855851 -0.365731
+92  -0.365731 -0.855851 0.365731
+93  0.365731 -0.855851 -0.365731
+94  0.365731 -0.855851 0.365731
+95  -0.365731 0.855851 -0.365731
+96  0.365731 0.855851 -0.365731
+97  -0.365731 0.855851 0.365731
+98  0.365731 0.855851 0.365731
+$ENDNOD
+$ELM
+96
+1 3 0 0 4 1 27 75 29 
+2 3 0 0 4 27 9 51 75 
+3 3 0 0 4 29 75 53 10 
+4 3 0 0 4 75 51 21 53 
+5 3 0 0 4 9 28 76 51 
+6 3 0 0 4 28 2 33 76 
+7 3 0 0 4 51 76 54 21 
+8 3 0 0 4 76 33 12 54 
+9 3 0 0 4 10 53 77 30 
+10 3 0 0 4 53 21 52 77 
+11 3 0 0 4 30 77 37 3 
+12 3 0 0 4 77 52 14 37 
+13 3 0 0 4 21 54 78 52 
+14 3 0 0 4 54 12 34 78 
+15 3 0 0 4 52 78 38 14 
+16 3 0 0 4 78 34 4 38 
+17 3 0 0 4 2 35 79 33 
+18 3 0 0 4 35 13 55 79 
+19 3 0 0 4 33 79 57 12 
+20 3 0 0 4 79 55 22 57 
+21 3 0 0 4 13 36 80 55 
+22 3 0 0 4 36 5 43 80 
+23 3 0 0 4 55 80 58 22 
+24 3 0 0 4 80 43 17 58 
+25 3 0 0 4 12 57 81 34 
+26 3 0 0 4 57 22 56 81 
+27 3 0 0 4 34 81 41 4 
+28 3 0 0 4 81 56 16 41 
+29 3 0 0 4 22 58 82 56 
+30 3 0 0 4 58 17 44 82 
+31 3 0 0 4 56 82 42 16 
+32 3 0 0 4 82 44 6 42 
+33 3 0 0 4 7 47 83 45 
+34 3 0 0 4 47 19 59 83 
+35 3 0 0 4 45 83 61 18 
+36 3 0 0 4 83 59 23 61 
+37 3 0 0 4 19 48 84 59 
+38 3 0 0 4 48 8 49 84 
+39 3 0 0 4 59 84 62 23 
+40 3 0 0 4 84 49 20 62 
+41 3 0 0 4 18 61 85 46 
+42 3 0 0 4 61 23 60 85 
+43 3 0 0 4 46 85 43 5 
+44 3 0 0 4 85 60 17 43 
+45 3 0 0 4 23 62 86 60 
+46 3 0 0 4 62 20 50 86 
+47 3 0 0 4 60 86 44 17 
+48 3 0 0 4 86 50 6 44 
+49 3 0 0 4 1 29 87 31 
+50 3 0 0 4 29 10 63 87 
+51 3 0 0 4 31 87 65 11 
+52 3 0 0 4 87 63 24 65 
+53 3 0 0 4 10 30 88 63 
+54 3 0 0 4 30 3 39 88 
+55 3 0 0 4 63 88 66 24 
+56 3 0 0 4 88 39 15 66 
+57 3 0 0 4 11 65 89 32 
+58 3 0 0 4 65 24 64 89 
+59 3 0 0 4 32 89 47 7 
+60 3 0 0 4 89 64 19 47 
+61 3 0 0 4 24 66 90 64 
+62 3 0 0 4 66 15 40 90 
+63 3 0 0 4 64 90 48 19 
+64 3 0 0 4 90 40 8 48 
+65 3 0 0 4 1 31 91 27 
+66 3 0 0 4 31 11 67 91 
+67 3 0 0 4 27 91 69 9 
+68 3 0 0 4 91 67 25 69 
+69 3 0 0 4 11 32 92 67 
+70 3 0 0 4 32 7 45 92 
+71 3 0 0 4 67 92 70 25 
+72 3 0 0 4 92 45 18 70 
+73 3 0 0 4 9 69 93 28 
+74 3 0 0 4 69 25 68 93 
+75 3 0 0 4 28 93 35 2 
+76 3 0 0 4 93 68 13 35 
+77 3 0 0 4 25 70 94 68 
+78 3 0 0 4 70 18 46 94 
+79 3 0 0 4 68 94 36 13 
+80 3 0 0 4 94 46 5 36 
+81 3 0 0 4 3 37 95 39 
+82 3 0 0 4 37 14 71 95 
+83 3 0 0 4 39 95 73 15 
+84 3 0 0 4 95 71 26 73 
+85 3 0 0 4 14 38 96 71 
+86 3 0 0 4 38 4 41 96 
+87 3 0 0 4 71 96 74 26 
+88 3 0 0 4 96 41 16 74 
+89 3 0 0 4 15 73 97 40 
+90 3 0 0 4 73 26 72 97 
+91 3 0 0 4 40 97 49 8 
+92 3 0 0 4 97 72 20 49 
+93 3 0 0 4 26 74 98 72 
+94 3 0 0 4 74 16 42 98 
+95 3 0 0 4 72 98 50 20 
+96 3 0 0 4 98 42 6 50 
+$ENDELM

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.