From: Luca Heltai Date: Tue, 26 Aug 2014 10:25:10 +0000 (+0200) Subject: Added TriaAccessor::point function, which returns points on the manifold given their... X-Git-Tag: v8.2.0-rc1~153^2~2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ac3048e7f8dce39e49c39f3d3bcd8b50f94cd076;p=dealii.git Added TriaAccessor::point function, which returns points on the manifold given their unit coordinates. Simplified Manifolds::get_default_quadrature. --- diff --git a/doc/news/changes.h b/doc/news/changes.h index b5cadb98a3..1dbfb4ad74 100644 --- a/doc/news/changes.h +++ b/doc/news/changes.h @@ -97,11 +97,22 @@ inconvenience this causes.
    + +
  1. New: Added two optional parameters to TriaAccessor::center() + and a new method TriaAccessor::point(). They allow to query for a + geometrically coherent center, or ask for arbitrary points on the + underlying Manifold, given the dim coordinates in the reference + element. +
    + (Luca Heltai, 2014/09/12) + +
  2. New: The new tutorial program step-52 explains how to use the new time stepping methods.
    (Bruno Turcksin, Damien Lebrun-Grandie, 2014/09/12) +
  3. New: The new tutorial program step-53 explains how to deal with complicated geometries.
    diff --git a/include/deal.II/grid/manifold.h b/include/deal.II/grid/manifold.h index 02dd9db50d..bfb6635477 100644 --- a/include/deal.II/grid/manifold.h +++ b/include/deal.II/grid/manifold.h @@ -38,15 +38,6 @@ template class Triangulation; */ namespace Manifolds { - /** - * Given a hex iterator, construct a quadrature with the Laplace - * weigths, and all relevant points of the hex: vertices, line - * centers and face centers, which can be called when creating - * middle vertices in the manifold routines. - */ - Quadrature<3> - get_default_quadrature(const TriaIterator > &hex); - /** * Given a general mesh iterator, construct a quadrature with the * Laplace weights or with uniform weights according the parameter @@ -54,8 +45,8 @@ namespace Manifolds * vertices, line centers and/or face centers, which can be called * when creating new vertices in the manifold routines. */ - template - Quadrature + template + Quadrature get_default_quadrature(const OBJECT &obj, bool with_laplace = false); } @@ -527,20 +518,21 @@ get_new_point_on_hex (const Triangulation<3,3>::hex_iterator &) const; namespace Manifolds { - template - Quadrature + template + Quadrature get_default_quadrature(const OBJECT &obj, bool with_laplace) { + const int spacedim = OBJECT::AccessorType::space_dimension; + const int dim = OBJECT::AccessorType::structure_dimension; + std::vector > sp; std::vector wp; - const int dim = OBJECT::AccessorType::structure_dimension; // note that the exact weights are chosen such as to minimize the // distortion of the four new quads from the optimal shape; their // derivation and values is copied over from the // @p{MappingQ::set_laplace_on_vector} function - AssertDimension(spacedim, OBJECT::AccessorType::space_dimension); switch (dim) { case 1: @@ -554,23 +546,15 @@ namespace Manifolds case 2: sp.resize(8); wp.resize(8); - sp[0] = obj->vertex(0); - sp[1] = obj->vertex(1); - sp[2] = obj->vertex(2); - sp[3] = obj->vertex(3); - - sp[4] = obj->line(0)->has_children() ? - obj->line(0)->child(0)->vertex(1) : - obj->line(0)->get_manifold().get_new_point_on_line(obj->line(0)); - sp[5] = obj->line(1)->has_children() ? - obj->line(1)->child(0)->vertex(1) : - obj->line(1)->get_manifold().get_new_point_on_line(obj->line(1)); - sp[6] = obj->line(2)->has_children() ? - obj->line(2)->child(0)->vertex(1) : - obj->line(2)->get_manifold().get_new_point_on_line(obj->line(2)); - sp[7] = obj->line(3)->has_children() ? - obj->line(3)->child(0)->vertex(1) : - obj->line(3)->get_manifold().get_new_point_on_line(obj->line(3)); + + for (unsigned int i=0; i<4; ++i) + { + sp[i] = obj->vertex(i); + sp[4+i] = ( obj->line(i)->has_children() ? + obj->line(i)->child(0)->vertex(1) : + obj->line(i)->get_manifold().get_new_point_on_line(obj->line(i)) ); + } + if (with_laplace) { std::fill(wp.begin(), wp.begin()+4, 1.0/16.0); @@ -579,6 +563,49 @@ namespace Manifolds else std::fill(wp.begin(), wp.end(), 1.0/8.0); break; + case 3: + { + TriaIterator > hex + = static_cast > >(obj); + const unsigned int np = + GeometryInfo::vertices_per_cell+ + GeometryInfo::lines_per_cell+ + GeometryInfo::faces_per_cell; + sp.resize(np); + wp.resize(np); + std::vector > *sp3 = reinterpret_cast > *>(&sp); + + unsigned int j=0; + + // note that the exact weights are chosen such as to minimize the + // distortion of the eight new hexes from the optimal shape; their + // derivation and values is copied over from the + // @p{MappingQ::set_laplace_on_vector} function + for (unsigned int i=0; i::vertices_per_cell; ++i, ++j) + { + (*sp3)[j] = hex->vertex(i); + wp[j] = 1.0/128.0; + } + for (unsigned int i=0; i::lines_per_cell; ++i, ++j) + { + (*sp3)[j] = (hex->line(i)->has_children() ? + hex->line(i)->child(0)->vertex(1) : + hex->line(i)->get_manifold().get_new_point_on_line(hex->line(i))); + wp[j] = 7.0/192.0; + } + for (unsigned int i=0; i::faces_per_cell; ++i, ++j) + { + (*sp3)[j] = (hex->quad(i)->has_children() ? + hex->quad(i)->isotropic_child(0)->vertex(3) : + hex->quad(i)->get_manifold().get_new_point_on_quad(hex->quad(i))); + wp[j] = 1.0/12.0; + } + // Overwrited the weights with 1/np if we don't want to use + // laplace vectors. + if (with_laplace == false) + std::fill(wp.begin(), wp.end(), 1.0/np); + } + break; default: Assert(false, ExcInternalError()); break; diff --git a/include/deal.II/grid/tria_accessor.h b/include/deal.II/grid/tria_accessor.h index 6aea7debe7..b5433347b4 100644 --- a/include/deal.II/grid/tria_accessor.h +++ b/include/deal.II/grid/tria_accessor.h @@ -1539,18 +1539,35 @@ public: double minimum_vertex_distance () const; /** - * Center of the object. The center of an - * object is defined to be the average of - * the locations of the vertices, which - * is also where the (dim-)linear mapping - * places the midpoint of the unit cell - * in real space. However, this may not - * be the barycenter of the object and it - * may also not be the true center of an - * object if higher order mappings are - * used. - */ - Point center () const; + * Returns a point belonging to the Manifold where + * this object lives, given its parametric coordinates on the + * reference #strucdim cell. This function queries the underlying + * manifold object, and can be used to obtain the exact geometrical + * location of arbitrary points on this object. + */ + Point point(const Point &coordinates) const; + + /** + * Center of the object. The center of an object is defined to be + * the average of the locations of the vertices. If required, the + * user may ask this function to return the average of the point + * according to the underlyinging Manifold object, by setting to + * true the optional parameter @p respect_manifold. + * + * When the geometry of a TriaAccessor is not flat, or when part of + * the bounding objects of this TriaAccessor are not flat, the + * result given by the TriaAccessor::center() function may not be + * accurate enough, even when parameter @p respect_manifold is set + * to true. If you find this to be case, than you can further refine + * the computation of the center by setting to true the second + * additional parameter @p use_laplace_transformation, which will + * force this function to compute the center performing a Laplace + * transformation on all bounding support points. The Laplace + * transformation is computed similarly to what happens in + * @p{MappingQ::set_laplace_on_vector}. + */ + Point center (const bool respect_manifold=false, + const bool use_laplace_transformation=false) const; /** * Barycenter of the object. diff --git a/include/deal.II/grid/tria_accessor.templates.h b/include/deal.II/grid/tria_accessor.templates.h index 842bd16337..aad3196b53 100644 --- a/include/deal.II/grid/tria_accessor.templates.h +++ b/include/deal.II/grid/tria_accessor.templates.h @@ -2060,18 +2060,6 @@ TriaAccessor::minimum_vertex_distance () const } - -template -Point -TriaAccessor::center () const -{ - Point p; - for (unsigned int v=0; v::vertices_per_cell; ++v) - p += vertex(v); - return p/GeometryInfo::vertices_per_cell; -} - - template bool TriaAccessor:: diff --git a/source/grid/manifold.cc b/source/grid/manifold.cc index 2835521035..28b156c3d7 100644 --- a/source/grid/manifold.cc +++ b/source/grid/manifold.cc @@ -24,52 +24,6 @@ DEAL_II_NAMESPACE_OPEN -namespace Manifolds -{ - - Quadrature<3> - get_default_quadrature(const TriaIterator > &obj) - { - std::vector > sp; - std::vector wp; - - const int dim = 3; - - const unsigned int np = - GeometryInfo::vertices_per_cell+ - GeometryInfo::lines_per_cell+ - GeometryInfo::faces_per_cell; - - sp.resize(np); - wp.resize(np); - unsigned int j=0; - - // note that the exact weights are chosen such as to minimize the - // distortion of the eight new hexes from the optimal shape; their - // derivation and values is copied over from the - // @p{MappingQ::set_laplace_on_vector} function - for (unsigned int i=0; i::vertices_per_cell; ++i, ++j) - { - sp[j] = obj->vertex(i); - wp[j] = 1.0/128.0; - } - for (unsigned int i=0; i::lines_per_cell; ++i, ++j) - { - sp[j] = (obj->line(i)->has_children() ? obj->line(i)->child(0)->vertex(1) : - obj->line(i)->get_manifold().get_new_point_on_line(obj->line(i))); - wp[j] = 7.0/192.0; - } - for (unsigned int i=0; i::faces_per_cell; ++i, ++j) - { - sp[j] = (obj->face(i)->has_children() ? obj->face(i)->isotropic_child(0)->vertex(3) : - obj->face(i)->get_manifold().get_new_point_on_face(obj->face(i))); - wp[j] = 1.0/12.0; - } - return Quadrature<3>(sp,wp); - } - -} - using namespace Manifolds; /* -------------------------- Manifold --------------------- */ @@ -121,9 +75,7 @@ Point Manifold:: get_new_point_on_line (const typename Triangulation::line_iterator &line) const { - return get_new_point - (get_default_quadrature::line_iterator, - spacedim>(line, false)); + return get_new_point (get_default_quadrature(line)); } @@ -133,9 +85,7 @@ Point Manifold:: get_new_point_on_quad (const typename Triangulation::quad_iterator &quad) const { - return get_new_point - (get_default_quadrature::quad_iterator, - spacedim>(quad, false)); + return get_new_point (get_default_quadrature(quad)); } @@ -251,7 +201,7 @@ Point<3> Manifold<3,3>:: get_new_point_on_hex (const Triangulation<3, 3>::hex_iterator &hex) const { - return get_new_point(get_default_quadrature(hex)); + return get_new_point(get_default_quadrature(hex, true)); } diff --git a/source/grid/manifold_lib.cc b/source/grid/manifold_lib.cc index e9a0e9c2d1..a10024d89c 100644 --- a/source/grid/manifold_lib.cc +++ b/source/grid/manifold_lib.cc @@ -28,9 +28,7 @@ template SphericalManifold::SphericalManifold(const Point center): ChartManifold(SphericalManifold::get_periodicity()), center(center) -{ - Assert(spacedim != 1, ExcImpossibleInDim(1)); -} +{} diff --git a/source/grid/manifold_lib.inst.in b/source/grid/manifold_lib.inst.in index 00a6d200c0..7825aa6764 100644 --- a/source/grid/manifold_lib.inst.in +++ b/source/grid/manifold_lib.inst.in @@ -17,7 +17,7 @@ for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS) { -#if deal_II_space_dimension > 1 && deal_II_dimension <= deal_II_space_dimension +#if deal_II_dimension <= deal_II_space_dimension template class SphericalManifold; #endif #if deal_II_dimension <= deal_II_space_dimension diff --git a/source/grid/tria_accessor.cc b/source/grid/tria_accessor.cc index 4e197f3bf1..2e86b69cd4 100644 --- a/source/grid/tria_accessor.cc +++ b/source/grid/tria_accessor.cc @@ -21,14 +21,16 @@ #include #include #include +#include #include +#include #include +#include #include DEAL_II_NAMESPACE_OPEN - // anonymous namespace for helper functions namespace { @@ -1019,6 +1021,27 @@ namespace Assert (false, ExcNotImplemented()); return std::numeric_limits::quiet_NaN(); } + + template + Point get_new_point_on_obj(const TriaAccessor<1, dim, spacedim> &obj) + { + TriaIterator > it(obj); + return obj.get_manifold().get_new_point_on_line(it); + } + + template + Point get_new_point_on_obj(const TriaAccessor<2, dim, spacedim> &obj) + { + TriaIterator > it(obj); + return obj.get_manifold().get_new_point_on_quad(it); + } + + template + Point get_new_point_on_obj(const TriaAccessor<3, dim, spacedim> &obj) + { + TriaIterator > it(obj); + return obj.get_manifold().get_new_point_on_hex(it); + } } @@ -1161,6 +1184,51 @@ set_all_manifold_ids (const types::manifold_id manifold_ind) const } +template +Point +TriaAccessor::point (const Point &coordinates) const +{ + // We use an FE_Q(1) to extract the "weights" of each + // vertex, used to get a point from the manifold. + static FE_Q fe(1); + + // Surrounding points and weights. + std::vector > p(GeometryInfo::vertices_per_cell); + std::vector w(GeometryInfo::vertices_per_cell); + + for (unsigned int i=0; i::vertices_per_cell; ++i) + { + p[i] = this->vertex(i); + w[i] = fe.shape_value(i, coordinates); + } + + Quadrature quadrature(p, w); + return this->get_manifold().get_new_point(quadrature); +} + + +template +Point +TriaAccessor::center (const bool respect_manifold, + const bool use_laplace) const +{ + if (respect_manifold == false) + { + Assert(use_laplace == false, ExcNotImplemented()); + Point p; + for (unsigned int v=0; v::vertices_per_cell; ++v) + p += vertex(v); + return p/GeometryInfo::vertices_per_cell; + } + else + { + TriaRawIterator > it(*this); + Quadrature quadrature = Manifolds::get_default_quadrature(it, use_laplace); + return this->get_manifold().get_new_point(quadrature); + } +} + + /*------------------------ Functions: CellAccessor<1> -----------------------*/ diff --git a/tests/manifold/tria_accessor_point_01.cc b/tests/manifold/tria_accessor_point_01.cc new file mode 100644 index 0000000000..0742e07bed --- /dev/null +++ b/tests/manifold/tria_accessor_point_01.cc @@ -0,0 +1,68 @@ +//---------------------------- spherical_manifold_01.cc --------------------------- +// Copyright (C) 2011, 2013, 2014 by the mathLab team. +// +// This file is subject to LGPL and may not be distributed +// without copyright and license information. Please refer +// to the file deal.II/doc/license.html for the text and +// further information on this license. +// +//---------------------------- spherical_manifold_01.cc --------------------------- + + +// 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; + + 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); + + for(typename Triangulation::active_cell_iterator cell = tria.begin_active(); cell != tria.end(); ++cell) { + for(unsigned int f=0;f::faces_per_cell; ++f) + if(cell->face(f)->at_boundary()) + deallog << "Center: " << cell->face(f)->center(true) + << ", Norm: " << cell->face(f)->center(true).norm() << std::endl; + } + +} + +int main () +{ + std::ofstream logfile("output"); + deallog.attach(logfile); + deallog.depth_console(0); + deallog.threshold_double(1.e-10); + + test<2,2>(); + test<3,3>(); + + return 0; +} + diff --git a/tests/manifold/tria_accessor_point_01.output b/tests/manifold/tria_accessor_point_01.output new file mode 100644 index 0000000000..627da2c011 --- /dev/null +++ b/tests/manifold/tria_accessor_point_01.output @@ -0,0 +1,147 @@ + +DEAL::Testing dim 2, spacedim 2 +DEAL::Center: 0.594867 0.0783157, Norm: 0.600000 +DEAL::Center: 0.554328 0.229610, Norm: 0.600000 +DEAL::Center: 0.297433 0.0391579, Norm: 0.300000 +DEAL::Center: 0.277164 0.114805, Norm: 0.300000 +DEAL::Center: 0.476012 0.365257, Norm: 0.600000 +DEAL::Center: 0.365257 0.476012, Norm: 0.600000 +DEAL::Center: 0.238006 0.182628, Norm: 0.300000 +DEAL::Center: 0.182628 0.238006, Norm: 0.300000 +DEAL::Center: 0.229610 0.554328, Norm: 0.600000 +DEAL::Center: 0.0783157 0.594867, Norm: 0.600000 +DEAL::Center: 0.114805 0.277164, Norm: 0.300000 +DEAL::Center: 0.0391579 0.297433, Norm: 0.300000 +DEAL::Center: -0.0783157 0.594867, Norm: 0.600000 +DEAL::Center: -0.229610 0.554328, Norm: 0.600000 +DEAL::Center: -0.0391579 0.297433, Norm: 0.300000 +DEAL::Center: -0.114805 0.277164, Norm: 0.300000 +DEAL::Center: -0.365257 0.476012, Norm: 0.600000 +DEAL::Center: -0.476012 0.365257, Norm: 0.600000 +DEAL::Center: -0.182628 0.238006, Norm: 0.300000 +DEAL::Center: -0.238006 0.182628, Norm: 0.300000 +DEAL::Center: -0.554328 0.229610, Norm: 0.600000 +DEAL::Center: -0.594867 0.0783157, Norm: 0.600000 +DEAL::Center: -0.277164 0.114805, Norm: 0.300000 +DEAL::Center: -0.297433 0.0391579, Norm: 0.300000 +DEAL::Center: -0.594867 -0.0783157, Norm: 0.600000 +DEAL::Center: -0.554328 -0.229610, Norm: 0.600000 +DEAL::Center: -0.297433 -0.0391579, Norm: 0.300000 +DEAL::Center: -0.277164 -0.114805, Norm: 0.300000 +DEAL::Center: -0.476012 -0.365257, Norm: 0.600000 +DEAL::Center: -0.365257 -0.476012, Norm: 0.600000 +DEAL::Center: -0.238006 -0.182628, Norm: 0.300000 +DEAL::Center: -0.182628 -0.238006, Norm: 0.300000 +DEAL::Center: -0.229610 -0.554328, Norm: 0.600000 +DEAL::Center: -0.0783157 -0.594867, Norm: 0.600000 +DEAL::Center: -0.114805 -0.277164, Norm: 0.300000 +DEAL::Center: -0.0391579 -0.297433, Norm: 0.300000 +DEAL::Center: 0.0783157 -0.594867, Norm: 0.600000 +DEAL::Center: 0.229610 -0.554328, Norm: 0.600000 +DEAL::Center: 0.0391579 -0.297433, Norm: 0.300000 +DEAL::Center: 0.114805 -0.277164, Norm: 0.300000 +DEAL::Center: 0.365257 -0.476012, Norm: 0.600000 +DEAL::Center: 0.476012 -0.365257, Norm: 0.600000 +DEAL::Center: 0.182628 -0.238006, Norm: 0.300000 +DEAL::Center: 0.238006 -0.182628, Norm: 0.300000 +DEAL::Center: 0.554328 -0.229610, Norm: 0.600000 +DEAL::Center: 0.594867 -0.0783157, Norm: 0.600000 +DEAL::Center: 0.277164 -0.114805, Norm: 0.300000 +DEAL::Center: 0.297433 -0.0391579, Norm: 0.300000 +DEAL::Testing dim 3, spacedim 3 +DEAL::Center: -0.109034 -0.279484 0.00000, Norm: 0.300000 +DEAL::Center: -0.200401 -0.200401 0.0983833, Norm: 0.300000 +DEAL::Center: -0.200401 -0.200401 -0.0983833, Norm: 0.300000 +DEAL::Center: -0.279484 -0.109034 0.00000, Norm: 0.300000 +DEAL::Center: -0.218068 -0.558969 0.00000, Norm: 0.600000 +DEAL::Center: -0.400801 -0.400801 0.196767, Norm: 0.600000 +DEAL::Center: -0.400801 -0.400801 -0.196767, Norm: 0.600000 +DEAL::Center: -0.558969 -0.218068 0.00000, Norm: 0.600000 +DEAL::Center: -0.200401 -0.0983833 0.200401, Norm: 0.300000 +DEAL::Center: -0.109034 0.00000 0.279484, Norm: 0.300000 +DEAL::Center: -0.279484 0.00000 0.109034, Norm: 0.300000 +DEAL::Center: -0.200401 0.0983833 0.200401, Norm: 0.300000 +DEAL::Center: -0.400801 -0.196767 0.400801, Norm: 0.600000 +DEAL::Center: -0.218068 0.00000 0.558969, Norm: 0.600000 +DEAL::Center: -0.558969 0.00000 0.218068, Norm: 0.600000 +DEAL::Center: -0.400801 0.196767 0.400801, Norm: 0.600000 +DEAL::Center: 0.00000 -0.279484 0.109034, Norm: 0.300000 +DEAL::Center: 0.0983833 -0.200401 0.200401, Norm: 0.300000 +DEAL::Center: -0.0983833 -0.200401 0.200401, Norm: 0.300000 +DEAL::Center: 0.00000 -0.109034 0.279484, Norm: 0.300000 +DEAL::Center: 0.00000 -0.558969 0.218068, Norm: 0.600000 +DEAL::Center: 0.196767 -0.400801 0.400801, Norm: 0.600000 +DEAL::Center: -0.196767 -0.400801 0.400801, Norm: 0.600000 +DEAL::Center: 0.00000 -0.218068 0.558969, Norm: 0.600000 +DEAL::Center: 0.200401 -0.200401 -0.0983833, Norm: 0.300000 +DEAL::Center: 0.279484 -0.109034 0.00000, Norm: 0.300000 +DEAL::Center: 0.109034 -0.279484 0.00000, Norm: 0.300000 +DEAL::Center: 0.200401 -0.200401 0.0983833, Norm: 0.300000 +DEAL::Center: 0.400801 -0.400801 -0.196767, Norm: 0.600000 +DEAL::Center: 0.558969 -0.218068 0.00000, Norm: 0.600000 +DEAL::Center: 0.218068 -0.558969 0.00000, Norm: 0.600000 +DEAL::Center: 0.400801 -0.400801 0.196767, Norm: 0.600000 +DEAL::Center: 0.279484 0.00000 0.109034, Norm: 0.300000 +DEAL::Center: 0.200401 0.0983833 0.200401, Norm: 0.300000 +DEAL::Center: 0.200401 -0.0983833 0.200401, Norm: 0.300000 +DEAL::Center: 0.109034 0.00000 0.279484, Norm: 0.300000 +DEAL::Center: 0.558969 0.00000 0.218068, Norm: 0.600000 +DEAL::Center: 0.400801 0.196767 0.400801, Norm: 0.600000 +DEAL::Center: 0.400801 -0.196767 0.400801, Norm: 0.600000 +DEAL::Center: 0.218068 0.00000 0.558969, Norm: 0.600000 +DEAL::Center: 0.0983833 0.200401 0.200401, Norm: 0.300000 +DEAL::Center: 0.00000 0.279484 0.109034, Norm: 0.300000 +DEAL::Center: 0.00000 0.109034 0.279484, Norm: 0.300000 +DEAL::Center: -0.0983833 0.200401 0.200401, Norm: 0.300000 +DEAL::Center: 0.196767 0.400801 0.400801, Norm: 0.600000 +DEAL::Center: 0.00000 0.558969 0.218068, Norm: 0.600000 +DEAL::Center: 0.00000 0.218068 0.558969, Norm: 0.600000 +DEAL::Center: -0.196767 0.400801 0.400801, Norm: 0.600000 +DEAL::Center: 0.279484 0.109034 0.00000, Norm: 0.300000 +DEAL::Center: 0.200401 0.200401 -0.0983833, Norm: 0.300000 +DEAL::Center: 0.200401 0.200401 0.0983833, Norm: 0.300000 +DEAL::Center: 0.109034 0.279484 0.00000, Norm: 0.300000 +DEAL::Center: 0.558969 0.218068 0.00000, Norm: 0.600000 +DEAL::Center: 0.400801 0.400801 -0.196767, Norm: 0.600000 +DEAL::Center: 0.400801 0.400801 0.196767, Norm: 0.600000 +DEAL::Center: 0.218068 0.558969 0.00000, Norm: 0.600000 +DEAL::Center: 0.200401 -0.0983833 -0.200401, Norm: 0.300000 +DEAL::Center: 0.109034 0.00000 -0.279484, Norm: 0.300000 +DEAL::Center: 0.279484 0.00000 -0.109034, Norm: 0.300000 +DEAL::Center: 0.200401 0.0983833 -0.200401, Norm: 0.300000 +DEAL::Center: 0.400801 -0.196767 -0.400801, Norm: 0.600000 +DEAL::Center: 0.218068 0.00000 -0.558969, Norm: 0.600000 +DEAL::Center: 0.558969 0.00000 -0.218068, Norm: 0.600000 +DEAL::Center: 0.400801 0.196767 -0.400801, Norm: 0.600000 +DEAL::Center: 0.00000 0.109034 -0.279484, Norm: 0.300000 +DEAL::Center: -0.0983833 0.200401 -0.200401, Norm: 0.300000 +DEAL::Center: 0.0983833 0.200401 -0.200401, Norm: 0.300000 +DEAL::Center: 0.00000 0.279484 -0.109034, Norm: 0.300000 +DEAL::Center: 0.00000 0.218068 -0.558969, Norm: 0.600000 +DEAL::Center: -0.196767 0.400801 -0.400801, Norm: 0.600000 +DEAL::Center: 0.196767 0.400801 -0.400801, Norm: 0.600000 +DEAL::Center: 0.00000 0.558969 -0.218068, Norm: 0.600000 +DEAL::Center: -0.200401 0.200401 -0.0983833, Norm: 0.300000 +DEAL::Center: -0.279484 0.109034 0.00000, Norm: 0.300000 +DEAL::Center: -0.109034 0.279484 0.00000, Norm: 0.300000 +DEAL::Center: -0.200401 0.200401 0.0983833, Norm: 0.300000 +DEAL::Center: -0.400801 0.400801 -0.196767, Norm: 0.600000 +DEAL::Center: -0.558969 0.218068 0.00000, Norm: 0.600000 +DEAL::Center: -0.218068 0.558969 0.00000, Norm: 0.600000 +DEAL::Center: -0.400801 0.400801 0.196767, Norm: 0.600000 +DEAL::Center: -0.109034 0.00000 -0.279484, Norm: 0.300000 +DEAL::Center: -0.200401 -0.0983833 -0.200401, Norm: 0.300000 +DEAL::Center: -0.200401 0.0983833 -0.200401, Norm: 0.300000 +DEAL::Center: -0.279484 0.00000 -0.109034, Norm: 0.300000 +DEAL::Center: -0.218068 0.00000 -0.558969, Norm: 0.600000 +DEAL::Center: -0.400801 -0.196767 -0.400801, Norm: 0.600000 +DEAL::Center: -0.400801 0.196767 -0.400801, Norm: 0.600000 +DEAL::Center: -0.558969 0.00000 -0.218068, Norm: 0.600000 +DEAL::Center: 0.0983833 -0.200401 -0.200401, Norm: 0.300000 +DEAL::Center: 0.00000 -0.279484 -0.109034, Norm: 0.300000 +DEAL::Center: 0.00000 -0.109034 -0.279484, Norm: 0.300000 +DEAL::Center: -0.0983833 -0.200401 -0.200401, Norm: 0.300000 +DEAL::Center: 0.196767 -0.400801 -0.400801, Norm: 0.600000 +DEAL::Center: 0.00000 -0.558969 -0.218068, Norm: 0.600000 +DEAL::Center: 0.00000 -0.218068 -0.558969, Norm: 0.600000 +DEAL::Center: -0.196767 -0.400801 -0.400801, Norm: 0.600000 diff --git a/tests/manifold/tria_accessor_point_02.cc b/tests/manifold/tria_accessor_point_02.cc new file mode 100644 index 0000000000..73da3a5fd8 --- /dev/null +++ b/tests/manifold/tria_accessor_point_02.cc @@ -0,0 +1,68 @@ +//---------------------------- spherical_manifold_01.cc --------------------------- +// Copyright (C) 2011, 2013, 2014 by the mathLab team. +// +// This file is subject to LGPL and may not be distributed +// without copyright and license information. Please refer +// to the file deal.II/doc/license.html for the text and +// further information on this license. +// +//---------------------------- spherical_manifold_01.cc --------------------------- + + +// 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; + + 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); + + for(typename Triangulation::active_cell_iterator cell = tria.begin_active(); cell != tria.end(); ++cell) { + for(unsigned int f=0;f::faces_per_cell; ++f) + if(cell->face(f)->at_boundary()) + deallog << "Center: " << cell->face(f)->center(true, true) + << ", Norm: " << cell->face(f)->center(true, true).norm() << std::endl; + } + +} + +int main () +{ + std::ofstream logfile("output"); + deallog.attach(logfile); + deallog.depth_console(0); + deallog.threshold_double(1.e-10); + + test<2,2>(); + test<3,3>(); + + return 0; +} + diff --git a/tests/manifold/tria_accessor_point_02.output b/tests/manifold/tria_accessor_point_02.output new file mode 100644 index 0000000000..4365298649 --- /dev/null +++ b/tests/manifold/tria_accessor_point_02.output @@ -0,0 +1,147 @@ + +DEAL::Testing dim 2, spacedim 2 +DEAL::Center: 0.594867 0.0783157, Norm: 0.600000 +DEAL::Center: 0.554328 0.229610, Norm: 0.600000 +DEAL::Center: 0.297433 0.0391579, Norm: 0.300000 +DEAL::Center: 0.277164 0.114805, Norm: 0.300000 +DEAL::Center: 0.476012 0.365257, Norm: 0.600000 +DEAL::Center: 0.365257 0.476012, Norm: 0.600000 +DEAL::Center: 0.238006 0.182628, Norm: 0.300000 +DEAL::Center: 0.182628 0.238006, Norm: 0.300000 +DEAL::Center: 0.229610 0.554328, Norm: 0.600000 +DEAL::Center: 0.0783157 0.594867, Norm: 0.600000 +DEAL::Center: 0.114805 0.277164, Norm: 0.300000 +DEAL::Center: 0.0391579 0.297433, Norm: 0.300000 +DEAL::Center: -0.0783157 0.594867, Norm: 0.600000 +DEAL::Center: -0.229610 0.554328, Norm: 0.600000 +DEAL::Center: -0.0391579 0.297433, Norm: 0.300000 +DEAL::Center: -0.114805 0.277164, Norm: 0.300000 +DEAL::Center: -0.365257 0.476012, Norm: 0.600000 +DEAL::Center: -0.476012 0.365257, Norm: 0.600000 +DEAL::Center: -0.182628 0.238006, Norm: 0.300000 +DEAL::Center: -0.238006 0.182628, Norm: 0.300000 +DEAL::Center: -0.554328 0.229610, Norm: 0.600000 +DEAL::Center: -0.594867 0.0783157, Norm: 0.600000 +DEAL::Center: -0.277164 0.114805, Norm: 0.300000 +DEAL::Center: -0.297433 0.0391579, Norm: 0.300000 +DEAL::Center: -0.594867 -0.0783157, Norm: 0.600000 +DEAL::Center: -0.554328 -0.229610, Norm: 0.600000 +DEAL::Center: -0.297433 -0.0391579, Norm: 0.300000 +DEAL::Center: -0.277164 -0.114805, Norm: 0.300000 +DEAL::Center: -0.476012 -0.365257, Norm: 0.600000 +DEAL::Center: -0.365257 -0.476012, Norm: 0.600000 +DEAL::Center: -0.238006 -0.182628, Norm: 0.300000 +DEAL::Center: -0.182628 -0.238006, Norm: 0.300000 +DEAL::Center: -0.229610 -0.554328, Norm: 0.600000 +DEAL::Center: -0.0783157 -0.594867, Norm: 0.600000 +DEAL::Center: -0.114805 -0.277164, Norm: 0.300000 +DEAL::Center: -0.0391579 -0.297433, Norm: 0.300000 +DEAL::Center: 0.0783157 -0.594867, Norm: 0.600000 +DEAL::Center: 0.229610 -0.554328, Norm: 0.600000 +DEAL::Center: 0.0391579 -0.297433, Norm: 0.300000 +DEAL::Center: 0.114805 -0.277164, Norm: 0.300000 +DEAL::Center: 0.365257 -0.476012, Norm: 0.600000 +DEAL::Center: 0.476012 -0.365257, Norm: 0.600000 +DEAL::Center: 0.182628 -0.238006, Norm: 0.300000 +DEAL::Center: 0.238006 -0.182628, Norm: 0.300000 +DEAL::Center: 0.554328 -0.229610, Norm: 0.600000 +DEAL::Center: 0.594867 -0.0783157, Norm: 0.600000 +DEAL::Center: 0.277164 -0.114805, Norm: 0.300000 +DEAL::Center: 0.297433 -0.0391579, Norm: 0.300000 +DEAL::Testing dim 3, spacedim 3 +DEAL::Center: -0.109091 -0.279462 0.00000, Norm: 0.300000 +DEAL::Center: -0.200412 -0.200412 0.0983373, Norm: 0.300000 +DEAL::Center: -0.200412 -0.200412 -0.0983373, Norm: 0.300000 +DEAL::Center: -0.279462 -0.109091 0.00000, Norm: 0.300000 +DEAL::Center: -0.218183 -0.558924 0.00000, Norm: 0.600000 +DEAL::Center: -0.400824 -0.400824 0.196675, Norm: 0.600000 +DEAL::Center: -0.400824 -0.400824 -0.196675, Norm: 0.600000 +DEAL::Center: -0.558924 -0.218183 0.00000, Norm: 0.600000 +DEAL::Center: -0.200412 -0.0983373 0.200412, Norm: 0.300000 +DEAL::Center: -0.109091 0.00000 0.279462, Norm: 0.300000 +DEAL::Center: -0.279462 0.00000 0.109091, Norm: 0.300000 +DEAL::Center: -0.200412 0.0983373 0.200412, Norm: 0.300000 +DEAL::Center: -0.400824 -0.196675 0.400824, Norm: 0.600000 +DEAL::Center: -0.218183 0.00000 0.558924, Norm: 0.600000 +DEAL::Center: -0.558924 0.00000 0.218183, Norm: 0.600000 +DEAL::Center: -0.400824 0.196675 0.400824, Norm: 0.600000 +DEAL::Center: 0.00000 -0.279462 0.109091, Norm: 0.300000 +DEAL::Center: 0.0983373 -0.200412 0.200412, Norm: 0.300000 +DEAL::Center: -0.0983373 -0.200412 0.200412, Norm: 0.300000 +DEAL::Center: 0.00000 -0.109091 0.279462, Norm: 0.300000 +DEAL::Center: 0.00000 -0.558924 0.218183, Norm: 0.600000 +DEAL::Center: 0.196675 -0.400824 0.400824, Norm: 0.600000 +DEAL::Center: -0.196675 -0.400824 0.400824, Norm: 0.600000 +DEAL::Center: 0.00000 -0.218183 0.558924, Norm: 0.600000 +DEAL::Center: 0.200412 -0.200412 -0.0983373, Norm: 0.300000 +DEAL::Center: 0.279462 -0.109091 0.00000, Norm: 0.300000 +DEAL::Center: 0.109091 -0.279462 0.00000, Norm: 0.300000 +DEAL::Center: 0.200412 -0.200412 0.0983373, Norm: 0.300000 +DEAL::Center: 0.400824 -0.400824 -0.196675, Norm: 0.600000 +DEAL::Center: 0.558924 -0.218183 0.00000, Norm: 0.600000 +DEAL::Center: 0.218183 -0.558924 0.00000, Norm: 0.600000 +DEAL::Center: 0.400824 -0.400824 0.196675, Norm: 0.600000 +DEAL::Center: 0.279462 0.00000 0.109091, Norm: 0.300000 +DEAL::Center: 0.200412 0.0983373 0.200412, Norm: 0.300000 +DEAL::Center: 0.200412 -0.0983373 0.200412, Norm: 0.300000 +DEAL::Center: 0.109091 0.00000 0.279462, Norm: 0.300000 +DEAL::Center: 0.558924 0.00000 0.218183, Norm: 0.600000 +DEAL::Center: 0.400824 0.196675 0.400824, Norm: 0.600000 +DEAL::Center: 0.400824 -0.196675 0.400824, Norm: 0.600000 +DEAL::Center: 0.218183 0.00000 0.558924, Norm: 0.600000 +DEAL::Center: 0.0983373 0.200412 0.200412, Norm: 0.300000 +DEAL::Center: 0.00000 0.279462 0.109091, Norm: 0.300000 +DEAL::Center: 0.00000 0.109091 0.279462, Norm: 0.300000 +DEAL::Center: -0.0983373 0.200412 0.200412, Norm: 0.300000 +DEAL::Center: 0.196675 0.400824 0.400824, Norm: 0.600000 +DEAL::Center: 0.00000 0.558924 0.218183, Norm: 0.600000 +DEAL::Center: 0.00000 0.218183 0.558924, Norm: 0.600000 +DEAL::Center: -0.196675 0.400824 0.400824, Norm: 0.600000 +DEAL::Center: 0.279462 0.109091 0.00000, Norm: 0.300000 +DEAL::Center: 0.200412 0.200412 -0.0983373, Norm: 0.300000 +DEAL::Center: 0.200412 0.200412 0.0983373, Norm: 0.300000 +DEAL::Center: 0.109091 0.279462 0.00000, Norm: 0.300000 +DEAL::Center: 0.558924 0.218183 0.00000, Norm: 0.600000 +DEAL::Center: 0.400824 0.400824 -0.196675, Norm: 0.600000 +DEAL::Center: 0.400824 0.400824 0.196675, Norm: 0.600000 +DEAL::Center: 0.218183 0.558924 0.00000, Norm: 0.600000 +DEAL::Center: 0.200412 -0.0983373 -0.200412, Norm: 0.300000 +DEAL::Center: 0.109091 0.00000 -0.279462, Norm: 0.300000 +DEAL::Center: 0.279462 0.00000 -0.109091, Norm: 0.300000 +DEAL::Center: 0.200412 0.0983373 -0.200412, Norm: 0.300000 +DEAL::Center: 0.400824 -0.196675 -0.400824, Norm: 0.600000 +DEAL::Center: 0.218183 0.00000 -0.558924, Norm: 0.600000 +DEAL::Center: 0.558924 0.00000 -0.218183, Norm: 0.600000 +DEAL::Center: 0.400824 0.196675 -0.400824, Norm: 0.600000 +DEAL::Center: 0.00000 0.109091 -0.279462, Norm: 0.300000 +DEAL::Center: -0.0983373 0.200412 -0.200412, Norm: 0.300000 +DEAL::Center: 0.0983373 0.200412 -0.200412, Norm: 0.300000 +DEAL::Center: 0.00000 0.279462 -0.109091, Norm: 0.300000 +DEAL::Center: 0.00000 0.218183 -0.558924, Norm: 0.600000 +DEAL::Center: -0.196675 0.400824 -0.400824, Norm: 0.600000 +DEAL::Center: 0.196675 0.400824 -0.400824, Norm: 0.600000 +DEAL::Center: 0.00000 0.558924 -0.218183, Norm: 0.600000 +DEAL::Center: -0.200412 0.200412 -0.0983373, Norm: 0.300000 +DEAL::Center: -0.279462 0.109091 0.00000, Norm: 0.300000 +DEAL::Center: -0.109091 0.279462 0.00000, Norm: 0.300000 +DEAL::Center: -0.200412 0.200412 0.0983373, Norm: 0.300000 +DEAL::Center: -0.400824 0.400824 -0.196675, Norm: 0.600000 +DEAL::Center: -0.558924 0.218183 0.00000, Norm: 0.600000 +DEAL::Center: -0.218183 0.558924 0.00000, Norm: 0.600000 +DEAL::Center: -0.400824 0.400824 0.196675, Norm: 0.600000 +DEAL::Center: -0.109091 0.00000 -0.279462, Norm: 0.300000 +DEAL::Center: -0.200412 -0.0983373 -0.200412, Norm: 0.300000 +DEAL::Center: -0.200412 0.0983373 -0.200412, Norm: 0.300000 +DEAL::Center: -0.279462 0.00000 -0.109091, Norm: 0.300000 +DEAL::Center: -0.218183 0.00000 -0.558924, Norm: 0.600000 +DEAL::Center: -0.400824 -0.196675 -0.400824, Norm: 0.600000 +DEAL::Center: -0.400824 0.196675 -0.400824, Norm: 0.600000 +DEAL::Center: -0.558924 0.00000 -0.218183, Norm: 0.600000 +DEAL::Center: 0.0983373 -0.200412 -0.200412, Norm: 0.300000 +DEAL::Center: 0.00000 -0.279462 -0.109091, Norm: 0.300000 +DEAL::Center: 0.00000 -0.109091 -0.279462, Norm: 0.300000 +DEAL::Center: -0.0983373 -0.200412 -0.200412, Norm: 0.300000 +DEAL::Center: 0.196675 -0.400824 -0.400824, Norm: 0.600000 +DEAL::Center: 0.00000 -0.558924 -0.218183, Norm: 0.600000 +DEAL::Center: 0.00000 -0.218183 -0.558924, Norm: 0.600000 +DEAL::Center: -0.196675 -0.400824 -0.400824, Norm: 0.600000 diff --git a/tests/manifold/tria_accessor_point_03.cc b/tests/manifold/tria_accessor_point_03.cc new file mode 100644 index 0000000000..73da3a5fd8 --- /dev/null +++ b/tests/manifold/tria_accessor_point_03.cc @@ -0,0 +1,68 @@ +//---------------------------- spherical_manifold_01.cc --------------------------- +// Copyright (C) 2011, 2013, 2014 by the mathLab team. +// +// This file is subject to LGPL and may not be distributed +// without copyright and license information. Please refer +// to the file deal.II/doc/license.html for the text and +// further information on this license. +// +//---------------------------- spherical_manifold_01.cc --------------------------- + + +// 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; + + 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); + + for(typename Triangulation::active_cell_iterator cell = tria.begin_active(); cell != tria.end(); ++cell) { + for(unsigned int f=0;f::faces_per_cell; ++f) + if(cell->face(f)->at_boundary()) + deallog << "Center: " << cell->face(f)->center(true, true) + << ", Norm: " << cell->face(f)->center(true, true).norm() << std::endl; + } + +} + +int main () +{ + std::ofstream logfile("output"); + deallog.attach(logfile); + deallog.depth_console(0); + deallog.threshold_double(1.e-10); + + test<2,2>(); + test<3,3>(); + + return 0; +} + diff --git a/tests/manifold/tria_accessor_point_03.output b/tests/manifold/tria_accessor_point_03.output new file mode 100644 index 0000000000..4365298649 --- /dev/null +++ b/tests/manifold/tria_accessor_point_03.output @@ -0,0 +1,147 @@ + +DEAL::Testing dim 2, spacedim 2 +DEAL::Center: 0.594867 0.0783157, Norm: 0.600000 +DEAL::Center: 0.554328 0.229610, Norm: 0.600000 +DEAL::Center: 0.297433 0.0391579, Norm: 0.300000 +DEAL::Center: 0.277164 0.114805, Norm: 0.300000 +DEAL::Center: 0.476012 0.365257, Norm: 0.600000 +DEAL::Center: 0.365257 0.476012, Norm: 0.600000 +DEAL::Center: 0.238006 0.182628, Norm: 0.300000 +DEAL::Center: 0.182628 0.238006, Norm: 0.300000 +DEAL::Center: 0.229610 0.554328, Norm: 0.600000 +DEAL::Center: 0.0783157 0.594867, Norm: 0.600000 +DEAL::Center: 0.114805 0.277164, Norm: 0.300000 +DEAL::Center: 0.0391579 0.297433, Norm: 0.300000 +DEAL::Center: -0.0783157 0.594867, Norm: 0.600000 +DEAL::Center: -0.229610 0.554328, Norm: 0.600000 +DEAL::Center: -0.0391579 0.297433, Norm: 0.300000 +DEAL::Center: -0.114805 0.277164, Norm: 0.300000 +DEAL::Center: -0.365257 0.476012, Norm: 0.600000 +DEAL::Center: -0.476012 0.365257, Norm: 0.600000 +DEAL::Center: -0.182628 0.238006, Norm: 0.300000 +DEAL::Center: -0.238006 0.182628, Norm: 0.300000 +DEAL::Center: -0.554328 0.229610, Norm: 0.600000 +DEAL::Center: -0.594867 0.0783157, Norm: 0.600000 +DEAL::Center: -0.277164 0.114805, Norm: 0.300000 +DEAL::Center: -0.297433 0.0391579, Norm: 0.300000 +DEAL::Center: -0.594867 -0.0783157, Norm: 0.600000 +DEAL::Center: -0.554328 -0.229610, Norm: 0.600000 +DEAL::Center: -0.297433 -0.0391579, Norm: 0.300000 +DEAL::Center: -0.277164 -0.114805, Norm: 0.300000 +DEAL::Center: -0.476012 -0.365257, Norm: 0.600000 +DEAL::Center: -0.365257 -0.476012, Norm: 0.600000 +DEAL::Center: -0.238006 -0.182628, Norm: 0.300000 +DEAL::Center: -0.182628 -0.238006, Norm: 0.300000 +DEAL::Center: -0.229610 -0.554328, Norm: 0.600000 +DEAL::Center: -0.0783157 -0.594867, Norm: 0.600000 +DEAL::Center: -0.114805 -0.277164, Norm: 0.300000 +DEAL::Center: -0.0391579 -0.297433, Norm: 0.300000 +DEAL::Center: 0.0783157 -0.594867, Norm: 0.600000 +DEAL::Center: 0.229610 -0.554328, Norm: 0.600000 +DEAL::Center: 0.0391579 -0.297433, Norm: 0.300000 +DEAL::Center: 0.114805 -0.277164, Norm: 0.300000 +DEAL::Center: 0.365257 -0.476012, Norm: 0.600000 +DEAL::Center: 0.476012 -0.365257, Norm: 0.600000 +DEAL::Center: 0.182628 -0.238006, Norm: 0.300000 +DEAL::Center: 0.238006 -0.182628, Norm: 0.300000 +DEAL::Center: 0.554328 -0.229610, Norm: 0.600000 +DEAL::Center: 0.594867 -0.0783157, Norm: 0.600000 +DEAL::Center: 0.277164 -0.114805, Norm: 0.300000 +DEAL::Center: 0.297433 -0.0391579, Norm: 0.300000 +DEAL::Testing dim 3, spacedim 3 +DEAL::Center: -0.109091 -0.279462 0.00000, Norm: 0.300000 +DEAL::Center: -0.200412 -0.200412 0.0983373, Norm: 0.300000 +DEAL::Center: -0.200412 -0.200412 -0.0983373, Norm: 0.300000 +DEAL::Center: -0.279462 -0.109091 0.00000, Norm: 0.300000 +DEAL::Center: -0.218183 -0.558924 0.00000, Norm: 0.600000 +DEAL::Center: -0.400824 -0.400824 0.196675, Norm: 0.600000 +DEAL::Center: -0.400824 -0.400824 -0.196675, Norm: 0.600000 +DEAL::Center: -0.558924 -0.218183 0.00000, Norm: 0.600000 +DEAL::Center: -0.200412 -0.0983373 0.200412, Norm: 0.300000 +DEAL::Center: -0.109091 0.00000 0.279462, Norm: 0.300000 +DEAL::Center: -0.279462 0.00000 0.109091, Norm: 0.300000 +DEAL::Center: -0.200412 0.0983373 0.200412, Norm: 0.300000 +DEAL::Center: -0.400824 -0.196675 0.400824, Norm: 0.600000 +DEAL::Center: -0.218183 0.00000 0.558924, Norm: 0.600000 +DEAL::Center: -0.558924 0.00000 0.218183, Norm: 0.600000 +DEAL::Center: -0.400824 0.196675 0.400824, Norm: 0.600000 +DEAL::Center: 0.00000 -0.279462 0.109091, Norm: 0.300000 +DEAL::Center: 0.0983373 -0.200412 0.200412, Norm: 0.300000 +DEAL::Center: -0.0983373 -0.200412 0.200412, Norm: 0.300000 +DEAL::Center: 0.00000 -0.109091 0.279462, Norm: 0.300000 +DEAL::Center: 0.00000 -0.558924 0.218183, Norm: 0.600000 +DEAL::Center: 0.196675 -0.400824 0.400824, Norm: 0.600000 +DEAL::Center: -0.196675 -0.400824 0.400824, Norm: 0.600000 +DEAL::Center: 0.00000 -0.218183 0.558924, Norm: 0.600000 +DEAL::Center: 0.200412 -0.200412 -0.0983373, Norm: 0.300000 +DEAL::Center: 0.279462 -0.109091 0.00000, Norm: 0.300000 +DEAL::Center: 0.109091 -0.279462 0.00000, Norm: 0.300000 +DEAL::Center: 0.200412 -0.200412 0.0983373, Norm: 0.300000 +DEAL::Center: 0.400824 -0.400824 -0.196675, Norm: 0.600000 +DEAL::Center: 0.558924 -0.218183 0.00000, Norm: 0.600000 +DEAL::Center: 0.218183 -0.558924 0.00000, Norm: 0.600000 +DEAL::Center: 0.400824 -0.400824 0.196675, Norm: 0.600000 +DEAL::Center: 0.279462 0.00000 0.109091, Norm: 0.300000 +DEAL::Center: 0.200412 0.0983373 0.200412, Norm: 0.300000 +DEAL::Center: 0.200412 -0.0983373 0.200412, Norm: 0.300000 +DEAL::Center: 0.109091 0.00000 0.279462, Norm: 0.300000 +DEAL::Center: 0.558924 0.00000 0.218183, Norm: 0.600000 +DEAL::Center: 0.400824 0.196675 0.400824, Norm: 0.600000 +DEAL::Center: 0.400824 -0.196675 0.400824, Norm: 0.600000 +DEAL::Center: 0.218183 0.00000 0.558924, Norm: 0.600000 +DEAL::Center: 0.0983373 0.200412 0.200412, Norm: 0.300000 +DEAL::Center: 0.00000 0.279462 0.109091, Norm: 0.300000 +DEAL::Center: 0.00000 0.109091 0.279462, Norm: 0.300000 +DEAL::Center: -0.0983373 0.200412 0.200412, Norm: 0.300000 +DEAL::Center: 0.196675 0.400824 0.400824, Norm: 0.600000 +DEAL::Center: 0.00000 0.558924 0.218183, Norm: 0.600000 +DEAL::Center: 0.00000 0.218183 0.558924, Norm: 0.600000 +DEAL::Center: -0.196675 0.400824 0.400824, Norm: 0.600000 +DEAL::Center: 0.279462 0.109091 0.00000, Norm: 0.300000 +DEAL::Center: 0.200412 0.200412 -0.0983373, Norm: 0.300000 +DEAL::Center: 0.200412 0.200412 0.0983373, Norm: 0.300000 +DEAL::Center: 0.109091 0.279462 0.00000, Norm: 0.300000 +DEAL::Center: 0.558924 0.218183 0.00000, Norm: 0.600000 +DEAL::Center: 0.400824 0.400824 -0.196675, Norm: 0.600000 +DEAL::Center: 0.400824 0.400824 0.196675, Norm: 0.600000 +DEAL::Center: 0.218183 0.558924 0.00000, Norm: 0.600000 +DEAL::Center: 0.200412 -0.0983373 -0.200412, Norm: 0.300000 +DEAL::Center: 0.109091 0.00000 -0.279462, Norm: 0.300000 +DEAL::Center: 0.279462 0.00000 -0.109091, Norm: 0.300000 +DEAL::Center: 0.200412 0.0983373 -0.200412, Norm: 0.300000 +DEAL::Center: 0.400824 -0.196675 -0.400824, Norm: 0.600000 +DEAL::Center: 0.218183 0.00000 -0.558924, Norm: 0.600000 +DEAL::Center: 0.558924 0.00000 -0.218183, Norm: 0.600000 +DEAL::Center: 0.400824 0.196675 -0.400824, Norm: 0.600000 +DEAL::Center: 0.00000 0.109091 -0.279462, Norm: 0.300000 +DEAL::Center: -0.0983373 0.200412 -0.200412, Norm: 0.300000 +DEAL::Center: 0.0983373 0.200412 -0.200412, Norm: 0.300000 +DEAL::Center: 0.00000 0.279462 -0.109091, Norm: 0.300000 +DEAL::Center: 0.00000 0.218183 -0.558924, Norm: 0.600000 +DEAL::Center: -0.196675 0.400824 -0.400824, Norm: 0.600000 +DEAL::Center: 0.196675 0.400824 -0.400824, Norm: 0.600000 +DEAL::Center: 0.00000 0.558924 -0.218183, Norm: 0.600000 +DEAL::Center: -0.200412 0.200412 -0.0983373, Norm: 0.300000 +DEAL::Center: -0.279462 0.109091 0.00000, Norm: 0.300000 +DEAL::Center: -0.109091 0.279462 0.00000, Norm: 0.300000 +DEAL::Center: -0.200412 0.200412 0.0983373, Norm: 0.300000 +DEAL::Center: -0.400824 0.400824 -0.196675, Norm: 0.600000 +DEAL::Center: -0.558924 0.218183 0.00000, Norm: 0.600000 +DEAL::Center: -0.218183 0.558924 0.00000, Norm: 0.600000 +DEAL::Center: -0.400824 0.400824 0.196675, Norm: 0.600000 +DEAL::Center: -0.109091 0.00000 -0.279462, Norm: 0.300000 +DEAL::Center: -0.200412 -0.0983373 -0.200412, Norm: 0.300000 +DEAL::Center: -0.200412 0.0983373 -0.200412, Norm: 0.300000 +DEAL::Center: -0.279462 0.00000 -0.109091, Norm: 0.300000 +DEAL::Center: -0.218183 0.00000 -0.558924, Norm: 0.600000 +DEAL::Center: -0.400824 -0.196675 -0.400824, Norm: 0.600000 +DEAL::Center: -0.400824 0.196675 -0.400824, Norm: 0.600000 +DEAL::Center: -0.558924 0.00000 -0.218183, Norm: 0.600000 +DEAL::Center: 0.0983373 -0.200412 -0.200412, Norm: 0.300000 +DEAL::Center: 0.00000 -0.279462 -0.109091, Norm: 0.300000 +DEAL::Center: 0.00000 -0.109091 -0.279462, Norm: 0.300000 +DEAL::Center: -0.0983373 -0.200412 -0.200412, Norm: 0.300000 +DEAL::Center: 0.196675 -0.400824 -0.400824, Norm: 0.600000 +DEAL::Center: 0.00000 -0.558924 -0.218183, Norm: 0.600000 +DEAL::Center: 0.00000 -0.218183 -0.558924, Norm: 0.600000 +DEAL::Center: -0.196675 -0.400824 -0.400824, Norm: 0.600000