From acdd64182d9377cc5eafc1f74f62f5703067c6eb Mon Sep 17 00:00:00 2001 From: Luca Heltai Date: Tue, 12 Jul 2016 13:26:21 +0200 Subject: [PATCH] SphericalManifold to PolarManifold. Moved the old version of SphericalManifold to PolarManifold, and implemented a new SphericalManifold based on geodesics. --- include/deal.II/grid/manifold_lib.h | 156 ++- source/grid/manifold_lib.cc | 128 +- source/grid/manifold_lib.inst.in | 1 + tests/manifold/composition_manifold_01.cc | 6 +- tests/manifold/composition_manifold_02.cc | 10 +- tests/manifold/composition_manifold_03.cc | 10 +- tests/manifold/composition_manifold_04.cc | 10 +- tests/manifold/polar_manifold_01.cc | 73 ++ tests/manifold/polar_manifold_01.output | 381 ++++++ tests/manifold/polar_manifold_02.cc | 72 + tests/manifold/polar_manifold_02.output | 1147 ++++++++++++++++ tests/manifold/polar_manifold_03.cc | 90 ++ tests/manifold/polar_manifold_03.output | 3 + ...al_manifold_04.cc => polar_manifold_04.cc} | 21 +- ...old_04.output => polar_manifold_04.output} | 0 ...al_manifold_05.cc => polar_manifold_05.cc} | 21 +- ...old_05.output => polar_manifold_05.output} | 0 ...al_manifold_06.cc => polar_manifold_06.cc} | 2 +- ...old_06.output => polar_manifold_06.output} | 0 ...al_manifold_07.cc => polar_manifold_07.cc} | 4 +- ...old_07.output => polar_manifold_07.output} | 0 ...al_manifold_08.cc => polar_manifold_08.cc} | 5 +- ...old_08.output => polar_manifold_08.output} | 0 ...al_manifold_09.cc => polar_manifold_09.cc} | 4 +- ...old_09.output => polar_manifold_09.output} | 0 tests/manifold/spherical_manifold_01.cc | 228 +++- tests/manifold/spherical_manifold_01.output | 459 ++----- tests/manifold/spherical_manifold_02.cc | 193 ++- tests/manifold/spherical_manifold_02.output | 1157 +---------------- tests/manifold/spherical_manifold_03.cc | 104 +- tests/manifold/spherical_manifold_03.output | 4 +- tests/manifold/tensor_product_manifold_02.cc | 2 +- tests/manifold/tria_accessor_point_01.cc | 2 +- tests/manifold/tria_accessor_point_02.cc | 2 +- tests/manifold/tria_accessor_point_03.cc | 2 +- 35 files changed, 2488 insertions(+), 1809 deletions(-) create mode 100644 tests/manifold/polar_manifold_01.cc create mode 100644 tests/manifold/polar_manifold_01.output create mode 100644 tests/manifold/polar_manifold_02.cc create mode 100644 tests/manifold/polar_manifold_02.output create mode 100644 tests/manifold/polar_manifold_03.cc create mode 100644 tests/manifold/polar_manifold_03.output rename tests/manifold/{spherical_manifold_04.cc => polar_manifold_04.cc} (67%) rename tests/manifold/{spherical_manifold_04.output => polar_manifold_04.output} (100%) rename tests/manifold/{spherical_manifold_05.cc => polar_manifold_05.cc} (75%) rename tests/manifold/{spherical_manifold_05.output => polar_manifold_05.output} (100%) rename tests/manifold/{spherical_manifold_06.cc => polar_manifold_06.cc} (96%) rename tests/manifold/{spherical_manifold_06.output => polar_manifold_06.output} (100%) rename tests/manifold/{spherical_manifold_07.cc => polar_manifold_07.cc} (95%) rename tests/manifold/{spherical_manifold_07.output => polar_manifold_07.output} (100%) rename tests/manifold/{spherical_manifold_08.cc => polar_manifold_08.cc} (94%) rename tests/manifold/{spherical_manifold_08.output => polar_manifold_08.output} (100%) rename tests/manifold/{spherical_manifold_09.cc => polar_manifold_09.cc} (97%) rename tests/manifold/{spherical_manifold_09.output => polar_manifold_09.output} (100%) diff --git a/include/deal.II/grid/manifold_lib.h b/include/deal.II/grid/manifold_lib.h index 6be207102a..8ef04fd1b2 100644 --- a/include/deal.II/grid/manifold_lib.h +++ b/include/deal.II/grid/manifold_lib.h @@ -25,37 +25,37 @@ 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, 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 -class SphericalManifold : public ChartManifold +class PolarManifold : public ChartManifold { 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 center = Point()); + PolarManifold(const Point center = Point()); /** * Pull back the given point from the Euclidean space. Will return the polar @@ -84,7 +84,6 @@ public: virtual Point push_forward(const Point &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 &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 - get_new_point(const Quadrature &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, 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 +class SphericalManifold : public Manifold +{ +public: + /** + * The Constructor takes the center of the spherical coordinates. + */ + SphericalManifold(const Point center = Point()); + + /** + * 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 + get_new_point(const Point &p1, + const Point &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 &x1, + const Point &x2) const; + + + /** + * Return a point on the spherical manifold which is intermediate + * with respect to the surrounding points. + */ + virtual + Point + project_to_manifold (const std::vector > &vertices, + const Point &candidate) const; + + /** + * The center of the spherical coordinate system. + */ + const Point center; +}; + + /** * Cylindrical Manifold description. In three dimensions, points are * transformed using a cylindrical coordinate system along the x-, diff --git a/source/grid/manifold_lib.cc b/source/grid/manifold_lib.cc index 1a8e0a4e36..9e73b9c9c1 100644 --- a/source/grid/manifold_lib.cc +++ b/source/grid/manifold_lib.cc @@ -23,17 +23,19 @@ DEAL_II_NAMESPACE_OPEN +// ============================================================ +// PolarManifold +// ============================================================ + template -SphericalManifold::SphericalManifold(const Point center): - ChartManifold(SphericalManifold::get_periodicity()), +PolarManifold::PolarManifold(const Point center): + ChartManifold(PolarManifold::get_periodicity()), center(center) {} - - template Tensor<1,spacedim> -SphericalManifold::get_periodicity() +PolarManifold::get_periodicity() { Tensor<1,spacedim> periodicity; // In two dimensions, theta is periodic. @@ -45,36 +47,9 @@ SphericalManifold::get_periodicity() return periodicity; } - -template -Point -SphericalManifold::get_new_point(const Quadrature &quad) const -{ - if (spacedim == 2) - return ChartManifold::get_new_point(quad); - else - { - double rho_average = 0; - Point mid_point; - for (unsigned int i=0; i R = mid_point-center; - // Scale it to have radius rho_average - R *= rho_average/R.norm(); - // And return it. - return center+R; - } -} - - - template Point -SphericalManifold::push_forward(const Point &spherical_point) const +PolarManifold::push_forward(const Point &spherical_point) const { Assert(spherical_point[0] >=0.0, ExcMessage("Negative radius for given point.")); @@ -105,7 +80,7 @@ SphericalManifold::push_forward(const Point &spherical_p template Point -SphericalManifold::pull_back(const Point &space_point) const +PolarManifold::pull_back(const Point &space_point) const { const Tensor<1,spacedim> R = space_point-center; const double rho = R.norm(); @@ -139,10 +114,9 @@ SphericalManifold::pull_back(const Point &space_point) c return p; } - template DerivativeForm<1,spacedim,spacedim> -SphericalManifold::push_forward_gradient(const Point &spherical_point) const +PolarManifold::push_forward_gradient(const Point &spherical_point) const { Assert(spherical_point[0] >= 0.0, ExcMessage("Negative radius for given point.")); @@ -185,6 +159,88 @@ SphericalManifold::push_forward_gradient(const Point &sp return DX; } +// ============================================================ +// SphericalManifold +// ============================================================ + +template +SphericalManifold::SphericalManifold(const Point center): + center(center) +{} + +template +Point +SphericalManifold:: +get_new_point (const Point &p1, + const Point &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(center + (w*r1+(1-w)*r2)*P); +} + +template +Tensor<1,spacedim> +SphericalManifold:: +get_tangent_vector (const Point &p1, + const Point &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 +Point +SphericalManifold:: +project_to_manifold (const std::vector > &vertices, + const Point &candidate) const +{ + double rho = 0.0; + for (unsigned int i = 0; i; template class SphericalManifold; template class CylindricalManifold; template class FunctionManifold; diff --git a/tests/manifold/composition_manifold_01.cc b/tests/manifold/composition_manifold_01.cc index 433b7291ae..b6bfc236e6 100644 --- a/tests/manifold/composition_manifold_01.cc +++ b/tests/manifold/composition_manifold_01.cc @@ -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 diff --git a/tests/manifold/composition_manifold_02.cc b/tests/manifold/composition_manifold_02.cc index fc96261845..6b91128bab 100644 --- a/tests/manifold/composition_manifold_02.cc +++ b/tests/manifold/composition_manifold_02.cc @@ -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); diff --git a/tests/manifold/composition_manifold_03.cc b/tests/manifold/composition_manifold_03.cc index 08eeef5609..bfbd11361d 100644 --- a/tests/manifold/composition_manifold_03.cc +++ b/tests/manifold/composition_manifold_03.cc @@ -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 constants; constants["k"] = numbers::PI/3; FunctionManifold<2,2,2> G("cos( k)*x -sin( k)*y; sin( k)*x+cos( k)*y", diff --git a/tests/manifold/composition_manifold_04.cc b/tests/manifold/composition_manifold_04.cc index deec2cb00a..a442601691 100644 --- a/tests/manifold/composition_manifold_04.cc +++ b/tests/manifold/composition_manifold_04.cc @@ -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 center; - SphericalManifold S(center); + PolarManifold S(center); FunctionManifold F("x;y", "x;y"); CompositionManifold manifold(S,F); diff --git a/tests/manifold/polar_manifold_01.cc b/tests/manifold/polar_manifold_01.cc new file mode 100644 index 0000000000..d0b67c57fc --- /dev/null +++ b/tests/manifold/polar_manifold_01.cc @@ -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 +#include + + +// all include files you need here +#include +#include +#include +#include +#include +#include +#include + +// Helper function +template +void test(unsigned int ref=1) +{ + deallog << "Testing dim " << dim + << ", spacedim " << spacedim << std::endl; + + PolarManifold manifold; + + Triangulation tria; + GridGenerator::hyper_shell (tria, Point(), .3, .6, 12); + + for (typename Triangulation::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 index 0000000000..defe767cca --- /dev/null +++ b/tests/manifold/polar_manifold_01.output @@ -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 index 0000000000..0f022b135b --- /dev/null +++ b/tests/manifold/polar_manifold_02.cc @@ -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 +#include + + +// all include files you need here +#include +#include +#include +#include +#include +#include +#include + +// Helper function +template +void test(unsigned int ref=1) +{ + PolarManifold manifold; + + Triangulation tria; + GridGenerator::hyper_ball (tria); + + typename Triangulation::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()) < 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 index 0000000000..d2b749e5c8 --- /dev/null +++ b/tests/manifold/polar_manifold_02.output @@ -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 index 0000000000..387430205f --- /dev/null +++ b/tests/manifold/polar_manifold_03.cc @@ -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 +#include + + +// all include files you need here +#include +#include +#include +#include +#include +#include +#include + + +// Helper function +template +void test(unsigned int ref=1) +{ + deallog << "Testing dim " << dim + << ", spacedim " << spacedim << std::endl; + + PolarManifold manifold; + + Triangulation tria; + Point p0; + Point 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 > &vertices = tria.get_vertices(); + + for (unsigned int i=0; i p0 = manifold.push_forward(vertices[i]); + Point 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 index 0000000000..3a2b845998 --- /dev/null +++ b/tests/manifold/polar_manifold_03.output @@ -0,0 +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/polar_manifold_04.cc similarity index 67% rename from tests/manifold/spherical_manifold_04.cc rename to tests/manifold/polar_manifold_04.cc index d577766f5e..477cd7f86d 100644 --- a/tests/manifold/spherical_manifold_04.cc +++ b/tests/manifold/polar_manifold_04.cc @@ -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 void test(unsigned int ref=1) { - SphericalManifold manifold; + PolarManifold manifold; Triangulation volume_tria; Triangulation tria; diff --git a/tests/manifold/spherical_manifold_04.output b/tests/manifold/polar_manifold_04.output similarity index 100% rename from tests/manifold/spherical_manifold_04.output rename to tests/manifold/polar_manifold_04.output diff --git a/tests/manifold/spherical_manifold_05.cc b/tests/manifold/polar_manifold_05.cc similarity index 75% rename from tests/manifold/spherical_manifold_05.cc rename to tests/manifold/polar_manifold_05.cc index e30ee9a260..4252b65a82 100644 --- a/tests/manifold/spherical_manifold_05.cc +++ b/tests/manifold/polar_manifold_05.cc @@ -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 manifold; + PolarManifold manifold; Triangulation tria; GridGenerator::hyper_shell(tria, Point(), .4, .6, 6); typename Triangulation::active_cell_iterator cell; diff --git a/tests/manifold/spherical_manifold_05.output b/tests/manifold/polar_manifold_05.output similarity index 100% rename from tests/manifold/spherical_manifold_05.output rename to tests/manifold/polar_manifold_05.output diff --git a/tests/manifold/spherical_manifold_06.cc b/tests/manifold/polar_manifold_06.cc similarity index 96% rename from tests/manifold/spherical_manifold_06.cc rename to tests/manifold/polar_manifold_06.cc index 19c30b8228..579bfb20ed 100644 --- a/tests/manifold/spherical_manifold_06.cc +++ b/tests/manifold/polar_manifold_06.cc @@ -32,7 +32,7 @@ void test() deallog << "dim=" << dim << ", spacedim=" << spacedim << std::endl; Point center; - static const SphericalManifold manifold(center); + static const PolarManifold manifold(center); // Go from 0,1 to 1,0 Point p0,p1; diff --git a/tests/manifold/spherical_manifold_06.output b/tests/manifold/polar_manifold_06.output similarity index 100% rename from tests/manifold/spherical_manifold_06.output rename to tests/manifold/polar_manifold_06.output diff --git a/tests/manifold/spherical_manifold_07.cc b/tests/manifold/polar_manifold_07.cc similarity index 95% rename from tests/manifold/spherical_manifold_07.cc rename to tests/manifold/polar_manifold_07.cc index 7aff76f3a3..f6bcb5aaf4 100644 --- a/tests/manifold/spherical_manifold_07.cc +++ b/tests/manifold/polar_manifold_07.cc @@ -13,7 +13,7 @@ // // --------------------------------------------------------------------- -// test get_normals_at_vertices for a SphericalManifold. +// test get_normals_at_vertices for a PolarManifold. #include "../tests.h" #include @@ -35,7 +35,7 @@ void test () GridGenerator::hyper_ball(triangulation); - static const SphericalManifold manifold; + static const PolarManifold manifold; triangulation.set_all_manifold_ids_on_boundary(0); triangulation.set_manifold (0, manifold); diff --git a/tests/manifold/spherical_manifold_07.output b/tests/manifold/polar_manifold_07.output similarity index 100% rename from tests/manifold/spherical_manifold_07.output rename to tests/manifold/polar_manifold_07.output diff --git a/tests/manifold/spherical_manifold_08.cc b/tests/manifold/polar_manifold_08.cc similarity index 94% rename from tests/manifold/spherical_manifold_08.cc rename to tests/manifold/polar_manifold_08.cc index e166f72a56..4638a037df 100644 --- a/tests/manifold/spherical_manifold_08.cc +++ b/tests/manifold/polar_manifold_08.cc @@ -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 weights(2); diff --git a/tests/manifold/spherical_manifold_08.output b/tests/manifold/polar_manifold_08.output similarity index 100% rename from tests/manifold/spherical_manifold_08.output rename to tests/manifold/polar_manifold_08.output diff --git a/tests/manifold/spherical_manifold_09.cc b/tests/manifold/polar_manifold_09.cc similarity index 97% rename from tests/manifold/spherical_manifold_09.cc rename to tests/manifold/polar_manifold_09.cc index 19794540bd..7aa7e8e5d2 100644 --- a/tests/manifold/spherical_manifold_09.cc +++ b/tests/manifold/polar_manifold_09.cc @@ -13,7 +13,7 @@ // // --------------------------------------------------------------------- -// Check SphericalManifold on faces. +// Check PolarManifold on faces. #include "../tests.h" @@ -47,7 +47,7 @@ void test() Point center = cell->center(); double radius = center.distance(cell->vertex(0)); - static const SphericalManifold manifold(cell->center()); + static const PolarManifold manifold(cell->center()); triangulation.set_all_manifold_ids(0); triangulation.set_manifold (0, manifold); diff --git a/tests/manifold/spherical_manifold_09.output b/tests/manifold/polar_manifold_09.output similarity index 100% rename from tests/manifold/spherical_manifold_09.output rename to tests/manifold/polar_manifold_09.output diff --git a/tests/manifold/spherical_manifold_01.cc b/tests/manifold/spherical_manifold_01.cc index 0537db00f7..79e4f47caf 100644 --- a/tests/manifold/spherical_manifold_01.cc +++ b/tests/manifold/spherical_manifold_01.cc @@ -1,68 +1,186 @@ -//---------------------------- 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 -#include - -// all include files you need here -#include -#include -#include -#include -#include +#include #include -#include +#include -// Helper function -template -void test(unsigned int ref=1) +int +main() { - deallog << "Testing dim " << dim - << ", spacedim " << spacedim << std::endl; - - SphericalManifold manifold; - - Triangulation tria; - GridGenerator::hyper_shell (tria, Point(), .3, .6, 12); - - for (typename Triangulation::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 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 > points1(3); + std::vector > points2(3); + std::vector > points3(3); + std::vector 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; -} diff --git a/tests/manifold/spherical_manifold_01.output b/tests/manifold/spherical_manifold_01.output index defe767cca..3edec408c0 100644 --- a/tests/manifold/spherical_manifold_01.output +++ b/tests/manifold/spherical_manifold_01.output @@ -1,381 +1,80 @@ -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::================================= diff --git a/tests/manifold/spherical_manifold_02.cc b/tests/manifold/spherical_manifold_02.cc index 78083870fd..84b448c6cd 100644 --- a/tests/manifold/spherical_manifold_02.cc +++ b/tests/manifold/spherical_manifold_02.cc @@ -1,67 +1,184 @@ -//---------------------------- 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 -#include - +#include +#include -// all include files you need here +#include +#include #include -#include #include -#include -#include +#include #include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include -// Helper function -template -void test(unsigned int ref=1) +#include + +using namespace dealii; + +struct MappingEnum +{ + enum type + { + MappingManifold, + MappingQ + }; +}; + +void test (MappingEnum::type mapping_name, unsigned int refinements=1) { - SphericalManifold manifold; + using namespace dealii; - Triangulation tria; - GridGenerator::hyper_ball (tria); + deallog.depth_console (0); - typename Triangulation::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; + switch (mapping_name) + { + case MappingEnum::MappingManifold: + // deallog << " MappingManifold" << std::endl; + mapping = std::unique_ptr >( + new MappingManifold<2,3 >()); + break; + case MappingEnum::MappingQ: + // deallog << " MappingQ" << std::endl; + mapping = std::unique_ptr >( + 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()) < 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 " << 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; } + + diff --git a/tests/manifold/spherical_manifold_02.output b/tests/manifold/spherical_manifold_02.output index d2b749e5c8..9f4fc0c284 100644 --- a/tests/manifold/spherical_manifold_02.output +++ b/tests/manifold/spherical_manifold_02.output @@ -1,1147 +1,12 @@ -$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::----------------------------------- diff --git a/tests/manifold/spherical_manifold_03.cc b/tests/manifold/spherical_manifold_03.cc index eee9dd2cfe..69ad0492bb 100644 --- a/tests/manifold/spherical_manifold_03.cc +++ b/tests/manifold/spherical_manifold_03.cc @@ -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 -#include - -// all include files you need here -#include -#include -#include -#include -#include +#include #include -#include -// Helper function -template -void test(unsigned int ref=1) +int +main() { - deallog << "Testing dim " << dim - << ", spacedim " << spacedim << std::endl; - - SphericalManifold manifold; - - Triangulation tria; - Point p0; - Point 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 > &vertices = tria.get_vertices(); - - for (unsigned int i=0; i p0 = manifold.push_forward(vertices[i]); - Point 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 diff --git a/tests/manifold/spherical_manifold_03.output b/tests/manifold/spherical_manifold_03.output index 3a2b845998..fcf71796de 100644 --- a/tests/manifold/spherical_manifold_03.output +++ b/tests/manifold/spherical_manifold_03.output @@ -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 diff --git a/tests/manifold/tensor_product_manifold_02.cc b/tests/manifold/tensor_product_manifold_02.cc index 65b79a5a18..55ef050c7f 100644 --- a/tests/manifold/tensor_product_manifold_02.cc +++ b/tests/manifold/tensor_product_manifold_02.cc @@ -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); diff --git a/tests/manifold/tria_accessor_point_01.cc b/tests/manifold/tria_accessor_point_01.cc index 69d245f408..5813f6b7c5 100644 --- a/tests/manifold/tria_accessor_point_01.cc +++ b/tests/manifold/tria_accessor_point_01.cc @@ -32,7 +32,7 @@ void test(unsigned int ref=1) deallog << "Testing dim " << dim << ", spacedim " << spacedim << std::endl; - SphericalManifold manifold; + PolarManifold manifold; Triangulation tria; GridGenerator::hyper_shell (tria, Point(), .3, .6, 12); diff --git a/tests/manifold/tria_accessor_point_02.cc b/tests/manifold/tria_accessor_point_02.cc index a98e95a255..7ac8318735 100644 --- a/tests/manifold/tria_accessor_point_02.cc +++ b/tests/manifold/tria_accessor_point_02.cc @@ -32,7 +32,7 @@ void test(unsigned int ref=1) deallog << "Testing dim " << dim << ", spacedim " << spacedim << std::endl; - SphericalManifold manifold; + PolarManifold manifold; Triangulation tria; GridGenerator::hyper_shell (tria, Point(), .3, .6, 12); diff --git a/tests/manifold/tria_accessor_point_03.cc b/tests/manifold/tria_accessor_point_03.cc index a98e95a255..7ac8318735 100644 --- a/tests/manifold/tria_accessor_point_03.cc +++ b/tests/manifold/tria_accessor_point_03.cc @@ -32,7 +32,7 @@ void test(unsigned int ref=1) deallog << "Testing dim " << dim << ", spacedim " << spacedim << std::endl; - SphericalManifold manifold; + PolarManifold manifold; Triangulation tria; GridGenerator::hyper_shell (tria, Point(), .3, .6, 12); -- 2.39.5