<i>This program was made by Timo Heister.</i>
-<h1> About this tutorial </h3>
+<a name="Intro"></a>
+<h1> Introduction </h1>
This tutorial is an extension to step-1 and demonstrates several ways to
obtain more involved meshes.
refinements are done. Please note that the example program does not show all
the ways to generate meshes that are discussed in this text.
-<h1>General concerns about meshes</h1>
+<h3>General concerns about meshes</h3>
When you use adaptive mesh refinement, you definitely want the initial mesh to
be as coarse as possible. The reason is that you can make it as fine as you
That said, your mesh needs to capture the given geometry adequately.
-<h1>How to create meshes</h1>
+<h3>How to create meshes</h3>
There are several ways to create an initial mesh. Meshes can be modified or
combined in many ways as discussed later on.
-<h2>GridGenerator</h2>
+<h4>GridGenerator</h4>
The easiest way to generate meshes is to use the GridGenerator, which is
already discussed in step-1. There are many different helper functions
GridGenerator::hyper_shell(), GridGenerator::hyper_ball(),
GridGenerator::hyper_cube_with_cylindrical_hole(), ...
-<h2>Construct your own mesh programmatically</h2>
+<h4>Construct your own mesh programmatically</h4>
If the is no good fit in the GridGenerator class, you can always create a
Triangulation in your program "by hand". For that, you need a list of vertices
you end up writing a function that might be useful for a larger audience,
please contribute it.
-<h2>Import from external programs</h2>
+<h4>Import from external programs</h4>
The class GridIn can read many different mesh formats from a file from
disk. How this is done is explained in step-5 and can be seen in the function
@image html step-49.grid-1.png
-<h1>Modify a Mesh</h1>
+<h3>Modify a Mesh</h3>
modify a mesh:
- merge meshes
GridTools::rotate
GridTools::scale
-<h2>Merge Meshes</h2>
+<h4>Merge Meshes</h4>
use GridGenerator::merge_triangulations()
@image html step-49.grid-2.png
-<h2>Move Vertices</h2>
+<h4>Move Vertices</h4>
move individual vertices, first identify cells/vertices