From 1b5ab380bf3d74d54ea7caa4523ad262887cba28 Mon Sep 17 00:00:00 2001 From: heister Date: Sun, 17 Feb 2013 18:47:46 +0000 Subject: [PATCH] work on step-49 git-svn-id: https://svn.dealii.org/trunk@28443 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/examples/step-49/doc/intro.dox | 57 +++++++++++++-- .../examples/step-49/doc/step-49.grid-5.png | Bin 0 -> 3607 bytes .../examples/step-49/doc/step-49.grid-5a.png | Bin 0 -> 659 bytes .../examples/step-49/doc/step-49.grid-6.png | Bin 0 -> 1762 bytes .../examples/step-49/doc/step-49.grid-6a.png | Bin 0 -> 1427 bytes .../examples/step-49/doc/step-49.grid-7.png | Bin 0 -> 17355 bytes .../examples/step-49/doc/step-49.grid-7a.png | Bin 0 -> 1582 bytes deal.II/examples/step-49/step-49.cc | 68 ++++++++++++++++++ 8 files changed, 118 insertions(+), 7 deletions(-) create mode 100644 deal.II/examples/step-49/doc/step-49.grid-5.png create mode 100644 deal.II/examples/step-49/doc/step-49.grid-5a.png create mode 100644 deal.II/examples/step-49/doc/step-49.grid-6.png create mode 100644 deal.II/examples/step-49/doc/step-49.grid-6a.png create mode 100644 deal.II/examples/step-49/doc/step-49.grid-7.png create mode 100644 deal.II/examples/step-49/doc/step-49.grid-7a.png diff --git a/deal.II/examples/step-49/doc/intro.dox b/deal.II/examples/step-49/doc/intro.dox index c9da6be05e..9e6cccb41a 100644 --- a/deal.II/examples/step-49/doc/intro.dox +++ b/deal.II/examples/step-49/doc/intro.dox @@ -62,9 +62,10 @@ grid_1 in this example. Meshes can be generated from different tools like gmsh, lagrit and cubit. The problem is that -deal.II needs meshes that only consist of quads and hexas -- tetrahedral -meshes won't work (this means tools like tetgen can not be used directly). +href="http://cubit.sandia.gov/" rel="nofollow">cubit. See the +documentation of GridIn for more information. The problem is that deal.II +needs meshes that only consist of quads and hexas -- tetrahedral meshes won't +work (this means tools like tetgen can not be used directly). We will describe a possible workflow using Gmsh. Gmsh is the smallest and quickest to set up open source tool, that we know of. It can generate @@ -120,12 +121,54 @@ a given mesh in various ways. The usage of the functions GridTools::shift, GridTools::rotate, GridTools::scale is fairly obvious, so we won't discuss those functions here. +The function GridTools::transform allows you to transform the vertices of a +given mesh using a smooth function. - GridTools::transform - - transform via smooth function +In the function grid_5() we perturb the y coordinate of a mesh with +a sin curve: + + + + + +
+ @image html step-49.grid-5a.png regular input mesh + + @image html step-49.grid-5.png output mesh +
- - perturb/randomize mesh +Using the formula +$(x,y) \mapsto (x,tanh(2*y)/tanh(2))$, we transform a regular refined +unit square to a wall-adapted mesh in y direction. This is done in grid_6() +of this tutorial: + + + + + +
+ @image html step-49.grid-6a.png regular input mesh + + @image html step-49.grid-6.png wall-adapted output mesh +
+The function Triangulation::distort_random allows you to move vertices in the +mesh (optionally ignoring boundary nodes) by a random amount. This is +demonstrated in grid_7() and the result is as follows: + + + + + +
+ @image html step-49.grid-7a.png regular input mesh + + @image html step-49.grid-7.png perturbed output mesh +
+ +Please note that while this allows you to negate some of the superconvergence +effects one gets when studying convergence on regular meshes, it is better to +work with a sequence of unstructured meshes (see possible extensions).

Merge Meshes

@@ -208,4 +251,4 @@ above. This is the output from grid_4(): - change boundary indicators - relax inner vertices - Database of unstructured meshes for convergence studies - +- GridTools::extract_boundary_mesh diff --git a/deal.II/examples/step-49/doc/step-49.grid-5.png b/deal.II/examples/step-49/doc/step-49.grid-5.png new file mode 100644 index 0000000000000000000000000000000000000000..5b0920ded70cd84a8806c3d45b3c75ff65fa3d00 GIT binary patch literal 3607 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 bJ9ceDV;yj&9j*0TmQ$Ay z2i7ncN59az5X-eXf&1$TDI2l)P7S7ul8%?mDv$V{TluR}d%nY`LjK}e#r4lF|CxXF z*RiipKW6ob@Bi@j(d)W*Yp?OIIez$M)x0>l`2SBn)O;+RvoXqk!?`n89h{yFLO1b`)XkC)yK@QVM@1jSghJ8wtBIY*Qn9Z z02~dFk(WYFe3jAnQ_kaCzIpxbncexTzvjL!ocE9EmC)+Xe*%8@14|Rt64!{5l*E!$ ztK_0oAjM#0U}&ssV5Dnk9%5)@Wo%|;Vx((eW@TV-WRaR8iiX_$l+3hB+#0t2pEnn% zK^|m7L9vxbW>9LeQ+{b)N@iZVQ+@@5v4LR)5NjJ~8+7`-1r@6@P^CVpWvMv~jw$&` jsk%mb1`4hL!EU;SdPZFLZl1^os$=kU^>bP0l+XkKV2Of- literal 0 HcmV?d00001 diff --git a/deal.II/examples/step-49/doc/step-49.grid-7.png b/deal.II/examples/step-49/doc/step-49.grid-7.png new file mode 100644 index 0000000000000000000000000000000000000000..d56dfe63fae4c9526cda1a5bb5a3b8e94f24e378 GIT binary patch literal 17355 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 ZT|+%1u6s96 #include #include +#include #include #include #include @@ -148,7 +149,71 @@ void grid_4() } +// demonstrate GridTools::transform +void grid_5() +{ + Triangulation<2> tria; + std::vector< unsigned int > repetitions(2); + repetitions[0]=14; + repetitions[1]=2; + GridGenerator::subdivided_hyper_rectangle (tria, repetitions, + Point<2>(0.0,0.0), Point<2>(10.0,1.0)); + + struct Func + { + Point<2> operator() (const Point<2> & in) const + { + return Point<2>(in(0), in(1)+sin(in(0)/5.0*3.14159)); + } + }; + + GridTools::transform(Func(), tria); + mesh_info(tria, "grid-5.eps"); +} + +// demonstrate GridTools::transform +void grid_6() +{ + Triangulation<2> tria; + std::vector< unsigned int > repetitions(2); + repetitions[0]=40; + repetitions[1]=40; + GridGenerator::subdivided_hyper_rectangle (tria, repetitions, + Point<2>(0.0,0.0), Point<2>(1.0,1.0)); + struct Func + { + double trans(double x) const + { + //return atan((x-0.5)*3.14159); + return tanh(2*x)/tanh(2);//(x-0.5)*3.14159); + } + + Point<2> operator() (const Point<2> & in) const + { + return Point<2>((in(0)), trans(in(1))); + } + }; + + GridTools::transform(Func(), tria); + mesh_info(tria, "grid-6.eps"); +} + + + +//demonstrate distort_random +void grid_7() +{ + Triangulation<2> tria; + std::vector< unsigned int > repetitions(2); + repetitions[0]=16; + repetitions[1]=16; + GridGenerator::subdivided_hyper_rectangle (tria, repetitions, + Point<2>(0.0,0.0), Point<2>(1.0,1.0)); + + tria.distort_random(0.3, true); + mesh_info(tria, "grid-7.eps"); +} // @sect3{The main function} @@ -160,4 +225,7 @@ int main () grid_2 (); grid_3 (); grid_4 (); + grid_5 (); + grid_6 (); + grid_7 (); } -- 2.39.5