# If we find a heading in a .dox file, create an HTML anchor for it.
-
+use Getopt::Long;
+GetOptions("prefix:s" => \$prefix);
while (<>) {
if ( /<h.>(.*)<\/h.>\s*/ ) {
$reftext = $1;
# everything except for letters, numbers, and underscores
$reftext =~ s/[^a-zA-Z0-9_]//g;
- print "<a name=\"$reftext\"></a>$_\n";
+ print "<a name=\"$prefix-$reftext\"></a>$_\n";
} else {
print;
}
## ---------------------------------------------------------------------
print " <ul>\n";
+use Getopt::Long;
+GetOptions("prefix:s" => \$prefix);
$level = 3;
while (<>) {
# hyperref, so get rid of the percent sign
$text =~ s!\%!!g;
- print " <li><a href=\"#$reftext\">$text</a>\n";
+ print " <li><a href=\"#$prefix-$reftext\">$text</a>\n";
$level = $newlevel;
}
print "<a name=\"ann-$file\"></a>\n";
print "<h1>Annotated version of $file</h1>\n";
- system $^X, "$cmake_source_dir/doc/doxygen/scripts/program2doxygen.pl", "$gallery_dir/$file";
+ system $^X, "$cmake_source_dir/doc/doxygen/scripts/program2doxygen.pl", "$gallery_dir/$file" , "--prefix=$file";
print "\n\n";
}
<tr><th colspan=\"2\"><b><small>Table of contents</small></b></th></tr>
<tr><td width=\"50%\" valign=\"top\">
<ol>
- <li> <a href=\"#Intro\" class=bold>Introduction</a>
+ <li> <a href=\"#$step-Intro\" class=bold>Introduction</a>
";
-system $^X, "$cmake_source_dir/doc/doxygen/scripts/intro2toc.pl", "$cmake_source_dir/examples/$step/doc/intro.dox";
+system $^X, "$cmake_source_dir/doc/doxygen/scripts/intro2toc.pl", "$cmake_source_dir/examples/$step/doc/intro.dox" , "--prefix=$step";
-print " <li> <a href=\"#CommProg\" class=bold>The commented program</a>\n";
+print " <li> <a href=\"#$step-CommProg\" class=bold>The commented program</a>\n";
-system $^X, "$cmake_source_dir/doc/doxygen/scripts/program2toc.pl", "$cmake_source_dir/examples/$step/$step.cc";
+system $^X, "$cmake_source_dir/doc/doxygen/scripts/program2toc.pl", "$cmake_source_dir/examples/$step/$step.cc" , "--prefix=$step";
print
"</ol></td><td width=\"50%\" valign=\"top\"><ol>
- <li value=\"3\"> <a href=\"#Results\" class=bold>Results</a>
+ <li value=\"3\"> <a href=\"#$step-Results\" class=bold>Results</a>
";
-system $^X, "$cmake_source_dir/doc/doxygen/scripts/intro2toc.pl", "$cmake_source_dir/examples/$step/doc/results.dox";
+system $^X, "$cmake_source_dir/doc/doxygen/scripts/intro2toc.pl", "$cmake_source_dir/examples/$step/doc/results.dox" , "--prefix=$step";
print
-" <li> <a href=\"#PlainProg\" class=bold>The plain program</a>
+" <li> <a href=\"#$step-PlainProg\" class=bold>The plain program</a>
</ol> </td> </tr> </table>
\@endhtmlonly
";
-system $^X, "$cmake_source_dir/doc/doxygen/scripts/create_anchors.pl", "$cmake_source_dir/examples/$step/doc/intro.dox";
+system $^X, "$cmake_source_dir/doc/doxygen/scripts/create_anchors.pl", "$cmake_source_dir/examples/$step/doc/intro.dox" , "--prefix=$step";
# Start the commented program by writing two empty lines. We have had
# solves the problem -- so a second newline character.
print " *\n";
print " *\n";
-print " * <a name=\"CommProg\"></a>\n";
+print " * <a name=\"$step-CommProg\"></a>\n";
print " * <h1> The commented program</h1>\n";
-system $^X, "$cmake_source_dir/doc/doxygen/scripts/program2doxygen.pl", "$cmake_source_dir/examples/$step/$step.cc";
+system $^X, "$cmake_source_dir/doc/doxygen/scripts/program2doxygen.pl", "$cmake_source_dir/examples/$step/$step.cc" , "--prefix=$step";
-system $^X, "$cmake_source_dir/doc/doxygen/scripts/create_anchors.pl", "$cmake_source_dir/examples/$step/doc/results.dox";
+system $^X, "$cmake_source_dir/doc/doxygen/scripts/create_anchors.pl", "$cmake_source_dir/examples/$step/doc/results.dox" , "--prefix=$step";
# Move to the stripped, plain program. The same principle as above
print " *\n";
print " *\n";
print
-"<a name=\"PlainProg\"></a>
+"<a name=\"$step-PlainProg\"></a>
<h1> The plain program</h1>
\@include \"$step.cc\"
*/
# license information, if the file is a step-xx.cc tutorial. Here, xx
# is either a number like step-32 or a number plus a letter like step-12b.
# Don't skip for other files such as code-gallery files
+use Getopt::Long;
+GetOptions("prefix:s" => \$prefix);
+
if ($ARGV[0] =~ /step-\d+[a-z]?.cc/)
{
$_ = <>;
# everything except for letters, numbers, and underscores
$sect_name =~ s/[^a-zA-Z0-9_]//g;
- $_ = "\n * <a name=\"$sect_name\"></a> \n * $_";
+ $_ = "\n * <a name=\"$prefix-$sect_name\"></a> \n * $_";
}
# finally print this line
## ---------------------------------------------------------------------
print " <ul>\n";
+use Getopt::Long;
+GetOptions("prefix:s" => \$prefix);
$level = 3;
while (<>) {
# replace double dashes in comments by —
$text =~ s!--!—!g;
- print " <li><a href=\"#$reftext\">$text</a>\n";
+ print " <li><a href=\"#$prefix-$reftext\">$text</a>\n";
$level = $newlevel;
}
-<a name="general"></a>
+<a name="300-310-general"></a>
<h3>General</h3>
<ol>
-<a name="base"></a>
+<a name="300-310-base"></a>
<h3>base</h3>
<ol>
-<a name="lac"></a>
+<a name="300-310-lac"></a>
<h3>lac</h3>
<ol>
-<a name="deal.II"></a>
+<a name="300-310-deal.II"></a>
<h3>deal.II</h3>
<ol>
</p>
-<a name="general"></a>
+<a name="310-320-general"></a>
<h3>General</h3>
<ol>
(GK 2001/03/14)
</p>
- <li> <a name="new_fe_mapping_design"></a>
+ <li> <a name="310-320-new_fe_mapping_design"></a>
<i> New Design of <code>FiniteElements</code>
and <code>Mappings</code></i>
-<a name="base"></a>
+<a name="310-320-base"></a>
<h3>base</h3>
<ol>
-<a name="lac"></a>
+<a name="310-320-lac"></a>
<h3>lac</h3>
<ol>
-<a name="deal.II"></a>
+<a name="310-320-deal.II"></a>
<h3>deal.II</h3>
<ol>
</p>
-<a name="general"></a>
+<a name="320-330-general"></a>
<h3>General</h3>
<ol>
-<a name="base"></a>
+<a name="320-330-base"></a>
<h3>base</h3>
<ol>
-<a name="lac"></a>
+<a name="320-330-lac"></a>
<h3>lac</h3>
<ol>
-<a name="deal.II"></a>
+<a name="320-330-deal.II"></a>
<h3>deal.II</h3>
<ol>
All entries are signed with the names of the author.
</p>
-<a name="general"></a>
+<a name="330-340-general"></a>
<h3>General</h3>
<ol>
-<a name="base"></a>
+<a name="330-340-base"></a>
<h3>base</h3>
<ol>
-<a name="lac"></a>
+<a name="330-340-lac"></a>
<h3>lac</h3>
<ol>
-<a name="deal.II"></a>
+<a name="330-340-deal.II"></a>
<h3>deal.II</h3>
<ol>
</p>
-<a name="general"></a>
+<a name="340-400-general"></a>
<h3>General</h3>
<ol>
-<a name="base"></a>
+<a name="340-400-base"></a>
<h3>base</h3>
<ol>
-<a name="lac"></a>
+<a name="340-400-lac"></a>
<h3>lac</h3>
<ol>
-<a name="deal.II"></a>
+<a name="340-400-deal.II"></a>
<h3>deal.II</h3>
<ol>
</p>
-<a name="incompatible"></a>
+<a name="400-500-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
</ol>
-<a name="general"></a>
+<a name="400-500-general"></a>
<h3>General</h3>
<ol>
-<a name="base"></a>
+<a name="400-500-base"></a>
<h3>base</h3>
<ol>
-<a name="lac"></a>
+<a name="400-500-lac"></a>
<h3>lac</h3>
<ol>
-<a name="deal.II"></a>
+<a name="400-500-deal.II"></a>
<h3>deal.II</h3>
<ol>
</p>
-<a name="incompatible"></a>
+<a name="500-510-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
-<a name="general"></a>
+<a name="500-510-general"></a>
<h3>General</h3>
<ol>
</ol>
-<a name="base"></a>
+<a name="500-510-base"></a>
<h3>base</h3>
<ol>
-<a name="lac"></a>
+<a name="500-510-lac"></a>
<h3>lac</h3>
<ol>
-<a name="deal.II"></a>
+<a name="500-510-deal.II"></a>
<h3>deal.II</h3>
<ol>
</p>
-<a name="incompatible"></a>
+<a name="510-520-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
</p>
</ol>
-<a name="general"></a>
+<a name="510-520-general"></a>
<h3>General</h3>
<ol>
-<a name="base"></a>
+<a name="510-520-base"></a>
<h3>base</h3>
<ol>
-<a name="lac"></a>
+<a name="510-520-lac"></a>
<h3>lac</h3>
<ol>
-<a name="deal.II"></a>
+<a name="510-520-deal.II"></a>
<h3>deal.II</h3>
<ol>
</p>
-<a name="incompatible"></a>
+<a name="520-600-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
</ol>
-<a name="general"></a>
+<a name="520-600-general"></a>
<h3>General</h3>
<ol>
-<a name="base"></a>
+<a name="520-600-base"></a>
<h3>base</h3>
<ol>
-<a name="lac"></a>
+<a name="520-600-lac"></a>
<h3>lac</h3>
<ol>
-<a name="deal.II"></a>
+<a name="520-600-deal.II"></a>
<h3>deal.II</h3>
<ol>
</p>
-<a name="incompatible"></a>
+<a name="600-610-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
-<a name="general"></a>
+<a name="600-610-general"></a>
<h3>General</h3>
<ol>
-<a name="base"></a>
+<a name="600-610-base"></a>
<h3>base</h3>
<ol>
-<a name="lac"></a>
+<a name="600-610-lac"></a>
<h3>lac</h3>
<ol>
-<a name="deal.II"></a>
+<a name="600-610-deal.II"></a>
<h3>deal.II</h3>
<ol>
</p>
-<a name="incompatible"></a>
+<a name="610-620-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
</ol>
-<a name="general"></a>
+<a name="610-620-general"></a>
<h3>General</h3>
<ol>
-<a name="base"></a>
+<a name="610-620-base"></a>
<h3>base</h3>
<ol>
-<a name="lac"></a>
+<a name="610-620-lac"></a>
<h3>lac</h3>
<ol>
-<a name="deal.II"></a>
+<a name="610-620-deal.II"></a>
<h3>deal.II</h3>
<ol>
</p>
-<a name="incompatible"></a>
+<a name="620-630-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
</ol>
-<a name="general"></a>
+<a name="620-630-general"></a>
<h3>General</h3>
<ol>
-<a name="base"></a>
+<a name="620-630-base"></a>
<h3>base</h3>
<ol>
-<a name="lac"></a>
+<a name="620-630-lac"></a>
<h3>lac</h3>
<ol>
</ol>
-<a name="deal.II"></a>
+<a name="620-630-deal.II"></a>
<h3>deal.II</h3>
<ol>
</p>
-<a name="incompatible"></a>
+<a name="630-631-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
</ol>
-<a name="general"></a>
+<a name="630-631-general"></a>
<h3>General</h3>
<ol>
-<a name="base"></a>
+<a name="630-631-base"></a>
<h3>base</h3>
<ol>
</ol>
-<a name="lac"></a>
+<a name="630-631-lac"></a>
<h3>lac</h3>
<ol>
</ol>
-<a name="deal.II"></a>
+<a name="630-631-deal.II"></a>
<h3>deal.II</h3>
<ol>
</p>
-<a name="incompatible"></a>
+<a name="630-700-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
</ol>
-<a name="general"></a>
+<a name="630-700-general"></a>
<h3>General</h3>
<ol>
-<a name="base"></a>
+<a name="630-700-base"></a>
<h3>base</h3>
</ol>
-<a name="lac"></a>
+<a name="630-700-lac"></a>
<h3>lac</h3>
<ol>
-<a name="deal.II"></a>
+<a name="630-700-deal.II"></a>
<h3>deal.II</h3>
<ol>
</p>
-<a name="incompatible"></a>
+<a name="700-710-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
<!-- ----------- GENERAL IMPROVEMENTS ----------------- -->
-<a name="general"></a>
+<a name="700-710-general"></a>
<h3>General</h3>
<ol>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="700-710-specific"></a>
<h3>Specific improvements</h3>
<ol>
<!-- ----------- INCOMPATIBILITIES ----------------- -->
-<a name="incompatible"></a>
+<a name="710-720-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
<!-- ----------- GENERAL IMPROVEMENTS ----------------- -->
-<a name="general"></a>
+<a name="710-720-general"></a>
<h3>General</h3>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="710-720-specific"></a>
<h3>Specific improvements</h3>
<ol>
<!-- ----------- INCOMPATIBILITIES ----------------- -->
-<a name="incompatible"></a>
+<a name="720-730-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
<!-- ----------- GENERAL IMPROVEMENTS ----------------- -->
-<a name="general"></a>
+<a name="720-730-general"></a>
<h3>General</h3>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="720-730-specific"></a>
<h3>Specific improvements</h3>
<ol>
<!-- ----------- INCOMPATIBILITIES ----------------- -->
-<a name="incompatible"></a>
+<a name="730-800-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
<!-- ----------- GENERAL IMPROVEMENTS ----------------- -->
-<a name="general"></a>
+<a name="730-800-general"></a>
<h3>General</h3>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="730-800-specific"></a>
<h3>Specific improvements</h3>
<ol>
<!-- ----------- INCOMPATIBILITIES ----------------- -->
-<a name="incompatible"></a>
+<a name="800-810-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
<!-- ----------- GENERAL IMPROVEMENTS ----------------- -->
-<a name="general"></a>
+<a name="800-810-general"></a>
<h3>General</h3>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="800-810-specific"></a>
<h3>Specific improvements</h3>
<ol>
<!-- ----------- INCOMPATIBILITIES ----------------- -->
-<a name="incompatible"></a>
+<a name="810-820-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
<!-- ----------- GENERAL IMPROVEMENTS ----------------- -->
-<a name="general"></a>
+<a name="810-820-general"></a>
<h3>General</h3>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="810-820-specific"></a>
<h3>Specific improvements</h3>
<ol>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="820-821-specific"></a>
<h3>Specific improvements</h3>
<ol>
<!-- ----------- INCOMPATIBILITIES ----------------- -->
-<a name="incompatible"></a>
+<a name="821-830-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
<!-- ----------- GENERAL IMPROVEMENTS ----------------- -->
-<a name="general"></a>
+<a name="821-830-general"></a>
<h3>General</h3>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="821-830-specific"></a>
<h3>Specific improvements</h3>
<!-- ----------- INCOMPATIBILITIES ----------------- -->
-<a name="incompatible"></a>
+<a name="830-840-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
<!-- ----------- GENERAL IMPROVEMENTS ----------------- -->
-<a name="general"></a>
+<a name="830-840-general"></a>
<h3>General</h3>
<ol>
<li> New: A variant for GridGenerator::subdivided_parallelepiped() was added
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="830-840-specific"></a>
<h3>Specific improvements</h3>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="840-841-specific"></a>
<h3>Specific improvements</h3>
<ol>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="841-842-specific"></a>
<h3>Specific improvements</h3>
<ol>
<!-- ----------- INCOMPATIBILITIES ----------------- -->
-<a name="incompatible"></a>
+<a name="842-850-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
<!-- ----------- GENERAL IMPROVEMENTS ----------------- -->
-<a name="general"></a>
+<a name="842-850-general"></a>
<h3>General</h3>
<ol>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="842-850-specific"></a>
<h3>Specific improvements</h3>
<ol>
<!-- ----------- INCOMPATIBILITIES ----------------- -->
-<a name="incompatible"></a>
+<a name="850-900-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
<!-- ----------- GENERAL IMPROVEMENTS ----------------- -->
-<a name="general"></a>
+<a name="850-900-general"></a>
<h3>General</h3>
<ol>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="850-900-specific"></a>
<h3>Specific improvements</h3>
<ol>
<!-- ----------- INCOMPATIBILITIES ----------------- -->
-<a name="incompatible"></a>
+<a name="900-901-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
<!-- ----------- GENERAL IMPROVEMENTS ----------------- -->
-<a name="general"></a>
+<a name="900-901-general"></a>
<h3>General</h3>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="900-901-specific"></a>
<h3>Specific improvements</h3>
<ol>
<!-- ----------- INCOMPATIBILITIES ----------------- -->
-<a name="incompatible"></a>
+<a name="901-910-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
<!-- ----------- GENERAL IMPROVEMENTS ----------------- -->
-<a name="general"></a>
+<a name="901-910-general"></a>
<h3>General</h3>
<ol>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="901-910-specific"></a>
<h3>Specific improvements</h3>
<ol>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="910-911-specific"></a>
<h3>Specific improvements</h3>
<ol>
<!-- ----------- INCOMPATIBILITIES ----------------- -->
-<a name="incompatible"></a>
+<a name="911-920-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
<!-- ----------- GENERAL IMPROVEMENTS ----------------- -->
-<a name="general"></a>
+<a name="911-920-general"></a>
<h3>General</h3>
<ol>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="911-920-specific"></a>
<h3>Specific improvements</h3>
<ol>
</p>
<!-- ----------- INCOMPATIBILITIES ----------------- -->
-<a name="incompatible"></a>
+<a name="920-930-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
<!-- ----------- GENERAL IMPROVEMENTS ----------------- -->
-<a name="general"></a>
+<a name="920-930-general"></a>
<h3>General</h3>
<ol>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="920-930-specific"></a>
<h3>Specific improvements</h3>
<ol>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="930-931-specific"></a>
<h3>Specific improvements</h3>
<ol>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="931-932-specific"></a>
<h3>Specific improvements</h3>
<ol>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="932-933-specific"></a>
<h3>Specific improvements</h3>
<ol>
</p>
<!-- ----------- INCOMPATIBILITIES ----------------- -->
-<a name="incompatible"></a>
+<a name="933-940-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
<!-- ----------- GENERAL IMPROVEMENTS ----------------- -->
-<a name="general"></a>
+<a name="933-940-general"></a>
<h3>General</h3>
<ol>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="933-940-specific"></a>
<h3>Specific improvements</h3>
<ol>
</p>
<!-- ----------- INCOMPATIBILITIES ----------------- -->
-<a name="incompatible"></a>
+<a name="940-950-incompatible"></a>
<h3 style="color:red">Incompatibilities</h3>
<p style="color:red">
<!-- ----------- GENERAL IMPROVEMENTS ----------------- -->
-<a name="general"></a>
+<a name="940-950-general"></a>
<h3>General</h3>
<ol>
<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
-<a name="specific"></a>
+<a name="940-950-specific"></a>
<h3>Specific improvements</h3>
<ol>
-<a name="Intro"></a>
+<a name="step-1-Intro"></a>
<h1>Introduction</h1>
<h3> About the tutorial </h3>
-<a name="Intro"></a>
+<a name="step-10-Intro"></a>
<h1>Introduction</h1>
<h3>Possibilities for extensions</h3>
-<a name="extensions"></a>
+<a name="step-10-extensions"></a>
As the table of numbers copied from the output of the program shows above,
it is not very difficult to compute the value of $\pi$ to 13 or 15 digits. But,
-<a name="Intro"></a>
+<a name="step-11-Intro"></a>
<h1>Introduction</h1>
The problem we will be considering is the solution of Laplace's problem with
FEInterfaceValues as is done in this tutorial.
</i>
-<a name="Intro"></a>
+<a name="step-12-Intro"></a>
<h1>An example of an advection problem using the Discountinuous Galerkin method</h1>
<h3>Overview</h3>
<img src="https://www.dealii.org/images/steps/developer/step-12.sol-5-3d.png" alt="">
-<a name="dg-vs-cg"></a>
+<a name="step-12-dg-vs-cg"></a>
<h3>Why use discontinuous elements</h3>
In this program we have used discontinuous elements. It is a legitimate
-<a name="extensions"></a>
+<a name="step-12-extensions"></a>
<h3>Possibilities for extensions</h3>
Given that the exact solution is known in this case, one interesting
-<a name="Intro"></a>
+<a name="step-13-Intro"></a>
<h1>Introduction</h1>
<h3>Background and purpose</h3>
-<a name="Intro"></a>
+<a name="step-14-Intro"></a>
<h1>Introduction</h1>
<h3>The maths</h3>
<br>
-<a name="Intro"></a>
+<a name="step-15-Intro"></a>
<h1>Introduction</h1>
<h3>Foreword</h3>
-<a name="extensions"></a>
+<a name="step-15-extensions"></a>
<h3>Possibilities for extensions</h3>
The program shows the basic structure of a solver for a nonlinear, stationary
is done in this tutorial.
</i>
-<a name="Intro"></a>
+<a name="step-16-Intro"></a>
<h1>Introduction</h1>
-<a name="Intro"></a>
+<a name="step-17-Intro"></a>
<h1>Introduction</h1>
<h3>Overview</h3>
-<a name="extensions"></a>
+<a name="step-17-extensions"></a>
<h3>Possibilities for extensions</h3>
The program keeps a complete copy of the Triangulation and DoFHandler objects
-<a name="Intro"></a>
+<a name="step-18-Intro"></a>
<h1>Introduction</h1>
displacements $\mathbf{u}(\mathbf{x},t)$ of the points on the boundary. To
complete this system, we have to specify the incremental relationship between
the stress and the strain, as follows:
-<a name="step_18.stress-strain"></a>
+<a name="step-18-stress-strain"></a>
@f[
\dot\sigma = C \varepsilon (\dot{\mathbf{u}}),
\qquad
finite element formulation, reads as follows: find $\Delta \mathbf{u}^n \in
\{v\in H^1(\Omega(t_{n-1}))^d: v|_{\Gamma_D}=\mathbf{d}(\cdot,t_n) - \mathbf{d}(\cdot,t_{n-1})\}$
such that
-<a name="step_18.linear-system"></a>
+<a name="step-18-linear-system"></a>
@f{align*}{
(C \varepsilon(\Delta\mathbf{u}^n), \varepsilon(\varphi) )_{\Omega(t_{n-1})}
&=
As indicated above, we need to have the stress variable $\sigma^n$ available
when computing time step $n+1$, and we can compute it using
-<a name="step_18.stress-update"></a>
+<a name="step-18-stress-update"></a>
@f[
\sigma^n = \sigma^{n-1} + C \varepsilon (\Delta \mathbf{u}^n).
\qquad
the curl the rotational modes). Since the exact form of $R$ is cumbersome, we
only state it in the program code, and note that the correct updating formula
for the stress variable is then
-<a name="step_18.stress-update+rot"></a>
+<a name="step-18-stress-update+rot"></a>
@f[
\sigma^n
=
the publication @cite GLHPW2018 if you use particle functionality in your
own work.
-<a name="Intro"></a>
+<a name="step-19-Intro"></a>
<h1>Introduction</h1>
The finite element method in general, and deal.II in particular, were invented
electrode.
-<a name="extensions"></a>
+<a name="step-19-extensions"></a>
<h3>Possibilities for extensions</h3>
-<a name="Intro"></a>
+<a name="step-2-Intro"></a>
<h1>Introduction</h1>
@dealiiVideoLecture{9}
-<a name="Intro"></a>
+<a name="step-20-Intro"></a>
<h1>Introduction</h1>
@dealiiVideoLecture{19,20,21}
$g=p|_{\partial\Omega}$.
For the computations in this program, we choose $\alpha=0.3,\beta=1$. You can
-find the resulting solution in the <a name="#Results">results section
+find the resulting solution in the <a name="step-20-#Results">results section
below</a>, after the commented program.
-<a name="extensions"></a>
+<a name="step-20-extensions"></a>
<h3>Possibilities for extensions</h3>
<h4>More realistic permeability fields</h4>
-<a name="Intro"></a> <h1>Introduction</h1>
+<a name="step-21-Intro"></a> <h1>Introduction</h1>
This program grew out of a student project by Yan Li at Texas A&M
University. Most of the work for this program is by her.
are not equipped to do this kind of transformation.
-<a name="extensions"></a>
+<a name="step-21-extensions"></a>
<h3>Possibilities for extensions</h3>
There are a number of areas where this program can be improved. Three of them
-<a name="Intro"></a>
+<a name="step-22-Intro"></a>
<h1>Introduction</h1>
This program deals with the Stokes system of equations which reads as
conditions.
-<a name="constraint-matrix">
+<a name="step-22-constraint-matrix">
<h4>Using AffineConstraints for increasing performance</h4>
</a>
-<a name="Results"></a>
+<a name="step-22-Results"></a>
<h1>Results</h1>
<h3>Output of the program and graphical visualization</h3>
<h3>Possibilities for extensions</h3>
-<a name="improved-solver">
+<a name="step-22-improved-solver">
<h4>Improved linear solver in 3D</h4>
</a>
linear solver, a discussion that we will re-consider again with additional
options in the step-31 program.
-<a name="improved-ilu">
+<a name="step-22-improved-ilu">
<h5>Better ILU decomposition by smart reordering</h5>
</a>
A first attempt to improve the speed of the linear solution process is to choose
candidate in step-16: multigrid.
<h5>Block Schur complement preconditioner</h5>
-<a name="block-schur"></a>
+<a name="step-22-block-schur"></a>
Even with a good preconditioner for $A$, we still
need to solve of the same linear system repeatedly (with different
right hand sides, though) in order to make the Schur complement solve
-<a name="Intro"></a>
+<a name="step-23-Intro"></a>
<h1>Introduction</h1>
@dealiiVideoLecture{28}
mesh width and the time step.
-<a name="extensions"></a>
+<a name="step-23-extensions"></a>
<h3>Possibilities for extensions</h3>
If you want to explore a bit, try out some of the following things:
-<a name="Intro"></a>
+<a name="step-24-Intro"></a>
<h1>Introduction</h1>
This program grew out of a student project by Xing Jin at Texas A&M
-<a name="Intro"></a> <h1>Introduction</h1>
+<a name="step-25-Intro"></a> <h1>Introduction</h1>
This program grew out of a student project by Ivan Christov at Texas A&M
University. Most of the work for this program is by him.
<img src="https://www.dealii.org/images/steps/developer/step-25.2d-pseudobreather.gif" alt="Animation of a 2D pseudobreather.">
-<a name="extensions"></a>
+<a name="step-25-extensions"></a>
<h3>Possibilities for extensions</h3>
It is instructive to change the initial conditions. Most choices will not lead
-<a name="Intro"></a>
+<a name="step-26-Intro"></a>
<h1>Introduction</h1>
@dealiiVideoLecture{29,30}
could come up with. We'll get back to this in the next section.
-<a name="extensions"></a>
+<a name="step-26-extensions"></a>
<h3>Possibilities for extensions</h3>
There are at least two areas where one can improve this program significantly:
-<a name="Intro"></a>
+<a name="step-27-Intro"></a>
<h1>Introduction</h1>
This tutorial program attempts to show how to use $hp$-finite element methods
-<a name="extensions"></a>
+<a name="step-27-extensions"></a>
<h3>Possibilities for extensions</h3>
<h4>Different hp-decision strategies</h4>
<br>
-<a name="Intro"></a> <h1>Introduction</h1>
+<a name="step-28-Intro"></a> <h1>Introduction</h1>
In this example, we intend to solve the multigroup diffusion approximation of
the neutron transport equation. Essentially, the way to view this is as follows: In a
nuclear reactor, neutrons are speeding around at different energies, get
href="../../readme.html#umfpack">ReadMe</a> for instructions how to do this.
-<a name="Intro"></a>
+<a name="step-29-Intro"></a>
<h1>Introduction</h1>
-<a name="Results"></a>
+<a name="step-29-Results"></a>
<h1>Results</h1>
The current program reads its run-time parameters from an input file
-<a name="extensions"></a>
+<a name="step-29-extensions"></a>
<h3>Possibilities for extensions</h3>
An obvious possible extension for this program is to run it in 3d
-<a name="Intro"></a>
+<a name="step-3-Intro"></a>
<h1>Introduction</h1>
@dealiiVideoLecture{10}
-<a name="extensions"></a>
+<a name="step-3-extensions"></a>
<h3>Possibilities for extensions</h3>
If you want to play around a little bit with this program, here are a few
-<a name="Intro"></a>
+<a name="step-30-Intro"></a>
<h1>Introduction</h1>
</i>
-<a name="Intro"></a>
+<a name="step-31-Intro"></a>
<h1>Introduction</h1>
<h3>The Boussinesq equations</h3>
</i>
-<a name="Intro"></a>
+<a name="step-32-Intro"></a>
<h1>Introduction</h1>
This program does pretty much exactly what step-31 already does: it
</p>
-<a name="extensions"></a>
+<a name="step-32-extensions"></a>
<h3>Possibilities for extensions</h3>
There are many directions in which this program could be extended. As
-<a name="Intro"></a> <h1>Introduction</h1>
+<a name="step-33-Intro"></a> <h1>Introduction</h1>
<h3>Euler flow</h3>
-<a name="Results"></a>
+<a name="step-33-Results"></a>
<h1>Results</h1>
We run the problem with the mesh <code>slide.inp</code> (this file is in the
-<a name="extensions"></a>
+<a name="step-33-extensions"></a>
<h3>Possibilities for extensions</h3>
<h4>Stabilization</h4>
@dealiiTutorialDOI{10.5281/zenodo.495473,https://zenodo.org/badge/DOI/10.5281/zenodo.495473.svg}
-<a name="Intro"></a>
+<a name="step-34-Intro"></a>
<h1>Introduction</h1>
<img src="https://www.dealii.org/images/steps/developer/step-34_3d-2.png" alt="">
-<a name="extensions"></a>
+<a name="step-34-extensions"></a>
<h3>Possibilities for extensions</h3>
This is the first tutorial program that considers solving equations defined on
University. Most of the work for this program is by him.
</i>
-<a name="Intro"></a>
+<a name="step-35-Intro"></a>
<h1> Introduction </h1>
-<a name="Motivation"></a>
+<a name="step-35-Motivation"></a>
<h3> Motivation </h3>
The purpose of this program is to show how to effectively solve the incompressible time-dependent
Navier-Stokes equations. These equations describe the flow of a viscous incompressible fluid and read
difficult to solve, and means that for the Navier-Stokes equations, this is
not a useful avenue to the solution.
-<a name="Projection"></a>
+<a name="step-35-Projection"></a>
<h3> Projection methods </h3>
Rather, we need to come up with a different approach to solve the time-dependent Navier-Stokes
-<a name="results"></a>
+<a name="step-35-results"></a>
<h1>Results</h1>
-<a name="Re100"></a>
+<a name="step-35-Re100"></a>
<h3> Re = 100 </h3>
We run the code with the following <code>parameter-file.prm</code>, which can be found in the
whether this is a left or right turning vortex.
-<a name="Re500"></a>
+<a name="step-35-Re500"></a>
<h3> Re = 500 </h3>
We can change the Reynolds number, $Re$, in the parameter file to a
resolutions, as described below.
-<a name="extensions"></a>
+<a name="step-35-extensions"></a>
<h3> Possibilities for extensions </h3>
This program can be extended in the following directions:
<i>This program was contributed by Toby D. Young and Wolfgang
Bangerth. </i>
-<a name="Preamble"></a>
+<a name="step-36-Preamble"></a>
<h1>Preamble</h1>
The problem we want to solve in this example is an eigenspectrum
href="http://www.mcs.anl.gov/petsc/" target="_top">PETSc</a> library
for linear algebra contents.
-<a name="Intro"></a>
+<a name="step-36-Intro"></a>
<h1>Introduction</h1>
The basic equation of stationary quantum mechanics is the
by providing computing time on the GCS Supercomputer SuperMUC at Leibniz
Supercomputing Centre (LRZ, www.lrz.de) through project id pr83te. </i>
-<a name="Intro"></a>
+<a name="step-37-Intro"></a>
<h1>Introduction</h1>
This example shows how to implement a matrix-free method, that is, a method
(NSF).
</i>
-<a name="Intro"></a>
+<a name="step-38-Intro"></a>
<h1>Introduction</h1>
<img src="https://www.dealii.org/images/steps/developer/step-38.solution-2d.png" alt="">
-<a name="extensions"></a>
+<a name="step-38-extensions"></a>
<h3>Possibilities for extensions</h3>
Computing on surfaces only becomes interesting if the surface is more
-<a name="Intro"></a>
+<a name="step-39-Intro"></a>
In this program, we use the interior penalty method and Nitsche's weak
boundary conditions to solve Poisson's equation. We use multigrid
-<a name="Intro"></a>
+<a name="step-4-Intro"></a>
<h1>Introduction</h1>
@dealiiVideoLecture{12,13}
-<a name="postprocessing"></a>
+<a name="step-4-postprocessing"></a>
<h3> Postprocessing: What to do with the solution? </h3>
This tutorial -- like most of the other programs -- principally only shows how
-<a name="extensions"></a>
+<a name="step-4-extensions"></a>
<h3>Possibilities for extensions</h3>
There are many ways with which one can play with this program. The simpler
instructions for PETSc.
-<a name="Intro"></a>
+<a name="step-40-Intro"></a>
<h1>Introduction</h1>
@dealiiVideoLecture{41.5,41.75}
-<a name="extensions"></a>
+<a name="step-40-extensions"></a>
<h3>Possibilities for extensions</h3>
In a sense, this program is the ultimate solver for the Laplace
</i>
-<a name="Intro"></a>
+<a name="step-41-Intro"></a>
<h3>Introduction</h3>
This example is based on the Laplace equation in 2d and deals with the
-<a name="extensions"></a>
+<a name="step-41-extensions"></a>
<h3>Possibilities for extensions</h3>
As with any of the programs of this tutorial, there are a number of
-<a name="Intro"></a>
+<a name="step-42-Intro"></a>
<h3>Introduction</h3>
This example is an extension of step-41, considering a 3d contact problem with an
provided in the publication mentioned at the very top of this page.
-<a name="extensions"></a>
+<a name="step-42-extensions"></a>
<h1>Possibilities for extensions</h1>
There are, as always, multiple possibilities for extending this program. From
</i>
-<a name="Intro"></a> <h1>Introduction</h1>
+<a name="step-43-Intro"></a> <h1>Introduction</h1>
The simulation of multiphase flow in porous media is a ubiquitous problem, and
we have previously addressed it already in some form in step-20 and
</table>
-<a name="extensions"></a>
+<a name="step-43-extensions"></a>
<h3>Possibilities for extensions</h3>
The primary objection one may have to this program is that it is still too
@dealiiTutorialDOI{10.5281/zenodo.439772,https://zenodo.org/badge/DOI/10.5281/zenodo.439772.svg}
-<a name="Intro"></a>
+<a name="step-44-Intro"></a>
<h1>Introduction</h1>
The subject of this tutorial is nonlinear solid mechanics.
</tr>
</table>
-<a name="extensions"></a>
+<a name="step-44-extensions"></a>
<h3>Possibilities for extensions</h3>
There are a number of obvious extensions for this work:
<br>
<i>This program was contributed by Daniel Arndt and Matthias Maier.</i>
-<a name="Intro"></a>
+<a name="step-45-Intro"></a>
<h1>Introduction</h1>
In this example we present how to use periodic boundary conditions in
periodically extended to the other boxes; this requires the solution to
have a periodic structure.
-<a name="Procedure"></a>
+<a name="step-45-Procedure"></a>
<h1>Procedure</h1>
deal.II provides a number of high level entry points to impose periodic
from the self-explaining @p component_mask and @p affine_constraints.
-<a name="problem"></a>
+<a name="step-45-problem"></a>
<h1>A practical example</h1>
In the following, we show how to use the above functions in a more involved
California – Davis. </i>
-<a name="Intro"></a>
+<a name="step-46-Intro"></a>
<h1>Introduction</h1>
This program deals with the problem of coupling different physics in different
-<a name="Results"></a>
+<a name="step-46-Results"></a>
<h1>Results</h1>
<h3>2d results</h3>
to go on doing more 3d computations.
-<a name="extensions"></a>
+<a name="step-46-extensions"></a>
<h3>Possibilities for extensions</h3>
<h4>Linear solvers and preconditioners</h4>
awards DMS-1821210, EAR-1550901, and OAC-1835673.
</i>
-<a name="Intro"></a>
+<a name="step-47-Intro"></a>
<h1>Introduction</h1>
This program deals with the <a
Kormann and Martin Kronbichler in: Proceedings of the 7th IEEE
International Conference on e-Science, 2011. </i>
-<a name="Intro"></a>
+<a name="step-48-Intro"></a>
<h1>Introduction</h1>
This program demonstrates how to use the cell-based implementation of finite
<i>This program was contributed by Timo Heister. Parts of the results section
were contributed by Yuhan Zhou, Wolfgang Bangerth, David Wells, and Sean Ingimarson.</i>
-<a name="Intro"></a>
+<a name="step-49-Intro"></a>
<h1> Introduction </h1>
This tutorial is an extension to step-1 and demonstrates several ways to
obtain more involved meshes than the ones shown there.
-<a name="Intro"></a>
+<a name="step-5-Intro"></a>
<h1>Introduction</h1>
@dealiiVideoLecture{14}
libraries is described in the <a href="../../readme.html" target="body">README</a> file.
-<a name="Intro"></a>
+<a name="step-50-Intro"></a>
<h1>Introduction</h1>
This program was contributed by Martin Kronbichler and Scott Miller.
</i>
-<a name="Intro"></a>
+<a name="step-51-Intro"></a>
<h1>Introduction</h1>
This tutorial program presents the implementation of a hybridizable
the UMFPACK sparse direct solver. Refer to the <a
href="../../readme.html#umfpack">ReadMe</a> for instructions how to do this.
-<a name="Intro"></a>
+<a name="step-52-Intro"></a>
<h1>Introduction</h1>
This program shows how to use Runge-Kutta methods to solve a time-dependent
href="https://github.com/dealii/dealii/blob/master/examples/step-53/step-53.ipynb">github</a>.
-<a name="Intro"></a>
+<a name="step-53-Intro"></a>
<h1>Introduction</h1>
Partial differential equations for realistic problems are often posed on
@dealiiTutorialDOI{10.5281/zenodo.546220,https://zenodo.org/badge/DOI/10.5281/zenodo.546220.svg}
-<a name="Intro"></a>
+<a name="step-54-Intro"></a>
<h1>Introduction</h1>
these additional libraries is described in the <a href="../../readme.html"
target="body">README</a> file.
-<a name="Intro"></a>
+<a name="step-55-Intro"></a>
<h1>Introduction</h1>
Building on step-40, this tutorial shows how to solve linear PDEs with several
influence the quality of a V-cycle. Therefore, a V-cycle is closer to an exact
solver for smaller problem sizes.
-<a name="extensions"></a>
+<a name="step-55-extensions"></a>
<h3>Possibilities for extensions</h3>
<h4>Investigate Trilinos iterations</h4>
@dealiiTutorialDOI{10.5281/zenodo.400995,https://zenodo.org/badge/DOI/10.5281/zenodo.400995.svg}
-<a name="Intro"></a>
+<a name="step-56-Intro"></a>
<h1>Introduction</h1>
<h3> Stokes Problem </h3>
@dealiiTutorialDOI{10.5281/zenodo.484156,https://zenodo.org/badge/DOI/10.5281/zenodo.484156.svg}
-<a name="Intro"></a>
+<a name="step-57-Intro"></a>
<h1>Introduction</h1>
<h3> Navier Stokes Equations </h3>
<img src="https://www.dealii.org/images/steps/developer/step-57.converge-Re7500.svg" style="width:50%" alt="">
-<a name="extensions"></a>
+<a name="step-57-extensions"></a>
<h3>Possibilities for extensions</h3>
Award No. EAR-1550901 and The University of California-Davis.
</i>
-<a name="Intro"></a>
+<a name="step-58-Intro"></a>
<h1>Introduction</h1>
The <a
of the video.
-<a name="extensions"></a>
+<a name="step-58-extensions"></a>
<h3>Possibilities for extensions</h3>
<h4> Better linear solvers </h4>
the project "High-order discontinuous Galerkin for the exa-scale" (ExaDG)
within the priority program "Software for Exascale Computing" (SPPEXA). </i>
-<a name="Intro"></a>
+<a name="step-59-Intro"></a>
<h1>Introduction</h1>
Matrix-free operator evaluation enables very efficient implementations of
-<a name="Intro"></a>
+<a name="step-6-Intro"></a>
<h1>Introduction</h1>
@dealiiVideoLecture{15,16,17,17.25,17.5,17.75}
-<a name="extensions"></a>
+<a name="step-6-extensions"></a>
<h3>Possibilities for extensions</h3>
<h4>Solvers and preconditioners</h4>
</div>
</div>
-<a name="extensions"></a>
+<a name="step-60-extensions"></a>
<h3>Possibilities for extensions</h3>
<h4> Running with `spacedim` equal to three</h4>
results, are presented in @cite Wang2019 .
</i>
-<a name="Intro"></a>
+<a name="step-61-Intro"></a>
<h1>Introduction</h1>
This tutorial program presents an implementation of the "weak Galerkin"
@dealiiTutorialDOI{10.5281/zenodo.3382899,https://zenodo.org/badge/DOI/10.5281/zenodo.3382899.svg}
-<a name="Intro"></a>
+<a name="step-63-Intro"></a>
<h1>Introduction</h1>
This program solves an advection-diffusion problem using a geometric multigrid
using a better preconditioner than the identity matrix we have used here.
-<a name="extensions"></a>
+<a name="step-64-extensions"></a>
<h3> Possibilities for extensions </h3>
Currently, this program uses no preconditioner at all. This is mainly
This program was contributed by Martin Kronbichler.
</i>
-<a name="Intro"></a>
+<a name="step-65-Intro"></a>
<h1>Introduction</h1>
This tutorial program presents an advanced manifold class,
</i>
-<a name="Intro"></a>
+<a name="step-66-Intro"></a>
<h1>Introduction</h1>
The aim of this tutorial program is to demonstrate how to solve a nonlinear
within the priority program "Software for Exascale Computing" (SPPEXA).
</i>
-<a name="Intro"></a>
+<a name="step-67-Intro"></a>
<h1>Introduction</h1>
This tutorial program solves the Euler equations of fluid dynamics using an
@dealiiTutorialDOI{10.5281/zenodo.3698223,https://zenodo.org/badge/DOI/10.5281/zenodo.3698223.svg}
-<a name="Intro"></a>
+<a name="step-69-Intro"></a>
<h1>Introduction</h1>
This tutorial presents a first-order scheme for solving compressible
the second-order scheme discussed in @cite GuermondEtAl2018.
-<a name="eulerequations"></a>
+<a name="step-69-eulerequations"></a>
<h3>Euler's equations of gas dynamics</h3>
The compressible Euler's equations of gas dynamics are written in
-<a name="Results"></a>
+<a name="step-69-Results"></a>
<h1>Results</h1>
Running the program with default parameters in release mode takes about 1
-<a name="extensions"></a>
+<a name="step-69-extensions"></a>
<h3>Possibilities for extensions</h3>
The program showcased here is really only first-order accurate, as
-<a name="Intro"></a>
+<a name="step-7-Intro"></a>
<h1>Introduction</h1>
In this program, we will mainly consider two aspects:
@endhtmlonly
-<a name="extensions"></a>
+<a name="step-70-extensions"></a>
<h3>Possibilities for extensions</h3>
The current tutorial program shows a one-way coupling between the fluid and the
@dealiiTutorialDOI{10.5281/zenodo.5812174,https://zenodo.org/badge/DOI/10.5281/zenodo.5812174.svg}
-<a name="Intro"></a>
+<a name="step-74-Intro"></a>
<h1><em>Symmetric interior penalty Galerkin</em> (SIPG) method for Poisson's equation</h1>
<h3>Overview</h3>
-<a name="Intro"></a>
+<a name="step-75-Intro"></a>
<h1>Introduction</h1>
In the finite element context, more degrees of freedom usually yield a
-<a name="extensions"></a>
+<a name="step-75-extensions"></a>
<h3>Possibilities for extensions</h3>
This tutorial shows only one particular way how to use parallel
within the KONWIHR program.
</i>
-<a name="Intro"></a>
+<a name="step-76-Intro"></a>
<h1>Introduction</h1>
This tutorial program solves the Euler equations of fluid dynamics, using an
</i>
<br>
-<a name="Intro"></a>
+<a name="step-77-Intro"></a>
<h1>Introduction</h1>
The step-15 program solved the following, nonlinear equation
that determine when we need to rebuild this information.
-<a name="extensions"></a>
+<a name="step-77-extensions"></a>
<h3> Possibilities for extensions </h3>
<h4> Better linear solvers </h4>
-<a name="Intro"></a>
+<a name="step-78-Intro"></a>
<h1>Introduction</h1>
The Black-Scholes equation is a partial differential equation that falls a bit
-<a name="Intro"></a>
+<a name="step-79-Intro"></a>
<h1>Introduction</h1>
Topology Optimization of Elastic Media is a technique used to optimize a
-<a name="Intro"></a>
+<a name="step-8-Intro"></a>
<h1>Introduction</h1>
and Matthias Maier (Texas A&M University).
</i>
-<a name="Intro"></a>
+<a name="step-81-Intro"></a>
<h1> Introduction </h1>
@dealiiTutorialDOI{10.5281/zenodo.5598180,https://zenodo.org/badge/DOI/10.5281/zenodo.5598180.svg}
-<a name="Intro"></a>
+<a name="step-82-Intro"></a>
<h1>Introduction</h1>
<h3>Problem Statement</h3>
under grants 2014-6088 (Kreiss) and 2017-05038 (Massing).
</i>
-<a name="Intro"></a>
+<a name="step-85-Intro"></a>
<h1>Introduction</h1>
<h3>The Cut Finite Element Method</h3>
-<a name="Intro"></a>
+<a name="step-9-Intro"></a>
<h1>Introduction</h1>