From: Denis Davydov Date: Fri, 17 Feb 2017 15:09:14 +0000 (+0100) Subject: make GridTools::laplace_transform() internally solve for displacement by default X-Git-Tag: v8.5.0-rc1~101^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F3984%2Fhead;p=dealii.git make GridTools::laplace_transform() internally solve for displacement by default while there, adjust grid_transform_02 to produce a better looking mesh. --- diff --git a/doc/news/changes/minor/20170217DenisDavydov b/doc/news/changes/minor/20170217DenisDavydov new file mode 100644 index 0000000000..712b07cf23 --- /dev/null +++ b/doc/news/changes/minor/20170217DenisDavydov @@ -0,0 +1,6 @@ +Fixed: Fixed a bug in GridTools::laplace_transform() which was previously solving +for the final position field instead of displacement. The two formulations are +not equivalent when a non-constant coefficient is provided, which is commonly +used with displacement formulation. +
+(Denis Davydov, 2017/02/17) diff --git a/include/deal.II/grid/grid_tools.h b/include/deal.II/grid/grid_tools.h index 6b4ed1ab68..a0feb09058 100644 --- a/include/deal.II/grid/grid_tools.h +++ b/include/deal.II/grid/grid_tools.h @@ -295,12 +295,27 @@ namespace GridTools * typically, each of the vertices at the boundary of the triangulation is * mapped to the corresponding points in the @p new_points map. * - * The way this function works is that it solves a Laplace equation for each + * The unknown displacement field $u_d(\mathbf x)$ in direction $d$ is obtained from + * the minimization problem + * \f[ + * \min\, \int + * \frac{1}{2} + * c(\mathbf x) + * \mathbf \nabla u_d(\mathbf x) \cdot + * \mathbf \nabla u_d(\mathbf x) + * \,\rm d x + * \f] + * subject to prescribed constraints. The minimizer is obtained by solving the Laplace equation * of the dim components of a displacement field that maps the current - * domain into one described by @p new_points . The @p new_points array - * therefore represents the boundary values of this displacement field. The - * function then evaluates this displacement field at each vertex in the - * interior and uses it to place the mapped vertex where the displacement + * domain into one described by @p new_points . Linear finite elements with + * four Gaussian quadrature points in each direction are used. The difference + * between the vertex positions specified in @p new_points and their current + * value in @p tria therefore represents the prescribed values of this + * displacement field at the boundary of the domain, or more precisely at all + * of those locations for which @p new_points provides values (which may be + * at part of the boundary, or even in the interior of the domain). The + * function then evaluates this displacement field at each unconstrained + * vertex and uses it to place the mapped vertex where the displacement * field locates it. Because the solution of the Laplace equation is smooth, * this guarantees a smooth mapping from the old domain to the new one. * @@ -323,12 +338,21 @@ namespace GridTools * Should this function be provided, sensible results can only be expected * if all coefficients are positive. * + * @param[in] solve_for_absolute_positions If set to true, the + * minimization problem is formulated with respect to the final vertex positions + * as opposed to their displacement. The two formulations are equivalent for + * the homogeneous problem (default value of @p coefficient), but they + * result in very different mesh motion otherwise. Since in most cases one will + * be using a non-constant coefficient in displacement formulation, the default + * value of this parameter is false. + * * @note This function is not currently implemented for the 1d case. */ template void laplace_transform (const std::map > &new_points, Triangulation &tria, - const Function *coefficient = 0); + const Function *coefficient = 0, + const bool solve_for_absolute_positions = false); /** * Return a std::map with all vertices of faces located in the boundary diff --git a/source/grid/grid_tools.cc b/source/grid/grid_tools.cc index 249cc752f7..0720ae3360 100644 --- a/source/grid/grid_tools.cc +++ b/source/grid/grid_tools.cc @@ -693,7 +693,8 @@ namespace GridTools template <> void laplace_transform (const std::map > &, Triangulation<1> &, - const Function<1> *) + const Function<1> *, + const bool ) { Assert(false, ExcNotImplemented()); } @@ -704,7 +705,8 @@ namespace GridTools void laplace_transform (const std::map > &new_points, Triangulation &triangulation, - const Function *coefficient) + const Function *coefficient, + const bool solve_for_absolute_positions) { // first provide everything that is needed for solving a Laplace // equation. @@ -743,6 +745,7 @@ namespace GridTools vertex_no::vertices_per_cell; ++vertex_no) { const unsigned int vertex_index=cell->vertex_index(vertex_no); + const Point &vertex_point=cell->vertex(vertex_no); const typename std::map >::const_iterator map_iter = new_points.find(vertex_index); @@ -751,7 +754,10 @@ namespace GridTools for (unsigned int i=0; i (cell->vertex_dof_index(vertex_no, 0), - map_iter->second(i))); + (solve_for_absolute_positions ? + map_iter->second(i) : + map_iter->second(i) - vertex_point[i]) + )); } } @@ -779,7 +785,10 @@ namespace GridTools const types::global_dof_index dof_index = cell->vertex_dof_index(vertex_no, 0); for (unsigned int i=0; ivertex_index(vertex_no)] = true; } diff --git a/source/grid/grid_tools.inst.in b/source/grid/grid_tools.inst.in index c01c63d55f..9d557cd056 100644 --- a/source/grid/grid_tools.inst.in +++ b/source/grid/grid_tools.inst.in @@ -213,7 +213,8 @@ for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS void laplace_transform (const std::map > &new_points, Triangulation &triangulation, - const Function *coefficient); + const Function *coefficient, + const bool); # endif diff --git a/tests/grid/grid_transform_02.cc b/tests/grid/grid_transform_02.cc index 585047ddb7..27237e0660 100644 --- a/tests/grid/grid_transform_02.cc +++ b/tests/grid/grid_transform_02.cc @@ -43,7 +43,7 @@ int main () Triangulation< dim > tria; std::map< unsigned int, Point< dim > > new_points; - const unsigned int N = 16; + const unsigned int N = 8; GridGenerator::subdivided_hyper_cube (tria, N, -5, 5); // find the vertex at the origin @@ -64,9 +64,9 @@ int main () best_dist = dist; } } - // move the point at the origin by 2 units to the right + // move the point at the origin by 1 unit to the right new_points[best_vertex] = Point(); - new_points[best_vertex][0] += 2; + new_points[best_vertex][0] += 1.; // now pin all of the points on the boundary cell = tria.begin_active(); @@ -83,7 +83,7 @@ int main () } // then compute new point locations and output the result - GridTools::laplace_transform (new_points,tria); + GridTools::laplace_transform (new_points,tria, NULL, true); std::ofstream out ("output"); GridOut grid_out; grid_out.write_eps (tria, out); diff --git a/tests/grid/grid_transform_02.output b/tests/grid/grid_transform_02.output index a792b88e24..b35bbeabbd 100644 --- a/tests/grid/grid_transform_02.output +++ b/tests/grid/grid_transform_02.output @@ -2,7 +2,7 @@ %%Title: deal.II Output %%Creator: the deal.II library -%%BoundingBox: 0 0 301 301 +%%BoundingBox: 0 0 301 300 /m {moveto} bind def /x {lineto stroke} bind def /b {0 0 0 setrgbcolor} def @@ -10,1028 +10,260 @@ %%EndProlog 0.5 setlinewidth -b 0 1.46283e-11 m 1.27098e-11 18.75 x -b 18.75 5.32907e-14 m 19.1265 18.75 x -b 0 1.46283e-11 m 18.75 5.32907e-14 x -b 1.27098e-11 18.75 m 19.1265 18.75 x -b 18.75 5.32907e-14 m 19.1265 18.75 x -b 37.5 5.32907e-14 m 38.2524 18.75 x -b 18.75 5.32907e-14 m 37.5 5.32907e-14 x -b 19.1265 18.75 m 38.2524 18.75 x -b 37.5 5.32907e-14 m 38.2524 18.75 x -b 56.25 0 m 57.3735 18.75 x -b 37.5 5.32907e-14 m 56.25 0 x -b 38.2524 18.75 m 57.3735 18.75 x -b 56.25 0 m 57.3735 18.75 x -b 75 0 m 76.479 18.75 x -b 56.25 0 m 75 0 x -b 57.3735 18.75 m 76.479 18.75 x -b 75 0 m 76.479 18.75 x -b 93.75 5.32907e-14 m 95.5495 18.75 x -b 75 0 m 93.75 5.32907e-14 x -b 76.479 18.75 m 95.5495 18.75 x -b 93.75 5.32907e-14 m 95.5495 18.75 x -b 112.5 5.32907e-14 m 114.559 18.75 x -b 93.75 5.32907e-14 m 112.5 5.32907e-14 x -b 95.5495 18.75 m 114.559 18.75 x -b 112.5 5.32907e-14 m 114.559 18.75 x -b 131.25 5.32907e-14 m 133.479 18.75 x -b 112.5 5.32907e-14 m 131.25 5.32907e-14 x -b 114.559 18.75 m 133.479 18.75 x -b 131.25 5.32907e-14 m 133.479 18.75 x -b 150 5.32907e-14 m 152.289 18.75 x -b 131.25 5.32907e-14 m 150 5.32907e-14 x -b 133.479 18.75 m 152.289 18.75 x -b 150 5.32907e-14 m 152.289 18.75 x -b 168.75 5.32907e-14 m 170.979 18.75 x -b 150 5.32907e-14 m 168.75 5.32907e-14 x -b 152.289 18.75 m 170.979 18.75 x -b 168.75 5.32907e-14 m 170.979 18.75 x -b 187.5 5.32907e-14 m 189.559 18.75 x -b 168.75 5.32907e-14 m 187.5 5.32907e-14 x -b 170.979 18.75 m 189.559 18.75 x -b 187.5 5.32907e-14 m 189.559 18.75 x -b 206.25 5.32907e-14 m 208.049 18.75 x -b 187.5 5.32907e-14 m 206.25 5.32907e-14 x -b 189.559 18.75 m 208.049 18.75 x -b 206.25 5.32907e-14 m 208.049 18.75 x -b 225 5.32907e-14 m 226.479 18.75 x -b 206.25 5.32907e-14 m 225 5.32907e-14 x -b 208.049 18.75 m 226.479 18.75 x -b 225 5.32907e-14 m 226.479 18.75 x -b 243.75 5.32907e-14 m 244.874 18.75 x -b 225 5.32907e-14 m 243.75 5.32907e-14 x -b 226.479 18.75 m 244.874 18.75 x -b 243.75 5.32907e-14 m 244.874 18.75 x -b 262.5 5.32907e-14 m 263.252 18.75 x -b 243.75 5.32907e-14 m 262.5 5.32907e-14 x -b 244.874 18.75 m 263.252 18.75 x -b 262.5 5.32907e-14 m 263.252 18.75 x -b 281.25 5.32907e-14 m 281.627 18.75 x -b 262.5 5.32907e-14 m 281.25 5.32907e-14 x -b 263.252 18.75 m 281.627 18.75 x -b 281.25 5.32907e-14 m 281.627 18.75 x -b 300 1.46283e-11 m 300 18.75 x -b 281.25 5.32907e-14 m 300 1.46283e-11 x -b 281.627 18.75 m 300 18.75 x -b 1.27098e-11 18.75 m 1.27098e-11 37.5 x -b 19.1265 18.75 m 19.5024 37.5 x -b 1.27098e-11 18.75 m 19.1265 18.75 x -b 1.27098e-11 37.5 m 19.5024 37.5 x -b 19.1265 18.75 m 19.5024 37.5 x -b 38.2524 18.75 m 39.0073 37.5 x -b 19.1265 18.75 m 38.2524 18.75 x -b 19.5024 37.5 m 39.0073 37.5 x -b 38.2524 18.75 m 39.0073 37.5 x -b 57.3735 18.75 m 58.5096 37.5 x -b 38.2524 18.75 m 57.3735 18.75 x -b 39.0073 37.5 m 58.5096 37.5 x -b 57.3735 18.75 m 58.5096 37.5 x -b 76.479 18.75 m 77.99 37.5 x -b 57.3735 18.75 m 76.479 18.75 x -b 58.5096 37.5 m 77.99 37.5 x -b 76.479 18.75 m 77.99 37.5 x -b 95.5495 18.75 m 97.409 37.5 x -b 76.479 18.75 m 95.5495 18.75 x -b 77.99 37.5 m 97.409 37.5 x -b 95.5495 18.75 m 97.409 37.5 x -b 114.559 18.75 m 116.709 37.5 x -b 95.5495 18.75 m 114.559 18.75 x -b 97.409 37.5 m 116.709 37.5 x -b 114.559 18.75 m 116.709 37.5 x -b 133.479 18.75 m 135.824 37.5 x -b 114.559 18.75 m 133.479 18.75 x -b 116.709 37.5 m 135.824 37.5 x -b 133.479 18.75 m 135.824 37.5 x -b 152.289 18.75 m 154.703 37.5 x -b 133.479 18.75 m 152.289 18.75 x -b 135.824 37.5 m 154.703 37.5 x -b 152.289 18.75 m 154.703 37.5 x -b 170.979 18.75 m 173.324 37.5 x -b 152.289 18.75 m 170.979 18.75 x -b 154.703 37.5 m 173.324 37.5 x -b 170.979 18.75 m 173.324 37.5 x -b 189.559 18.75 m 191.709 37.5 x -b 170.979 18.75 m 189.559 18.75 x -b 173.324 37.5 m 191.709 37.5 x -b 189.559 18.75 m 191.709 37.5 x -b 208.049 18.75 m 209.909 37.5 x -b 189.559 18.75 m 208.049 18.75 x -b 191.709 37.5 m 209.909 37.5 x -b 208.049 18.75 m 209.909 37.5 x -b 226.479 18.75 m 227.99 37.5 x -b 208.049 18.75 m 226.479 18.75 x -b 209.909 37.5 m 227.99 37.5 x -b 226.479 18.75 m 227.99 37.5 x -b 244.874 18.75 m 246.01 37.5 x -b 226.479 18.75 m 244.874 18.75 x -b 227.99 37.5 m 246.01 37.5 x -b 244.874 18.75 m 246.01 37.5 x -b 263.252 18.75 m 264.007 37.5 x -b 244.874 18.75 m 263.252 18.75 x -b 246.01 37.5 m 264.007 37.5 x -b 263.252 18.75 m 264.007 37.5 x -b 281.627 18.75 m 282.002 37.5 x -b 263.252 18.75 m 281.627 18.75 x -b 264.007 37.5 m 282.002 37.5 x -b 281.627 18.75 m 282.002 37.5 x -b 300 18.75 m 300 37.5 x -b 281.627 18.75 m 300 18.75 x -b 282.002 37.5 m 300 37.5 x -b 1.27098e-11 37.5 m 1.27365e-11 56.25 x -b 19.5024 37.5 m 19.8735 56.25 x -b 1.27098e-11 37.5 m 19.5024 37.5 x -b 1.27365e-11 56.25 m 19.8735 56.25 x -b 19.5024 37.5 m 19.8735 56.25 x -b 39.0073 37.5 m 39.7596 56.25 x -b 19.5024 37.5 m 39.0073 37.5 x -b 19.8735 56.25 m 39.7596 56.25 x -b 39.0073 37.5 m 39.7596 56.25 x -b 58.5096 37.5 m 59.6605 56.25 x -b 39.0073 37.5 m 58.5096 37.5 x -b 39.7596 56.25 m 59.6605 56.25 x -b 58.5096 37.5 m 59.6605 56.25 x -b 77.99 37.5 m 79.5548 56.25 x -b 58.5096 37.5 m 77.99 37.5 x -b 59.6605 56.25 m 79.5548 56.25 x -b 77.99 37.5 m 79.5548 56.25 x -b 97.409 37.5 m 99.384 56.25 x -b 77.99 37.5 m 97.409 37.5 x -b 79.5548 56.25 m 99.384 56.25 x -b 97.409 37.5 m 99.384 56.25 x -b 116.709 37.5 m 119.047 56.25 x -b 97.409 37.5 m 116.709 37.5 x -b 99.384 56.25 m 119.047 56.25 x -b 116.709 37.5 m 119.047 56.25 x -b 135.824 37.5 m 138.419 56.25 x -b 116.709 37.5 m 135.824 37.5 x -b 119.047 56.25 m 138.419 56.25 x -b 135.824 37.5 m 138.419 56.25 x -b 154.703 37.5 m 157.39 56.25 x -b 135.824 37.5 m 154.703 37.5 x -b 138.419 56.25 m 157.39 56.25 x -b 154.703 37.5 m 157.39 56.25 x -b 173.324 37.5 m 175.919 56.25 x -b 154.703 37.5 m 173.324 37.5 x -b 157.39 56.25 m 175.919 56.25 x -b 173.324 37.5 m 175.919 56.25 x -b 191.709 37.5 m 194.047 56.25 x -b 173.324 37.5 m 191.709 37.5 x -b 175.919 56.25 m 194.047 56.25 x -b 191.709 37.5 m 194.047 56.25 x -b 209.909 37.5 m 211.884 56.25 x -b 191.709 37.5 m 209.909 37.5 x -b 194.047 56.25 m 211.884 56.25 x -b 209.909 37.5 m 211.884 56.25 x -b 227.99 37.5 m 229.555 56.25 x -b 209.909 37.5 m 227.99 37.5 x -b 211.884 56.25 m 229.555 56.25 x -b 227.99 37.5 m 229.555 56.25 x -b 246.01 37.5 m 247.161 56.25 x -b 227.99 37.5 m 246.01 37.5 x -b 229.555 56.25 m 247.161 56.25 x -b 246.01 37.5 m 247.161 56.25 x -b 264.007 37.5 m 264.76 56.25 x -b 246.01 37.5 m 264.007 37.5 x -b 247.161 56.25 m 264.76 56.25 x -b 264.007 37.5 m 264.76 56.25 x -b 282.002 37.5 m 282.374 56.25 x -b 264.007 37.5 m 282.002 37.5 x -b 264.76 56.25 m 282.374 56.25 x -b 282.002 37.5 m 282.374 56.25 x -b 300 37.5 m 300 56.25 x -b 282.002 37.5 m 300 37.5 x -b 282.374 56.25 m 300 56.25 x -b 1.27365e-11 56.25 m 1.27098e-11 75 x -b 19.8735 56.25 m 20.229 75 x -b 1.27365e-11 56.25 m 19.8735 56.25 x -b 1.27098e-11 75 m 20.229 75 x -b 19.8735 56.25 m 20.229 75 x -b 39.7596 56.25 m 40.49 75 x -b 19.8735 56.25 m 39.7596 56.25 x -b 20.229 75 m 40.49 75 x -b 39.7596 56.25 m 40.49 75 x -b 59.6605 56.25 m 60.8048 75 x -b 39.7596 56.25 m 59.6605 56.25 x -b 40.49 75 m 60.8048 75 x -b 59.6605 56.25 m 60.8048 75 x -b 79.5548 56.25 m 81.168 75 x -b 59.6605 56.25 m 79.5548 56.25 x -b 60.8048 75 m 81.168 75 x -b 79.5548 56.25 m 81.168 75 x -b 99.384 56.25 m 101.512 75 x -b 79.5548 56.25 m 99.384 56.25 x -b 81.168 75 m 101.512 75 x -b 99.384 56.25 m 101.512 75 x -b 119.047 56.25 m 121.682 75 x -b 99.384 56.25 m 119.047 56.25 x -b 101.512 75 m 121.682 75 x -b 119.047 56.25 m 121.682 75 x -b 138.419 56.25 m 141.438 75 x -b 119.047 56.25 m 138.419 56.25 x -b 121.682 75 m 141.438 75 x -b 138.419 56.25 m 141.438 75 x -b 157.39 56.25 m 160.556 75 x -b 138.419 56.25 m 157.39 56.25 x -b 141.438 75 m 160.556 75 x -b 157.39 56.25 m 160.556 75 x -b 175.919 56.25 m 178.938 75 x -b 157.39 56.25 m 175.919 56.25 x -b 160.556 75 m 178.938 75 x -b 175.919 56.25 m 178.938 75 x -b 194.047 56.25 m 196.682 75 x -b 175.919 56.25 m 194.047 56.25 x -b 178.938 75 m 196.682 75 x -b 194.047 56.25 m 196.682 75 x -b 211.884 56.25 m 214.012 75 x -b 194.047 56.25 m 211.884 56.25 x -b 196.682 75 m 214.012 75 x -b 211.884 56.25 m 214.012 75 x -b 229.555 56.25 m 231.168 75 x -b 211.884 56.25 m 229.555 56.25 x -b 214.012 75 m 231.168 75 x -b 229.555 56.25 m 231.168 75 x -b 247.161 56.25 m 248.305 75 x -b 229.555 56.25 m 247.161 56.25 x -b 231.168 75 m 248.305 75 x -b 247.161 56.25 m 248.305 75 x -b 264.76 56.25 m 265.49 75 x -b 247.161 56.25 m 264.76 56.25 x -b 248.305 75 m 265.49 75 x -b 264.76 56.25 m 265.49 75 x -b 282.374 56.25 m 282.729 75 x -b 264.76 56.25 m 282.374 56.25 x -b 265.49 75 m 282.729 75 x -b 282.374 56.25 m 282.729 75 x -b 300 56.25 m 300 75 x -b 282.374 56.25 m 300 56.25 x -b 282.729 75 m 300 75 x -b 1.27098e-11 75 m 1.27098e-11 93.75 x -b 20.229 75 m 20.5495 93.75 x -b 1.27098e-11 75 m 20.229 75 x -b 1.27098e-11 93.75 m 20.5495 93.75 x -b 20.229 75 m 20.5495 93.75 x -b 40.49 75 m 41.159 93.75 x -b 20.229 75 m 40.49 75 x -b 20.5495 93.75 m 41.159 93.75 x -b 40.49 75 m 41.159 93.75 x -b 60.8048 75 m 61.884 93.75 x -b 40.49 75 m 60.8048 75 x -b 41.159 93.75 m 61.884 93.75 x -b 60.8048 75 m 61.884 93.75 x -b 81.168 75 m 82.7625 93.75 x -b 60.8048 75 m 81.168 75 x -b 61.884 93.75 m 82.7625 93.75 x -b 81.168 75 m 82.7625 93.75 x -b 101.512 75 m 103.781 93.75 x -b 81.168 75 m 101.512 75 x -b 82.7625 93.75 m 103.781 93.75 x -b 101.512 75 m 103.781 93.75 x -b 121.682 75 m 124.72 93.75 x -b 101.512 75 m 121.682 75 x -b 103.781 93.75 m 124.72 93.75 x -b 121.682 75 m 124.72 93.75 x -b 141.438 75 m 145.155 93.75 x -b 121.682 75 m 141.438 75 x -b 124.72 93.75 m 145.155 93.75 x -b 141.438 75 m 145.155 93.75 x -b 160.556 75 m 164.534 93.75 x -b 141.438 75 m 160.556 75 x -b 145.155 93.75 m 164.534 93.75 x -b 160.556 75 m 164.534 93.75 x -b 178.938 75 m 182.655 93.75 x -b 160.556 75 m 178.938 75 x -b 164.534 93.75 m 182.655 93.75 x -b 178.938 75 m 182.655 93.75 x -b 196.682 75 m 199.72 93.75 x -b 178.938 75 m 196.682 75 x -b 182.655 93.75 m 199.72 93.75 x -b 196.682 75 m 199.72 93.75 x -b 214.012 75 m 216.281 93.75 x -b 196.682 75 m 214.012 75 x -b 199.72 93.75 m 216.281 93.75 x -b 214.012 75 m 216.281 93.75 x -b 231.168 75 m 232.762 93.75 x -b 214.012 75 m 231.168 75 x -b 216.281 93.75 m 232.762 93.75 x -b 231.168 75 m 232.762 93.75 x -b 248.305 75 m 249.384 93.75 x -b 231.168 75 m 248.305 75 x -b 232.762 93.75 m 249.384 93.75 x -b 248.305 75 m 249.384 93.75 x -b 265.49 75 m 266.159 93.75 x -b 248.305 75 m 265.49 75 x -b 249.384 93.75 m 266.159 93.75 x -b 265.49 75 m 266.159 93.75 x -b 282.729 75 m 283.049 93.75 x -b 265.49 75 m 282.729 75 x -b 266.159 93.75 m 283.049 93.75 x -b 282.729 75 m 283.049 93.75 x -b 300 75 m 300 93.75 x -b 282.729 75 m 300 75 x -b 283.049 93.75 m 300 93.75 x -b 1.27098e-11 93.75 m 1.27098e-11 112.5 x -b 20.5495 93.75 m 20.8088 112.5 x -b 1.27098e-11 93.75 m 20.5495 93.75 x -b 1.27098e-11 112.5 m 20.8088 112.5 x -b 20.5495 93.75 m 20.8088 112.5 x -b 41.159 93.75 m 41.7088 112.5 x -b 20.5495 93.75 m 41.159 93.75 x -b 20.8088 112.5 m 41.7088 112.5 x -b 41.159 93.75 m 41.7088 112.5 x -b 61.884 93.75 m 62.7971 112.5 x -b 41.159 93.75 m 61.884 93.75 x -b 41.7088 112.5 m 62.7971 112.5 x -b 61.884 93.75 m 62.7971 112.5 x -b 82.7625 93.75 m 84.182 112.5 x -b 61.884 93.75 m 82.7625 93.75 x -b 62.7971 112.5 m 84.182 112.5 x -b 82.7625 93.75 m 84.182 112.5 x -b 103.781 93.75 m 105.97 112.5 x -b 82.7625 93.75 m 103.781 93.75 x -b 84.182 112.5 m 105.97 112.5 x -b 103.781 93.75 m 105.97 112.5 x -b 124.72 93.75 m 128.249 112.5 x -b 103.781 93.75 m 124.72 93.75 x -b 105.97 112.5 m 128.249 112.5 x -b 124.72 93.75 m 128.249 112.5 x -b 145.155 93.75 m 149.977 112.5 x -b 124.72 93.75 m 145.155 93.75 x -b 128.249 112.5 m 149.977 112.5 x -b 145.155 93.75 m 149.977 112.5 x -b 164.534 93.75 m 170.081 112.5 x -b 145.155 93.75 m 164.534 93.75 x -b 149.977 112.5 m 170.081 112.5 x -b 164.534 93.75 m 170.081 112.5 x -b 182.655 93.75 m 187.477 112.5 x -b 164.534 93.75 m 182.655 93.75 x -b 170.081 112.5 m 187.477 112.5 x -b 182.655 93.75 m 187.477 112.5 x -b 199.72 93.75 m 203.249 112.5 x -b 182.655 93.75 m 199.72 93.75 x -b 187.477 112.5 m 203.249 112.5 x -b 199.72 93.75 m 203.249 112.5 x -b 216.281 93.75 m 218.47 112.5 x -b 199.72 93.75 m 216.281 93.75 x -b 203.249 112.5 m 218.47 112.5 x -b 216.281 93.75 m 218.47 112.5 x -b 232.762 93.75 m 234.182 112.5 x -b 216.281 93.75 m 232.762 93.75 x -b 218.47 112.5 m 234.182 112.5 x -b 232.762 93.75 m 234.182 112.5 x -b 249.384 93.75 m 250.297 112.5 x -b 232.762 93.75 m 249.384 93.75 x -b 234.182 112.5 m 250.297 112.5 x -b 249.384 93.75 m 250.297 112.5 x -b 266.159 93.75 m 266.709 112.5 x -b 249.384 93.75 m 266.159 93.75 x -b 250.297 112.5 m 266.709 112.5 x -b 266.159 93.75 m 266.709 112.5 x -b 283.049 93.75 m 283.309 112.5 x -b 266.159 93.75 m 283.049 93.75 x -b 266.709 112.5 m 283.309 112.5 x -b 283.049 93.75 m 283.309 112.5 x -b 300 93.75 m 300 112.5 x -b 283.049 93.75 m 300 93.75 x -b 283.309 112.5 m 300 112.5 x -b 1.27098e-11 112.5 m 1.27098e-11 131.25 x -b 20.8088 112.5 m 20.9792 131.25 x -b 1.27098e-11 112.5 m 20.8088 112.5 x -b 1.27098e-11 131.25 m 20.9792 131.25 x -b 20.8088 112.5 m 20.9792 131.25 x -b 41.7088 112.5 m 42.0743 131.25 x -b 20.8088 112.5 m 41.7088 112.5 x -b 20.9792 131.25 m 42.0743 131.25 x -b 41.7088 112.5 m 42.0743 131.25 x -b 62.7971 112.5 m 63.4186 131.25 x -b 41.7088 112.5 m 62.7971 112.5 x -b 42.0743 131.25 m 63.4186 131.25 x -b 62.7971 112.5 m 63.4186 131.25 x -b 84.182 112.5 m 85.1879 131.25 x -b 62.7971 112.5 m 84.182 112.5 x -b 63.4186 131.25 m 85.1879 131.25 x -b 84.182 112.5 m 85.1879 131.25 x -b 105.97 112.5 m 107.655 131.25 x -b 84.182 112.5 m 105.97 112.5 x -b 85.1879 131.25 m 107.655 131.25 x -b 105.97 112.5 m 107.655 131.25 x -b 128.249 112.5 m 131.227 131.25 x -b 105.97 112.5 m 128.249 112.5 x -b 107.655 131.25 m 131.227 131.25 x -b 128.249 112.5 m 131.227 131.25 x -b 149.977 112.5 m 157.506 131.25 x -b 128.249 112.5 m 149.977 112.5 x -b 131.227 131.25 m 157.506 131.25 x -b 149.977 112.5 m 157.506 131.25 x -b 170.081 112.5 m 178.341 131.25 x -b 149.977 112.5 m 170.081 112.5 x -b 157.506 131.25 m 178.341 131.25 x -b 170.081 112.5 m 178.341 131.25 x -b 187.477 112.5 m 195.006 131.25 x -b 170.081 112.5 m 187.477 112.5 x -b 178.341 131.25 m 195.006 131.25 x -b 187.477 112.5 m 195.006 131.25 x -b 203.249 112.5 m 206.227 131.25 x -b 187.477 112.5 m 203.249 112.5 x -b 195.006 131.25 m 206.227 131.25 x -b 203.249 112.5 m 206.227 131.25 x -b 218.47 112.5 m 220.155 131.25 x -b 203.249 112.5 m 218.47 112.5 x -b 206.227 131.25 m 220.155 131.25 x -b 218.47 112.5 m 220.155 131.25 x -b 234.182 112.5 m 235.188 131.25 x -b 218.47 112.5 m 234.182 112.5 x -b 220.155 131.25 m 235.188 131.25 x -b 234.182 112.5 m 235.188 131.25 x -b 250.297 112.5 m 250.919 131.25 x -b 234.182 112.5 m 250.297 112.5 x -b 235.188 131.25 m 250.919 131.25 x -b 250.297 112.5 m 250.919 131.25 x -b 266.709 112.5 m 267.074 131.25 x -b 250.297 112.5 m 266.709 112.5 x -b 250.919 131.25 m 267.074 131.25 x -b 266.709 112.5 m 267.074 131.25 x -b 283.309 112.5 m 283.479 131.25 x -b 266.709 112.5 m 283.309 112.5 x -b 267.074 131.25 m 283.479 131.25 x -b 283.309 112.5 m 283.479 131.25 x -b 300 112.5 m 300 131.25 x -b 283.309 112.5 m 300 112.5 x -b 283.479 131.25 m 300 131.25 x -b 1.27098e-11 131.25 m 1.27098e-11 150 x -b 20.9792 131.25 m 21.0387 150 x -b 1.27098e-11 131.25 m 20.9792 131.25 x -b 1.27098e-11 150 m 21.0387 150 x -b 20.9792 131.25 m 21.0387 150 x -b 42.0743 131.25 m 42.2029 150 x -b 20.9792 131.25 m 42.0743 131.25 x -b 21.0387 150 m 42.2029 150 x -b 42.0743 131.25 m 42.2029 150 x -b 63.4186 131.25 m 63.64 150 x -b 42.0743 131.25 m 63.4186 131.25 x -b 42.2029 150 m 63.64 150 x -b 63.4186 131.25 m 63.64 150 x -b 85.1879 131.25 m 85.5558 150 x -b 63.4186 131.25 m 85.1879 131.25 x -b 63.64 150 m 85.5558 150 x -b 85.1879 131.25 m 85.5558 150 x -b 107.655 131.25 m 108.284 150 x -b 85.1879 131.25 m 107.655 131.25 x -b 85.5558 150 m 108.284 150 x -b 107.655 131.25 m 108.284 150 x -b 131.227 131.25 m 132.581 150 x -b 107.655 131.25 m 131.227 131.25 x -b 108.284 150 m 132.581 150 x -b 131.227 131.25 m 132.581 150 x -b 157.506 131.25 m 159.591 150 x -b 131.227 131.25 m 157.506 131.25 x -b 132.581 150 m 159.591 150 x -b 157.506 131.25 m 159.591 150 x -b 178.341 131.25 m 210 150 x -b 157.506 131.25 m 178.341 131.25 x -b 159.591 150 m 210 150 x -b 178.341 131.25 m 210 150 x -b 195.006 131.25 m 197.091 150 x -b 178.341 131.25 m 195.006 131.25 x -b 210 150 m 197.091 150 x -b 195.006 131.25 m 197.091 150 x -b 206.227 131.25 m 207.581 150 x -b 195.006 131.25 m 206.227 131.25 x -b 197.091 150 m 207.581 150 x -b 206.227 131.25 m 207.581 150 x -b 220.155 131.25 m 220.784 150 x -b 206.227 131.25 m 220.155 131.25 x -b 207.581 150 m 220.784 150 x -b 220.155 131.25 m 220.784 150 x -b 235.188 131.25 m 235.556 150 x -b 220.155 131.25 m 235.188 131.25 x -b 220.784 150 m 235.556 150 x -b 235.188 131.25 m 235.556 150 x -b 250.919 131.25 m 251.14 150 x -b 235.188 131.25 m 250.919 131.25 x -b 235.556 150 m 251.14 150 x -b 250.919 131.25 m 251.14 150 x -b 267.074 131.25 m 267.203 150 x -b 250.919 131.25 m 267.074 131.25 x -b 251.14 150 m 267.203 150 x -b 267.074 131.25 m 267.203 150 x -b 283.479 131.25 m 283.539 150 x -b 267.074 131.25 m 283.479 131.25 x -b 267.203 150 m 283.539 150 x -b 283.479 131.25 m 283.539 150 x -b 300 131.25 m 300 150 x -b 283.479 131.25 m 300 131.25 x -b 283.539 150 m 300 150 x -b 1.27098e-11 150 m 1.27098e-11 168.75 x -b 21.0387 150 m 20.9792 168.75 x -b 1.27098e-11 150 m 21.0387 150 x -b 1.27098e-11 168.75 m 20.9792 168.75 x -b 21.0387 150 m 20.9792 168.75 x -b 42.2029 150 m 42.0743 168.75 x -b 21.0387 150 m 42.2029 150 x -b 20.9792 168.75 m 42.0743 168.75 x -b 42.2029 150 m 42.0743 168.75 x -b 63.64 150 m 63.4186 168.75 x -b 42.2029 150 m 63.64 150 x -b 42.0743 168.75 m 63.4186 168.75 x -b 63.64 150 m 63.4186 168.75 x -b 85.5558 150 m 85.1879 168.75 x -b 63.64 150 m 85.5558 150 x -b 63.4186 168.75 m 85.1879 168.75 x -b 85.5558 150 m 85.1879 168.75 x -b 108.284 150 m 107.655 168.75 x -b 85.5558 150 m 108.284 150 x -b 85.1879 168.75 m 107.655 168.75 x -b 108.284 150 m 107.655 168.75 x -b 132.581 150 m 131.227 168.75 x -b 108.284 150 m 132.581 150 x -b 107.655 168.75 m 131.227 168.75 x -b 132.581 150 m 131.227 168.75 x -b 159.591 150 m 157.506 168.75 x -b 132.581 150 m 159.591 150 x -b 131.227 168.75 m 157.506 168.75 x -b 159.591 150 m 157.506 168.75 x -b 210 150 m 178.341 168.75 x -b 159.591 150 m 210 150 x -b 157.506 168.75 m 178.341 168.75 x -b 210 150 m 178.341 168.75 x -b 197.091 150 m 195.006 168.75 x -b 210 150 m 197.091 150 x -b 178.341 168.75 m 195.006 168.75 x -b 197.091 150 m 195.006 168.75 x -b 207.581 150 m 206.227 168.75 x -b 197.091 150 m 207.581 150 x -b 195.006 168.75 m 206.227 168.75 x -b 207.581 150 m 206.227 168.75 x -b 220.784 150 m 220.155 168.75 x -b 207.581 150 m 220.784 150 x -b 206.227 168.75 m 220.155 168.75 x -b 220.784 150 m 220.155 168.75 x -b 235.556 150 m 235.188 168.75 x -b 220.784 150 m 235.556 150 x -b 220.155 168.75 m 235.188 168.75 x -b 235.556 150 m 235.188 168.75 x -b 251.14 150 m 250.919 168.75 x -b 235.556 150 m 251.14 150 x -b 235.188 168.75 m 250.919 168.75 x -b 251.14 150 m 250.919 168.75 x -b 267.203 150 m 267.074 168.75 x -b 251.14 150 m 267.203 150 x -b 250.919 168.75 m 267.074 168.75 x -b 267.203 150 m 267.074 168.75 x -b 283.539 150 m 283.479 168.75 x -b 267.203 150 m 283.539 150 x -b 267.074 168.75 m 283.479 168.75 x -b 283.539 150 m 283.479 168.75 x -b 300 150 m 300 168.75 x -b 283.539 150 m 300 150 x -b 283.479 168.75 m 300 168.75 x -b 1.27098e-11 168.75 m 1.27365e-11 187.5 x -b 20.9792 168.75 m 20.8088 187.5 x -b 1.27098e-11 168.75 m 20.9792 168.75 x -b 1.27365e-11 187.5 m 20.8088 187.5 x -b 20.9792 168.75 m 20.8088 187.5 x -b 42.0743 168.75 m 41.7088 187.5 x -b 20.9792 168.75 m 42.0743 168.75 x -b 20.8088 187.5 m 41.7088 187.5 x -b 42.0743 168.75 m 41.7088 187.5 x -b 63.4186 168.75 m 62.7971 187.5 x -b 42.0743 168.75 m 63.4186 168.75 x -b 41.7088 187.5 m 62.7971 187.5 x -b 63.4186 168.75 m 62.7971 187.5 x -b 85.1879 168.75 m 84.182 187.5 x -b 63.4186 168.75 m 85.1879 168.75 x -b 62.7971 187.5 m 84.182 187.5 x -b 85.1879 168.75 m 84.182 187.5 x -b 107.655 168.75 m 105.97 187.5 x -b 85.1879 168.75 m 107.655 168.75 x -b 84.182 187.5 m 105.97 187.5 x -b 107.655 168.75 m 105.97 187.5 x -b 131.227 168.75 m 128.249 187.5 x -b 107.655 168.75 m 131.227 168.75 x -b 105.97 187.5 m 128.249 187.5 x -b 131.227 168.75 m 128.249 187.5 x -b 157.506 168.75 m 149.977 187.5 x -b 131.227 168.75 m 157.506 168.75 x -b 128.249 187.5 m 149.977 187.5 x -b 157.506 168.75 m 149.977 187.5 x -b 178.341 168.75 m 170.081 187.5 x -b 157.506 168.75 m 178.341 168.75 x -b 149.977 187.5 m 170.081 187.5 x -b 178.341 168.75 m 170.081 187.5 x -b 195.006 168.75 m 187.477 187.5 x -b 178.341 168.75 m 195.006 168.75 x -b 170.081 187.5 m 187.477 187.5 x -b 195.006 168.75 m 187.477 187.5 x -b 206.227 168.75 m 203.249 187.5 x -b 195.006 168.75 m 206.227 168.75 x -b 187.477 187.5 m 203.249 187.5 x -b 206.227 168.75 m 203.249 187.5 x -b 220.155 168.75 m 218.47 187.5 x -b 206.227 168.75 m 220.155 168.75 x -b 203.249 187.5 m 218.47 187.5 x -b 220.155 168.75 m 218.47 187.5 x -b 235.188 168.75 m 234.182 187.5 x -b 220.155 168.75 m 235.188 168.75 x -b 218.47 187.5 m 234.182 187.5 x -b 235.188 168.75 m 234.182 187.5 x -b 250.919 168.75 m 250.297 187.5 x -b 235.188 168.75 m 250.919 168.75 x -b 234.182 187.5 m 250.297 187.5 x -b 250.919 168.75 m 250.297 187.5 x -b 267.074 168.75 m 266.709 187.5 x -b 250.919 168.75 m 267.074 168.75 x -b 250.297 187.5 m 266.709 187.5 x -b 267.074 168.75 m 266.709 187.5 x -b 283.479 168.75 m 283.309 187.5 x -b 267.074 168.75 m 283.479 168.75 x -b 266.709 187.5 m 283.309 187.5 x -b 283.479 168.75 m 283.309 187.5 x -b 300 168.75 m 300 187.5 x -b 283.479 168.75 m 300 168.75 x -b 283.309 187.5 m 300 187.5 x -b 1.27365e-11 187.5 m 1.27098e-11 206.25 x -b 20.8088 187.5 m 20.5495 206.25 x -b 1.27365e-11 187.5 m 20.8088 187.5 x -b 1.27098e-11 206.25 m 20.5495 206.25 x -b 20.8088 187.5 m 20.5495 206.25 x -b 41.7088 187.5 m 41.159 206.25 x -b 20.8088 187.5 m 41.7088 187.5 x -b 20.5495 206.25 m 41.159 206.25 x -b 41.7088 187.5 m 41.159 206.25 x -b 62.7971 187.5 m 61.884 206.25 x -b 41.7088 187.5 m 62.7971 187.5 x -b 41.159 206.25 m 61.884 206.25 x -b 62.7971 187.5 m 61.884 206.25 x -b 84.182 187.5 m 82.7625 206.25 x -b 62.7971 187.5 m 84.182 187.5 x -b 61.884 206.25 m 82.7625 206.25 x -b 84.182 187.5 m 82.7625 206.25 x -b 105.97 187.5 m 103.781 206.25 x -b 84.182 187.5 m 105.97 187.5 x -b 82.7625 206.25 m 103.781 206.25 x -b 105.97 187.5 m 103.781 206.25 x -b 128.249 187.5 m 124.72 206.25 x -b 105.97 187.5 m 128.249 187.5 x -b 103.781 206.25 m 124.72 206.25 x -b 128.249 187.5 m 124.72 206.25 x -b 149.977 187.5 m 145.155 206.25 x -b 128.249 187.5 m 149.977 187.5 x -b 124.72 206.25 m 145.155 206.25 x -b 149.977 187.5 m 145.155 206.25 x -b 170.081 187.5 m 164.534 206.25 x -b 149.977 187.5 m 170.081 187.5 x -b 145.155 206.25 m 164.534 206.25 x -b 170.081 187.5 m 164.534 206.25 x -b 187.477 187.5 m 182.655 206.25 x -b 170.081 187.5 m 187.477 187.5 x -b 164.534 206.25 m 182.655 206.25 x -b 187.477 187.5 m 182.655 206.25 x -b 203.249 187.5 m 199.72 206.25 x -b 187.477 187.5 m 203.249 187.5 x -b 182.655 206.25 m 199.72 206.25 x -b 203.249 187.5 m 199.72 206.25 x -b 218.47 187.5 m 216.281 206.25 x -b 203.249 187.5 m 218.47 187.5 x -b 199.72 206.25 m 216.281 206.25 x -b 218.47 187.5 m 216.281 206.25 x -b 234.182 187.5 m 232.762 206.25 x -b 218.47 187.5 m 234.182 187.5 x -b 216.281 206.25 m 232.762 206.25 x -b 234.182 187.5 m 232.762 206.25 x -b 250.297 187.5 m 249.384 206.25 x -b 234.182 187.5 m 250.297 187.5 x -b 232.762 206.25 m 249.384 206.25 x -b 250.297 187.5 m 249.384 206.25 x -b 266.709 187.5 m 266.159 206.25 x -b 250.297 187.5 m 266.709 187.5 x -b 249.384 206.25 m 266.159 206.25 x -b 266.709 187.5 m 266.159 206.25 x -b 283.309 187.5 m 283.049 206.25 x -b 266.709 187.5 m 283.309 187.5 x -b 266.159 206.25 m 283.049 206.25 x -b 283.309 187.5 m 283.049 206.25 x -b 300 187.5 m 300 206.25 x -b 283.309 187.5 m 300 187.5 x -b 283.049 206.25 m 300 206.25 x -b 1.27098e-11 206.25 m 1.27365e-11 225 x -b 20.5495 206.25 m 20.229 225 x -b 1.27098e-11 206.25 m 20.5495 206.25 x -b 1.27365e-11 225 m 20.229 225 x -b 20.5495 206.25 m 20.229 225 x -b 41.159 206.25 m 40.49 225 x -b 20.5495 206.25 m 41.159 206.25 x -b 20.229 225 m 40.49 225 x -b 41.159 206.25 m 40.49 225 x -b 61.884 206.25 m 60.8048 225 x -b 41.159 206.25 m 61.884 206.25 x -b 40.49 225 m 60.8048 225 x -b 61.884 206.25 m 60.8048 225 x -b 82.7625 206.25 m 81.168 225 x -b 61.884 206.25 m 82.7625 206.25 x -b 60.8048 225 m 81.168 225 x -b 82.7625 206.25 m 81.168 225 x -b 103.781 206.25 m 101.512 225 x -b 82.7625 206.25 m 103.781 206.25 x -b 81.168 225 m 101.512 225 x -b 103.781 206.25 m 101.512 225 x -b 124.72 206.25 m 121.682 225 x -b 103.781 206.25 m 124.72 206.25 x -b 101.512 225 m 121.682 225 x -b 124.72 206.25 m 121.682 225 x -b 145.155 206.25 m 141.438 225 x -b 124.72 206.25 m 145.155 206.25 x -b 121.682 225 m 141.438 225 x -b 145.155 206.25 m 141.438 225 x -b 164.534 206.25 m 160.556 225 x -b 145.155 206.25 m 164.534 206.25 x -b 141.438 225 m 160.556 225 x -b 164.534 206.25 m 160.556 225 x -b 182.655 206.25 m 178.938 225 x -b 164.534 206.25 m 182.655 206.25 x -b 160.556 225 m 178.938 225 x -b 182.655 206.25 m 178.938 225 x -b 199.72 206.25 m 196.682 225 x -b 182.655 206.25 m 199.72 206.25 x -b 178.938 225 m 196.682 225 x -b 199.72 206.25 m 196.682 225 x -b 216.281 206.25 m 214.012 225 x -b 199.72 206.25 m 216.281 206.25 x -b 196.682 225 m 214.012 225 x -b 216.281 206.25 m 214.012 225 x -b 232.762 206.25 m 231.168 225 x -b 216.281 206.25 m 232.762 206.25 x -b 214.012 225 m 231.168 225 x -b 232.762 206.25 m 231.168 225 x -b 249.384 206.25 m 248.305 225 x -b 232.762 206.25 m 249.384 206.25 x -b 231.168 225 m 248.305 225 x -b 249.384 206.25 m 248.305 225 x -b 266.159 206.25 m 265.49 225 x -b 249.384 206.25 m 266.159 206.25 x -b 248.305 225 m 265.49 225 x -b 266.159 206.25 m 265.49 225 x -b 283.049 206.25 m 282.729 225 x -b 266.159 206.25 m 283.049 206.25 x -b 265.49 225 m 282.729 225 x -b 283.049 206.25 m 282.729 225 x -b 300 206.25 m 300 225 x -b 283.049 206.25 m 300 206.25 x -b 282.729 225 m 300 225 x -b 1.27365e-11 225 m 1.27098e-11 243.75 x -b 20.229 225 m 19.8735 243.75 x -b 1.27365e-11 225 m 20.229 225 x -b 1.27098e-11 243.75 m 19.8735 243.75 x -b 20.229 225 m 19.8735 243.75 x -b 40.49 225 m 39.7596 243.75 x -b 20.229 225 m 40.49 225 x -b 19.8735 243.75 m 39.7596 243.75 x -b 40.49 225 m 39.7596 243.75 x -b 60.8048 225 m 59.6605 243.75 x -b 40.49 225 m 60.8048 225 x -b 39.7596 243.75 m 59.6605 243.75 x -b 60.8048 225 m 59.6605 243.75 x -b 81.168 225 m 79.5548 243.75 x -b 60.8048 225 m 81.168 225 x -b 59.6605 243.75 m 79.5548 243.75 x -b 81.168 225 m 79.5548 243.75 x -b 101.512 225 m 99.384 243.75 x -b 81.168 225 m 101.512 225 x -b 79.5548 243.75 m 99.384 243.75 x -b 101.512 225 m 99.384 243.75 x -b 121.682 225 m 119.047 243.75 x -b 101.512 225 m 121.682 225 x -b 99.384 243.75 m 119.047 243.75 x -b 121.682 225 m 119.047 243.75 x -b 141.438 225 m 138.419 243.75 x -b 121.682 225 m 141.438 225 x -b 119.047 243.75 m 138.419 243.75 x -b 141.438 225 m 138.419 243.75 x -b 160.556 225 m 157.39 243.75 x -b 141.438 225 m 160.556 225 x -b 138.419 243.75 m 157.39 243.75 x -b 160.556 225 m 157.39 243.75 x -b 178.938 225 m 175.919 243.75 x -b 160.556 225 m 178.938 225 x -b 157.39 243.75 m 175.919 243.75 x -b 178.938 225 m 175.919 243.75 x -b 196.682 225 m 194.047 243.75 x -b 178.938 225 m 196.682 225 x -b 175.919 243.75 m 194.047 243.75 x -b 196.682 225 m 194.047 243.75 x -b 214.012 225 m 211.884 243.75 x -b 196.682 225 m 214.012 225 x -b 194.047 243.75 m 211.884 243.75 x -b 214.012 225 m 211.884 243.75 x -b 231.168 225 m 229.555 243.75 x -b 214.012 225 m 231.168 225 x -b 211.884 243.75 m 229.555 243.75 x -b 231.168 225 m 229.555 243.75 x -b 248.305 225 m 247.161 243.75 x -b 231.168 225 m 248.305 225 x -b 229.555 243.75 m 247.161 243.75 x -b 248.305 225 m 247.161 243.75 x -b 265.49 225 m 264.76 243.75 x -b 248.305 225 m 265.49 225 x -b 247.161 243.75 m 264.76 243.75 x -b 265.49 225 m 264.76 243.75 x -b 282.729 225 m 282.374 243.75 x -b 265.49 225 m 282.729 225 x -b 264.76 243.75 m 282.374 243.75 x -b 282.729 225 m 282.374 243.75 x -b 300 225 m 300 243.75 x -b 282.729 225 m 300 225 x -b 282.374 243.75 m 300 243.75 x -b 1.27098e-11 243.75 m 1.27098e-11 262.5 x -b 19.8735 243.75 m 19.5024 262.5 x -b 1.27098e-11 243.75 m 19.8735 243.75 x -b 1.27098e-11 262.5 m 19.5024 262.5 x -b 19.8735 243.75 m 19.5024 262.5 x -b 39.7596 243.75 m 39.0073 262.5 x -b 19.8735 243.75 m 39.7596 243.75 x -b 19.5024 262.5 m 39.0073 262.5 x -b 39.7596 243.75 m 39.0073 262.5 x -b 59.6605 243.75 m 58.5096 262.5 x -b 39.7596 243.75 m 59.6605 243.75 x -b 39.0073 262.5 m 58.5096 262.5 x -b 59.6605 243.75 m 58.5096 262.5 x -b 79.5548 243.75 m 77.99 262.5 x -b 59.6605 243.75 m 79.5548 243.75 x -b 58.5096 262.5 m 77.99 262.5 x -b 79.5548 243.75 m 77.99 262.5 x -b 99.384 243.75 m 97.409 262.5 x -b 79.5548 243.75 m 99.384 243.75 x -b 77.99 262.5 m 97.409 262.5 x -b 99.384 243.75 m 97.409 262.5 x -b 119.047 243.75 m 116.709 262.5 x -b 99.384 243.75 m 119.047 243.75 x -b 97.409 262.5 m 116.709 262.5 x -b 119.047 243.75 m 116.709 262.5 x -b 138.419 243.75 m 135.824 262.5 x -b 119.047 243.75 m 138.419 243.75 x -b 116.709 262.5 m 135.824 262.5 x -b 138.419 243.75 m 135.824 262.5 x -b 157.39 243.75 m 154.703 262.5 x -b 138.419 243.75 m 157.39 243.75 x -b 135.824 262.5 m 154.703 262.5 x -b 157.39 243.75 m 154.703 262.5 x -b 175.919 243.75 m 173.324 262.5 x -b 157.39 243.75 m 175.919 243.75 x -b 154.703 262.5 m 173.324 262.5 x -b 175.919 243.75 m 173.324 262.5 x -b 194.047 243.75 m 191.709 262.5 x -b 175.919 243.75 m 194.047 243.75 x -b 173.324 262.5 m 191.709 262.5 x -b 194.047 243.75 m 191.709 262.5 x -b 211.884 243.75 m 209.909 262.5 x -b 194.047 243.75 m 211.884 243.75 x -b 191.709 262.5 m 209.909 262.5 x -b 211.884 243.75 m 209.909 262.5 x -b 229.555 243.75 m 227.99 262.5 x -b 211.884 243.75 m 229.555 243.75 x -b 209.909 262.5 m 227.99 262.5 x -b 229.555 243.75 m 227.99 262.5 x -b 247.161 243.75 m 246.01 262.5 x -b 229.555 243.75 m 247.161 243.75 x -b 227.99 262.5 m 246.01 262.5 x -b 247.161 243.75 m 246.01 262.5 x -b 264.76 243.75 m 264.007 262.5 x -b 247.161 243.75 m 264.76 243.75 x -b 246.01 262.5 m 264.007 262.5 x -b 264.76 243.75 m 264.007 262.5 x -b 282.374 243.75 m 282.002 262.5 x -b 264.76 243.75 m 282.374 243.75 x -b 264.007 262.5 m 282.002 262.5 x -b 282.374 243.75 m 282.002 262.5 x -b 300 243.75 m 300 262.5 x -b 282.374 243.75 m 300 243.75 x -b 282.002 262.5 m 300 262.5 x -b 1.27098e-11 262.5 m 1.27631e-11 281.25 x -b 19.5024 262.5 m 19.1265 281.25 x -b 1.27098e-11 262.5 m 19.5024 262.5 x -b 1.27631e-11 281.25 m 19.1265 281.25 x -b 19.5024 262.5 m 19.1265 281.25 x -b 39.0073 262.5 m 38.2524 281.25 x -b 19.5024 262.5 m 39.0073 262.5 x -b 19.1265 281.25 m 38.2524 281.25 x -b 39.0073 262.5 m 38.2524 281.25 x -b 58.5096 262.5 m 57.3735 281.25 x -b 39.0073 262.5 m 58.5096 262.5 x -b 38.2524 281.25 m 57.3735 281.25 x -b 58.5096 262.5 m 57.3735 281.25 x -b 77.99 262.5 m 76.479 281.25 x -b 58.5096 262.5 m 77.99 262.5 x -b 57.3735 281.25 m 76.479 281.25 x -b 77.99 262.5 m 76.479 281.25 x -b 97.409 262.5 m 95.5495 281.25 x -b 77.99 262.5 m 97.409 262.5 x -b 76.479 281.25 m 95.5495 281.25 x -b 97.409 262.5 m 95.5495 281.25 x -b 116.709 262.5 m 114.559 281.25 x -b 97.409 262.5 m 116.709 262.5 x -b 95.5495 281.25 m 114.559 281.25 x -b 116.709 262.5 m 114.559 281.25 x -b 135.824 262.5 m 133.479 281.25 x -b 116.709 262.5 m 135.824 262.5 x -b 114.559 281.25 m 133.479 281.25 x -b 135.824 262.5 m 133.479 281.25 x -b 154.703 262.5 m 152.289 281.25 x -b 135.824 262.5 m 154.703 262.5 x -b 133.479 281.25 m 152.289 281.25 x -b 154.703 262.5 m 152.289 281.25 x -b 173.324 262.5 m 170.979 281.25 x -b 154.703 262.5 m 173.324 262.5 x -b 152.289 281.25 m 170.979 281.25 x -b 173.324 262.5 m 170.979 281.25 x -b 191.709 262.5 m 189.559 281.25 x -b 173.324 262.5 m 191.709 262.5 x -b 170.979 281.25 m 189.559 281.25 x -b 191.709 262.5 m 189.559 281.25 x -b 209.909 262.5 m 208.049 281.25 x -b 191.709 262.5 m 209.909 262.5 x -b 189.559 281.25 m 208.049 281.25 x -b 209.909 262.5 m 208.049 281.25 x -b 227.99 262.5 m 226.479 281.25 x -b 209.909 262.5 m 227.99 262.5 x -b 208.049 281.25 m 226.479 281.25 x -b 227.99 262.5 m 226.479 281.25 x -b 246.01 262.5 m 244.874 281.25 x -b 227.99 262.5 m 246.01 262.5 x -b 226.479 281.25 m 244.874 281.25 x -b 246.01 262.5 m 244.874 281.25 x -b 264.007 262.5 m 263.252 281.25 x -b 246.01 262.5 m 264.007 262.5 x -b 244.874 281.25 m 263.252 281.25 x -b 264.007 262.5 m 263.252 281.25 x -b 282.002 262.5 m 281.627 281.25 x -b 264.007 262.5 m 282.002 262.5 x -b 263.252 281.25 m 281.627 281.25 x -b 282.002 262.5 m 281.627 281.25 x -b 300 262.5 m 300 281.25 x -b 282.002 262.5 m 300 262.5 x -b 281.627 281.25 m 300 281.25 x -b 1.27631e-11 281.25 m 2.66454e-14 300 x -b 19.1265 281.25 m 18.75 300 x -b 1.27631e-11 281.25 m 19.1265 281.25 x -b 2.66454e-14 300 m 18.75 300 x -b 19.1265 281.25 m 18.75 300 x -b 38.2524 281.25 m 37.5 300 x -b 19.1265 281.25 m 38.2524 281.25 x -b 18.75 300 m 37.5 300 x -b 38.2524 281.25 m 37.5 300 x -b 57.3735 281.25 m 56.25 300 x -b 38.2524 281.25 m 57.3735 281.25 x -b 37.5 300 m 56.25 300 x -b 57.3735 281.25 m 56.25 300 x -b 76.479 281.25 m 75 300 x -b 57.3735 281.25 m 76.479 281.25 x -b 56.25 300 m 75 300 x -b 76.479 281.25 m 75 300 x -b 95.5495 281.25 m 93.75 300 x -b 76.479 281.25 m 95.5495 281.25 x -b 75 300 m 93.75 300 x -b 95.5495 281.25 m 93.75 300 x -b 114.559 281.25 m 112.5 300 x -b 95.5495 281.25 m 114.559 281.25 x -b 93.75 300 m 112.5 300 x -b 114.559 281.25 m 112.5 300 x -b 133.479 281.25 m 131.25 300 x -b 114.559 281.25 m 133.479 281.25 x -b 112.5 300 m 131.25 300 x -b 133.479 281.25 m 131.25 300 x -b 152.289 281.25 m 150 300 x -b 133.479 281.25 m 152.289 281.25 x -b 131.25 300 m 150 300 x -b 152.289 281.25 m 150 300 x -b 170.979 281.25 m 168.75 300 x -b 152.289 281.25 m 170.979 281.25 x -b 150 300 m 168.75 300 x -b 170.979 281.25 m 168.75 300 x -b 189.559 281.25 m 187.5 300 x -b 170.979 281.25 m 189.559 281.25 x -b 168.75 300 m 187.5 300 x -b 189.559 281.25 m 187.5 300 x -b 208.049 281.25 m 206.25 300 x -b 189.559 281.25 m 208.049 281.25 x -b 187.5 300 m 206.25 300 x -b 208.049 281.25 m 206.25 300 x -b 226.479 281.25 m 225 300 x -b 208.049 281.25 m 226.479 281.25 x -b 206.25 300 m 225 300 x -b 226.479 281.25 m 225 300 x -b 244.874 281.25 m 243.75 300 x -b 226.479 281.25 m 244.874 281.25 x -b 225 300 m 243.75 300 x -b 244.874 281.25 m 243.75 300 x -b 263.252 281.25 m 262.5 300 x -b 244.874 281.25 m 263.252 281.25 x -b 243.75 300 m 262.5 300 x -b 263.252 281.25 m 262.5 300 x -b 281.627 281.25 m 281.25 300 x -b 263.252 281.25 m 281.627 281.25 x -b 262.5 300 m 281.25 300 x -b 281.627 281.25 m 281.25 300 x -b 300 281.25 m 300 300 x -b 281.627 281.25 m 300 281.25 x -b 281.25 300 m 300 300 x +b 1.86517e-13 0 m 0 37.5 x +b 37.5 2.66454e-14 m 38.4292 37.5 x +b 1.86517e-13 0 m 37.5 2.66454e-14 x +b 0 37.5 m 38.4292 37.5 x +b 37.5 2.66454e-14 m 38.4292 37.5 x +b 75 2.66454e-14 m 76.8146 37.5 x +b 37.5 2.66454e-14 m 75 2.66454e-14 x +b 38.4292 37.5 m 76.8146 37.5 x +b 75 2.66454e-14 m 76.8146 37.5 x +b 112.5 2.66454e-14 m 115.008 37.5 x +b 75 2.66454e-14 m 112.5 2.66454e-14 x +b 76.8146 37.5 m 115.008 37.5 x +b 112.5 2.66454e-14 m 115.008 37.5 x +b 150 2.66454e-14 m 152.77 37.5 x +b 112.5 2.66454e-14 m 150 2.66454e-14 x +b 115.008 37.5 m 152.77 37.5 x +b 150 2.66454e-14 m 152.77 37.5 x +b 187.5 2.66454e-14 m 190.008 37.5 x +b 150 2.66454e-14 m 187.5 2.66454e-14 x +b 152.77 37.5 m 190.008 37.5 x +b 187.5 2.66454e-14 m 190.008 37.5 x +b 225 2.66454e-14 m 226.815 37.5 x +b 187.5 2.66454e-14 m 225 2.66454e-14 x +b 190.008 37.5 m 226.815 37.5 x +b 225 2.66454e-14 m 226.815 37.5 x +b 262.5 2.66454e-14 m 263.429 37.5 x +b 225 2.66454e-14 m 262.5 2.66454e-14 x +b 226.815 37.5 m 263.429 37.5 x +b 262.5 2.66454e-14 m 263.429 37.5 x +b 300 0 m 300 37.5 x +b 262.5 2.66454e-14 m 300 0 x +b 263.429 37.5 m 300 37.5 x +b 0 37.5 m 0 75 x +b 38.4292 37.5 m 39.3146 75 x +b 0 37.5 m 38.4292 37.5 x +b 0 75 m 39.3146 75 x +b 38.4292 37.5 m 39.3146 75 x +b 76.8146 37.5 m 78.8042 75 x +b 38.4292 37.5 m 76.8146 37.5 x +b 39.3146 75 m 78.8042 75 x +b 76.8146 37.5 m 78.8042 75 x +b 115.008 37.5 m 117.96 75 x +b 76.8146 37.5 m 115.008 37.5 x +b 78.8042 75 m 117.96 75 x +b 115.008 37.5 m 117.96 75 x +b 152.77 37.5 m 156.219 75 x +b 115.008 37.5 m 152.77 37.5 x +b 117.96 75 m 156.219 75 x +b 152.77 37.5 m 156.219 75 x +b 190.008 37.5 m 192.96 75 x +b 152.77 37.5 m 190.008 37.5 x +b 156.219 75 m 192.96 75 x +b 190.008 37.5 m 192.96 75 x +b 226.815 37.5 m 228.804 75 x +b 190.008 37.5 m 226.815 37.5 x +b 192.96 75 m 228.804 75 x +b 226.815 37.5 m 228.804 75 x +b 263.429 37.5 m 264.315 75 x +b 226.815 37.5 m 263.429 37.5 x +b 228.804 75 m 264.315 75 x +b 263.429 37.5 m 264.315 75 x +b 300 37.5 m 300 75 x +b 263.429 37.5 m 300 37.5 x +b 264.315 75 m 300 75 x +b 0 75 m 0 112.5 x +b 39.3146 75 m 40.0085 112.5 x +b 0 75 m 39.3146 75 x +b 0 112.5 m 40.0085 112.5 x +b 39.3146 75 m 40.0085 112.5 x +b 78.8042 75 m 80.4604 112.5 x +b 39.3146 75 m 78.8042 75 x +b 40.0085 112.5 m 80.4604 112.5 x +b 78.8042 75 m 80.4604 112.5 x +b 117.96 75 m 122.438 112.5 x +b 78.8042 75 m 117.96 75 x +b 80.4604 112.5 m 122.438 112.5 x +b 117.96 75 m 122.438 112.5 x +b 156.219 75 m 161.169 112.5 x +b 117.96 75 m 156.219 75 x +b 122.438 112.5 m 161.169 112.5 x +b 156.219 75 m 161.169 112.5 x +b 192.96 75 m 197.438 112.5 x +b 156.219 75 m 192.96 75 x +b 161.169 112.5 m 197.438 112.5 x +b 192.96 75 m 197.438 112.5 x +b 228.804 75 m 230.46 112.5 x +b 192.96 75 m 228.804 75 x +b 197.438 112.5 m 230.46 112.5 x +b 228.804 75 m 230.46 112.5 x +b 264.315 75 m 265.008 112.5 x +b 228.804 75 m 264.315 75 x +b 230.46 112.5 m 265.008 112.5 x +b 264.315 75 m 265.008 112.5 x +b 300 75 m 300 112.5 x +b 264.315 75 m 300 75 x +b 265.008 112.5 m 300 112.5 x +b 0 112.5 m 0 150 x +b 40.0085 112.5 m 40.2696 150 x +b 0 112.5 m 40.0085 112.5 x +b 0 150 m 40.2696 150 x +b 40.0085 112.5 m 40.2696 150 x +b 80.4604 112.5 m 81.219 150 x +b 40.0085 112.5 m 80.4604 112.5 x +b 40.2696 150 m 81.219 150 x +b 80.4604 112.5 m 81.219 150 x +b 122.438 112.5 m 123.669 150 x +b 80.4604 112.5 m 122.438 112.5 x +b 81.219 150 m 123.669 150 x +b 122.438 112.5 m 123.669 150 x +b 161.169 112.5 m 180 150 x +b 122.438 112.5 m 161.169 112.5 x +b 123.669 150 m 180 150 x +b 161.169 112.5 m 180 150 x +b 197.438 112.5 m 198.669 150 x +b 161.169 112.5 m 197.438 112.5 x +b 180 150 m 198.669 150 x +b 197.438 112.5 m 198.669 150 x +b 230.46 112.5 m 231.219 150 x +b 197.438 112.5 m 230.46 112.5 x +b 198.669 150 m 231.219 150 x +b 230.46 112.5 m 231.219 150 x +b 265.008 112.5 m 265.27 150 x +b 230.46 112.5 m 265.008 112.5 x +b 231.219 150 m 265.27 150 x +b 265.008 112.5 m 265.27 150 x +b 300 112.5 m 300 150 x +b 265.008 112.5 m 300 112.5 x +b 265.27 150 m 300 150 x +b 0 150 m 0 187.5 x +b 40.2696 150 m 40.0085 187.5 x +b 0 150 m 40.2696 150 x +b 0 187.5 m 40.0085 187.5 x +b 40.2696 150 m 40.0085 187.5 x +b 81.219 150 m 80.4604 187.5 x +b 40.2696 150 m 81.219 150 x +b 40.0085 187.5 m 80.4604 187.5 x +b 81.219 150 m 80.4604 187.5 x +b 123.669 150 m 122.438 187.5 x +b 81.219 150 m 123.669 150 x +b 80.4604 187.5 m 122.438 187.5 x +b 123.669 150 m 122.438 187.5 x +b 180 150 m 161.169 187.5 x +b 123.669 150 m 180 150 x +b 122.438 187.5 m 161.169 187.5 x +b 180 150 m 161.169 187.5 x +b 198.669 150 m 197.438 187.5 x +b 180 150 m 198.669 150 x +b 161.169 187.5 m 197.438 187.5 x +b 198.669 150 m 197.438 187.5 x +b 231.219 150 m 230.46 187.5 x +b 198.669 150 m 231.219 150 x +b 197.438 187.5 m 230.46 187.5 x +b 231.219 150 m 230.46 187.5 x +b 265.27 150 m 265.008 187.5 x +b 231.219 150 m 265.27 150 x +b 230.46 187.5 m 265.008 187.5 x +b 265.27 150 m 265.008 187.5 x +b 300 150 m 300 187.5 x +b 265.27 150 m 300 150 x +b 265.008 187.5 m 300 187.5 x +b 0 187.5 m 0 225 x +b 40.0085 187.5 m 39.3146 225 x +b 0 187.5 m 40.0085 187.5 x +b 0 225 m 39.3146 225 x +b 40.0085 187.5 m 39.3146 225 x +b 80.4604 187.5 m 78.8042 225 x +b 40.0085 187.5 m 80.4604 187.5 x +b 39.3146 225 m 78.8042 225 x +b 80.4604 187.5 m 78.8042 225 x +b 122.438 187.5 m 117.96 225 x +b 80.4604 187.5 m 122.438 187.5 x +b 78.8042 225 m 117.96 225 x +b 122.438 187.5 m 117.96 225 x +b 161.169 187.5 m 156.219 225 x +b 122.438 187.5 m 161.169 187.5 x +b 117.96 225 m 156.219 225 x +b 161.169 187.5 m 156.219 225 x +b 197.438 187.5 m 192.96 225 x +b 161.169 187.5 m 197.438 187.5 x +b 156.219 225 m 192.96 225 x +b 197.438 187.5 m 192.96 225 x +b 230.46 187.5 m 228.804 225 x +b 197.438 187.5 m 230.46 187.5 x +b 192.96 225 m 228.804 225 x +b 230.46 187.5 m 228.804 225 x +b 265.008 187.5 m 264.315 225 x +b 230.46 187.5 m 265.008 187.5 x +b 228.804 225 m 264.315 225 x +b 265.008 187.5 m 264.315 225 x +b 300 187.5 m 300 225 x +b 265.008 187.5 m 300 187.5 x +b 264.315 225 m 300 225 x +b 0 225 m 0 262.5 x +b 39.3146 225 m 38.4292 262.5 x +b 0 225 m 39.3146 225 x +b 0 262.5 m 38.4292 262.5 x +b 39.3146 225 m 38.4292 262.5 x +b 78.8042 225 m 76.8146 262.5 x +b 39.3146 225 m 78.8042 225 x +b 38.4292 262.5 m 76.8146 262.5 x +b 78.8042 225 m 76.8146 262.5 x +b 117.96 225 m 115.008 262.5 x +b 78.8042 225 m 117.96 225 x +b 76.8146 262.5 m 115.008 262.5 x +b 117.96 225 m 115.008 262.5 x +b 156.219 225 m 152.77 262.5 x +b 117.96 225 m 156.219 225 x +b 115.008 262.5 m 152.77 262.5 x +b 156.219 225 m 152.77 262.5 x +b 192.96 225 m 190.008 262.5 x +b 156.219 225 m 192.96 225 x +b 152.77 262.5 m 190.008 262.5 x +b 192.96 225 m 190.008 262.5 x +b 228.804 225 m 226.815 262.5 x +b 192.96 225 m 228.804 225 x +b 190.008 262.5 m 226.815 262.5 x +b 228.804 225 m 226.815 262.5 x +b 264.315 225 m 263.429 262.5 x +b 228.804 225 m 264.315 225 x +b 226.815 262.5 m 263.429 262.5 x +b 264.315 225 m 263.429 262.5 x +b 300 225 m 300 262.5 x +b 264.315 225 m 300 225 x +b 263.429 262.5 m 300 262.5 x +b 0 262.5 m 1.59872e-13 300 x +b 38.4292 262.5 m 37.5 300 x +b 0 262.5 m 38.4292 262.5 x +b 1.59872e-13 300 m 37.5 300 x +b 38.4292 262.5 m 37.5 300 x +b 76.8146 262.5 m 75 300 x +b 38.4292 262.5 m 76.8146 262.5 x +b 37.5 300 m 75 300 x +b 76.8146 262.5 m 75 300 x +b 115.008 262.5 m 112.5 300 x +b 76.8146 262.5 m 115.008 262.5 x +b 75 300 m 112.5 300 x +b 115.008 262.5 m 112.5 300 x +b 152.77 262.5 m 150 300 x +b 115.008 262.5 m 152.77 262.5 x +b 112.5 300 m 150 300 x +b 152.77 262.5 m 150 300 x +b 190.008 262.5 m 187.5 300 x +b 152.77 262.5 m 190.008 262.5 x +b 150 300 m 187.5 300 x +b 190.008 262.5 m 187.5 300 x +b 226.815 262.5 m 225 300 x +b 190.008 262.5 m 226.815 262.5 x +b 187.5 300 m 225 300 x +b 226.815 262.5 m 225 300 x +b 263.429 262.5 m 262.5 300 x +b 226.815 262.5 m 263.429 262.5 x +b 225 300 m 262.5 300 x +b 263.429 262.5 m 262.5 300 x +b 300 262.5 m 300 300 x +b 263.429 262.5 m 300 262.5 x +b 262.5 300 m 300 300 x showpage diff --git a/tests/grid/grid_transform_03.cc b/tests/grid/grid_transform_03.cc new file mode 100644 index 0000000000..1ec3480a31 --- /dev/null +++ b/tests/grid/grid_transform_03.cc @@ -0,0 +1,121 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2017 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. +// +// --------------------------------------------------------------------- + + +// Similar to grid_transform_02.cc but use coefficient function and solve +// for displacement field. + + +#include "../tests.h" +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +template +class L2_inverse : public Function +{ +public: + L2_inverse (const std::vector > &distance_source) + : + Function (), + distance_source (distance_source) + { + Assert (distance_source.size()>0, + ExcNotImplemented()); + } + + virtual double value (const dealii::Point &p, + const unsigned int component = 0) const + { + double l2_inverse = std::numeric_limits::max(); + + for (unsigned int d = 0; d > distance_source; +}; + + +int main () +{ + const int dim = 2; + + Triangulation< dim > tria; + std::map< unsigned int, Point< dim > > new_points; + const unsigned int N = 8; + GridGenerator::subdivided_hyper_cube (tria, N, -5, 5); + + // find the vertex at the origin + Triangulation::active_cell_iterator + cell = GridTools::find_active_cell_around_point (tria,Point()); + + unsigned int best_vertex = cell->vertex_index(0); //vertex number on local triangulation + Point best_pos = cell->vertex(0); + double best_dist = Point().distance(best_pos); + + for (unsigned int vertex_no = 1; vertex_no < GeometryInfo::vertices_per_cell; vertex_no++) + { + const double dist = Point().distance(cell->vertex(vertex_no)); + if (dist < best_dist) + { + best_pos = cell->vertex(vertex_no); + best_vertex = cell->vertex_index(vertex_no); + best_dist = dist; + } + } + // move the point at the origin by 1 unit to the right + new_points[best_vertex] = Point(); + new_points[best_vertex][0] += 1.; + + // store the current location to be used in coefficient function + std::vector > metric; + metric.push_back(best_pos); + + // now pin all of the points on the boundary + cell = tria.begin_active(); + Triangulation::active_cell_iterator endc = tria.end(); + + for ( ; cell != endc; ++cell) + if (cell->at_boundary() == true) + for (unsigned int face = 0; face < GeometryInfo::faces_per_cell; ++face) + if (cell->face(face)->at_boundary() == true) + for (unsigned int v=0; v < GeometryInfo::vertices_per_face; ++v) + { + unsigned int vertex_number = cell->face(face)->vertex_index(v); + new_points[vertex_number] = cell->face(face)->vertex(v); + } + + // then compute new point locations and output the result + L2_inverse coefficient(metric); + GridTools::laplace_transform (new_points,tria, &coefficient); + std::ofstream out ("output"); + GridOut grid_out; + grid_out.write_eps (tria, out); +} diff --git a/tests/grid/grid_transform_03.output b/tests/grid/grid_transform_03.output new file mode 100644 index 0000000000..b2c40885b8 --- /dev/null +++ b/tests/grid/grid_transform_03.output @@ -0,0 +1,269 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Title: deal.II Output +%%Creator: the deal.II library + +%%BoundingBox: 0 0 301 301 +/m {moveto} bind def +/x {lineto stroke} bind def +/b {0 0 0 setrgbcolor} def +/r {1 0 0 setrgbcolor} def +%%EndProlog + +0.5 setlinewidth +b 0 0 m 0 37.5 x +b 37.5 0 m 44.0384 37.5 x +b 0 0 m 37.5 0 x +b 0 37.5 m 44.0384 37.5 x +b 37.5 0 m 44.0384 37.5 x +b 75 0 m 86.2668 37.5 x +b 37.5 0 m 75 0 x +b 44.0384 37.5 m 86.2668 37.5 x +b 75 0 m 86.2668 37.5 x +b 112.5 0 m 126.805 37.5 x +b 75 0 m 112.5 0 x +b 86.2668 37.5 m 126.805 37.5 x +b 112.5 0 m 126.805 37.5 x +b 150 0 m 165.39 37.5 x +b 112.5 0 m 150 0 x +b 126.805 37.5 m 165.39 37.5 x +b 150 0 m 165.39 37.5 x +b 187.5 0 m 201.805 37.5 x +b 150 0 m 187.5 0 x +b 165.39 37.5 m 201.805 37.5 x +b 187.5 0 m 201.805 37.5 x +b 225 0 m 236.267 37.5 x +b 187.5 0 m 225 0 x +b 201.805 37.5 m 236.267 37.5 x +b 225 0 m 236.267 37.5 x +b 262.5 0 m 269.038 37.5 x +b 225 0 m 262.5 0 x +b 236.267 37.5 m 269.038 37.5 x +b 262.5 0 m 269.038 37.5 x +b 300 0 m 300 37.5 x +b 262.5 0 m 300 0 x +b 269.038 37.5 m 300 37.5 x +b 0 37.5 m 0 75 x +b 44.0384 37.5 m 48.7668 75 x +b 0 37.5 m 44.0384 37.5 x +b 0 75 m 48.7668 75 x +b 44.0384 37.5 m 48.7668 75 x +b 86.2668 37.5 m 93.6782 75 x +b 44.0384 37.5 m 86.2668 37.5 x +b 48.7668 75 m 93.6782 75 x +b 86.2668 37.5 m 93.6782 75 x +b 126.805 37.5 m 135.619 75 x +b 86.2668 37.5 m 126.805 37.5 x +b 93.6782 75 m 135.619 75 x +b 126.805 37.5 m 135.619 75 x +b 165.39 37.5 m 174.608 75 x +b 126.805 37.5 m 165.39 37.5 x +b 135.619 75 m 174.608 75 x +b 165.39 37.5 m 174.608 75 x +b 201.805 37.5 m 210.619 75 x +b 165.39 37.5 m 201.805 37.5 x +b 174.608 75 m 210.619 75 x +b 201.805 37.5 m 210.619 75 x +b 236.267 37.5 m 243.678 75 x +b 201.805 37.5 m 236.267 37.5 x +b 210.619 75 m 243.678 75 x +b 236.267 37.5 m 243.678 75 x +b 269.038 37.5 m 273.767 75 x +b 236.267 37.5 m 269.038 37.5 x +b 243.678 75 m 273.767 75 x +b 269.038 37.5 m 273.767 75 x +b 300 37.5 m 300 75 x +b 269.038 37.5 m 300 37.5 x +b 273.767 75 m 300 75 x +b 0 75 m 0 112.5 x +b 48.7668 75 m 51.8045 112.5 x +b 0 75 m 48.7668 75 x +b 0 112.5 m 51.8045 112.5 x +b 48.7668 75 m 51.8045 112.5 x +b 93.6782 75 m 98.1187 112.5 x +b 48.7668 75 m 93.6782 75 x +b 51.8045 112.5 m 98.1187 112.5 x +b 93.6782 75 m 98.1187 112.5 x +b 135.619 75 m 140.355 112.5 x +b 93.6782 75 m 135.619 75 x +b 98.1187 112.5 m 140.355 112.5 x +b 135.619 75 m 140.355 112.5 x +b 174.608 75 m 179.593 112.5 x +b 135.619 75 m 174.608 75 x +b 140.355 112.5 m 179.593 112.5 x +b 174.608 75 m 179.593 112.5 x +b 210.619 75 m 215.355 112.5 x +b 174.608 75 m 210.619 75 x +b 179.593 112.5 m 215.355 112.5 x +b 210.619 75 m 215.355 112.5 x +b 243.678 75 m 248.119 112.5 x +b 210.619 75 m 243.678 75 x +b 215.355 112.5 m 248.119 112.5 x +b 243.678 75 m 248.119 112.5 x +b 273.767 75 m 276.805 112.5 x +b 243.678 75 m 273.767 75 x +b 248.119 112.5 m 276.805 112.5 x +b 273.767 75 m 276.805 112.5 x +b 300 75 m 300 112.5 x +b 273.767 75 m 300 75 x +b 276.805 112.5 m 300 112.5 x +b 0 112.5 m 0 150 x +b 51.8045 112.5 m 52.8903 150 x +b 0 112.5 m 51.8045 112.5 x +b 0 150 m 52.8903 150 x +b 51.8045 112.5 m 52.8903 150 x +b 98.1187 112.5 m 99.6078 150 x +b 51.8045 112.5 m 98.1187 112.5 x +b 52.8903 150 m 99.6078 150 x +b 98.1187 112.5 m 99.6078 150 x +b 140.355 112.5 m 142.093 150 x +b 98.1187 112.5 m 140.355 112.5 x +b 99.6078 150 m 142.093 150 x +b 140.355 112.5 m 142.093 150 x +b 179.593 112.5 m 180 150 x +b 140.355 112.5 m 179.593 112.5 x +b 142.093 150 m 180 150 x +b 179.593 112.5 m 180 150 x +b 215.355 112.5 m 217.093 150 x +b 179.593 112.5 m 215.355 112.5 x +b 180 150 m 217.093 150 x +b 215.355 112.5 m 217.093 150 x +b 248.119 112.5 m 249.608 150 x +b 215.355 112.5 m 248.119 112.5 x +b 217.093 150 m 249.608 150 x +b 248.119 112.5 m 249.608 150 x +b 276.805 112.5 m 277.89 150 x +b 248.119 112.5 m 276.805 112.5 x +b 249.608 150 m 277.89 150 x +b 276.805 112.5 m 277.89 150 x +b 300 112.5 m 300 150 x +b 276.805 112.5 m 300 112.5 x +b 277.89 150 m 300 150 x +b 0 150 m 0 187.5 x +b 52.8903 150 m 51.8045 187.5 x +b 0 150 m 52.8903 150 x +b 0 187.5 m 51.8045 187.5 x +b 52.8903 150 m 51.8045 187.5 x +b 99.6078 150 m 98.1187 187.5 x +b 52.8903 150 m 99.6078 150 x +b 51.8045 187.5 m 98.1187 187.5 x +b 99.6078 150 m 98.1187 187.5 x +b 142.093 150 m 140.355 187.5 x +b 99.6078 150 m 142.093 150 x +b 98.1187 187.5 m 140.355 187.5 x +b 142.093 150 m 140.355 187.5 x +b 180 150 m 179.593 187.5 x +b 142.093 150 m 180 150 x +b 140.355 187.5 m 179.593 187.5 x +b 180 150 m 179.593 187.5 x +b 217.093 150 m 215.355 187.5 x +b 180 150 m 217.093 150 x +b 179.593 187.5 m 215.355 187.5 x +b 217.093 150 m 215.355 187.5 x +b 249.608 150 m 248.119 187.5 x +b 217.093 150 m 249.608 150 x +b 215.355 187.5 m 248.119 187.5 x +b 249.608 150 m 248.119 187.5 x +b 277.89 150 m 276.805 187.5 x +b 249.608 150 m 277.89 150 x +b 248.119 187.5 m 276.805 187.5 x +b 277.89 150 m 276.805 187.5 x +b 300 150 m 300 187.5 x +b 277.89 150 m 300 150 x +b 276.805 187.5 m 300 187.5 x +b 0 187.5 m 0 225 x +b 51.8045 187.5 m 48.7668 225 x +b 0 187.5 m 51.8045 187.5 x +b 0 225 m 48.7668 225 x +b 51.8045 187.5 m 48.7668 225 x +b 98.1187 187.5 m 93.6782 225 x +b 51.8045 187.5 m 98.1187 187.5 x +b 48.7668 225 m 93.6782 225 x +b 98.1187 187.5 m 93.6782 225 x +b 140.355 187.5 m 135.619 225 x +b 98.1187 187.5 m 140.355 187.5 x +b 93.6782 225 m 135.619 225 x +b 140.355 187.5 m 135.619 225 x +b 179.593 187.5 m 174.608 225 x +b 140.355 187.5 m 179.593 187.5 x +b 135.619 225 m 174.608 225 x +b 179.593 187.5 m 174.608 225 x +b 215.355 187.5 m 210.619 225 x +b 179.593 187.5 m 215.355 187.5 x +b 174.608 225 m 210.619 225 x +b 215.355 187.5 m 210.619 225 x +b 248.119 187.5 m 243.678 225 x +b 215.355 187.5 m 248.119 187.5 x +b 210.619 225 m 243.678 225 x +b 248.119 187.5 m 243.678 225 x +b 276.805 187.5 m 273.767 225 x +b 248.119 187.5 m 276.805 187.5 x +b 243.678 225 m 273.767 225 x +b 276.805 187.5 m 273.767 225 x +b 300 187.5 m 300 225 x +b 276.805 187.5 m 300 187.5 x +b 273.767 225 m 300 225 x +b 0 225 m 0 262.5 x +b 48.7668 225 m 44.0384 262.5 x +b 0 225 m 48.7668 225 x +b 0 262.5 m 44.0384 262.5 x +b 48.7668 225 m 44.0384 262.5 x +b 93.6782 225 m 86.2668 262.5 x +b 48.7668 225 m 93.6782 225 x +b 44.0384 262.5 m 86.2668 262.5 x +b 93.6782 225 m 86.2668 262.5 x +b 135.619 225 m 126.805 262.5 x +b 93.6782 225 m 135.619 225 x +b 86.2668 262.5 m 126.805 262.5 x +b 135.619 225 m 126.805 262.5 x +b 174.608 225 m 165.39 262.5 x +b 135.619 225 m 174.608 225 x +b 126.805 262.5 m 165.39 262.5 x +b 174.608 225 m 165.39 262.5 x +b 210.619 225 m 201.805 262.5 x +b 174.608 225 m 210.619 225 x +b 165.39 262.5 m 201.805 262.5 x +b 210.619 225 m 201.805 262.5 x +b 243.678 225 m 236.267 262.5 x +b 210.619 225 m 243.678 225 x +b 201.805 262.5 m 236.267 262.5 x +b 243.678 225 m 236.267 262.5 x +b 273.767 225 m 269.038 262.5 x +b 243.678 225 m 273.767 225 x +b 236.267 262.5 m 269.038 262.5 x +b 273.767 225 m 269.038 262.5 x +b 300 225 m 300 262.5 x +b 273.767 225 m 300 225 x +b 269.038 262.5 m 300 262.5 x +b 0 262.5 m 0 300 x +b 44.0384 262.5 m 37.5 300 x +b 0 262.5 m 44.0384 262.5 x +b 0 300 m 37.5 300 x +b 44.0384 262.5 m 37.5 300 x +b 86.2668 262.5 m 75 300 x +b 44.0384 262.5 m 86.2668 262.5 x +b 37.5 300 m 75 300 x +b 86.2668 262.5 m 75 300 x +b 126.805 262.5 m 112.5 300 x +b 86.2668 262.5 m 126.805 262.5 x +b 75 300 m 112.5 300 x +b 126.805 262.5 m 112.5 300 x +b 165.39 262.5 m 150 300 x +b 126.805 262.5 m 165.39 262.5 x +b 112.5 300 m 150 300 x +b 165.39 262.5 m 150 300 x +b 201.805 262.5 m 187.5 300 x +b 165.39 262.5 m 201.805 262.5 x +b 150 300 m 187.5 300 x +b 201.805 262.5 m 187.5 300 x +b 236.267 262.5 m 225 300 x +b 201.805 262.5 m 236.267 262.5 x +b 187.5 300 m 225 300 x +b 236.267 262.5 m 225 300 x +b 269.038 262.5 m 262.5 300 x +b 236.267 262.5 m 269.038 262.5 x +b 225 300 m 262.5 300 x +b 269.038 262.5 m 262.5 300 x +b 300 262.5 m 300 300 x +b 269.038 262.5 m 300 262.5 x +b 262.5 300 m 300 300 x +showpage diff --git a/tests/grid/grid_transform_3d.cc b/tests/grid/grid_transform_3d.cc index 6b2aee1910..a2d0e9937e 100644 --- a/tests/grid/grid_transform_3d.cc +++ b/tests/grid/grid_transform_3d.cc @@ -87,7 +87,7 @@ int main () } } - GridTools::laplace_transform (new_points, tria); + GridTools::laplace_transform (new_points, tria, NULL, true); GridOut grid_out; diff --git a/tests/grid/grid_transform_coefficient.cc b/tests/grid/grid_transform_coefficient.cc index ac2e9134ec..eb4841820e 100644 --- a/tests/grid/grid_transform_coefficient.cc +++ b/tests/grid/grid_transform_coefficient.cc @@ -109,7 +109,7 @@ int main () } Coefficient c; - GridTools::laplace_transform (new_points, tria, &c); + GridTools::laplace_transform (new_points, tria, &c, true); HyperBallBoundary inner_ball(n_center, n_radius); tria.set_boundary(1, inner_ball);