<h2>Tutorial programs listed by number</h2>
<table align="center" width="80%">
- <tr><td><a href="../../doxygen/deal.II/step_1.html">Step-1</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_1.html">Step-1</a></td>
<td> Creating a grid. A simple way to write it to a file.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_2.html">Step-2</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_2.html">Step-2</a></td>
<td> Associate degrees of freedom to
each vertex and compute the resulting sparsity pattern of
matrices. Show that renumbering reduces the bandwidth of
diagonal.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_3.html">Step-3</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_3.html">Step-3</a></td>
<td> Actually solve Laplace's
problem. Object-orientation. Assembling matrices and
vectors. Boundary values.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_4.html">Step-4</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_4.html">Step-4</a></td>
<td> This example is programmed in a
way that it is independent of the dimension for which we want to
solve Laplace's equation; we will solve the equation in 2D and
hand side function. Non-homogeneous boundary values.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_5.html">Step-5</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_5.html">Step-5</a></td>
<td> Computations on successively
refined grids. Reading a grid from disk. Some optimizations.
Using assertions. Non-constant coefficient in
linear system of equations.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_6.html">Step-6</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_6.html">Step-6</a></td>
<td> Adaptive local
refinement. Handling of hanging nodes. Higher order elements.
Catching exceptions in the “main” function.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_7.html">Step-7</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_7.html">Step-7</a></td>
<td> Helmholtz
equation. Non-homogeneous Neumann boundary conditions and
boundary integrals. Verification of correctness of computed
solution and output of the data in tables. Using counted pointers.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_8.html">Step-8</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_8.html">Step-8</a></td>
<td> The elastic equations will be
solved instead of Laplace's equation. The solution is
vector-valued and the equations form a system with as many
equations as the dimension of the space in which it is posed.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_9.html">Step-9</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_9.html">Step-9</a></td>
<td> Transport equation, assembling
the system of equations in parallel using multi-threading,
implementing a refinement criterion based on a finite difference
approximation of the gradient.
- <tr><td><a href="../../doxygen/deal.II/step_10.html">Step-10</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_10.html">Step-10</a></td>
<td> Higher order mappings. Do not
solve equations, but rather compute the value of pi to high
accuracy.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_11.html">Step-11</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_11.html">Step-11</a></td>
<td> Solving a Laplace problem with
higher order mappings. Using strange constraints and
intermediate representations of sparsity patterns.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_12.html">Step-12</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_12.html">Step-12</a></td>
<td> General framework for
discontinuous Galerkin methods. Use of Timer class.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_13.html">Step-13</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_13.html">Step-13</a></td>
<td> Software design questions and
how to write a modular, extensible finite element program.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_14.html">Step-14</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_14.html">Step-14</a></td>
<td> Duality based error estimators,
more strategies to write a modular, extensible finite element
program.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_15.html">Step-15</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_15.html">Step-15</a></td>
<td> 1d problems, nonlinear solvers,
transfering a solution across mesh refinement.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_16.html">Step-16</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_16.html">Step-16</a></td>
<td> Based on step 5, a multilevel
preconditioner is implemented.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_17.html">Step-17</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_17.html">Step-17</a></td>
<td> Using PETSc for linear algebra; running
in parallel on clusters of computers linked together by MPI.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_18.html">Step-18</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_18.html">Step-18</a></td>
<td> A time dependent problem; using a much
simplified version of implementing elasticity; moving meshes; handling
large scale output of parallel programs.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_19.html">Step-19</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_19.html">Step-19</a></td>
<td> Input parameter file handling. Merging
output of a parallel program.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_20.html">Step-20</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_20.html">Step-20</a></td>
<td> Mixed finite elements. Using block
matrices and block vectors to define more complicated solvers and
preconditioners working on the Schur complement.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_21.html">Step-21</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_21.html">Step-21</a></td>
<td> The time dependent two-phase flow in
porous media. Extensions of mixed Laplace discretizations. More
complicated block solvers. Simple time stepping.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_22.html">Step-22</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_22.html">Step-22</a></td>
<td> Solving the Stokes equations of slow fluid flow on adaptive
meshes. More on Schur complement solvers
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_23.html">Step-23</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_23.html">Step-23</a></td>
<td> Finally a "real" time dependent problem,
the wave equation.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_24.html">Step-24</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_24.html">Step-24</a></td>
<td> A variant of step-23 with absorbing
boundary conditions, and extracting practically useful data.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_25.html">Step-25</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_25.html">Step-25</a></td>
<td> The sine-Gordon
soliton equation, which is a nonlinear variant of the time
dependent wave equation covered in step-23 and step-24.
</td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_27.html">Step-27</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_27.html">Step-27</a></td>
<td> hp finite element methods </td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_29.html">Step-29</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_29.html">Step-29</a></td>
<td> Solving a complex-valued Helmholtz equation. Sparse direct
solvers. Dealing with parameter files. </td></tr>
- <tr><td><a href="../../doxygen/deal.II/step_33.html">Step-33</a></td>
+ <tr valign="top">
+ <td><a href="../../doxygen/deal.II/step_33.html">Step-33</a></td>
<td> A nonlinear hyperbolic conservation law: The Euler equations of
compressible gas dynamics. </td></tr>
</table>
by topic:
<table align="center" width="80%">
- <tr>
+ <tr valign="top">
<td><b>Basic techniques</b></td>
<td><a href="../../doxygen/deal.II/step_1.html">Step-1</a></td>
<td> Creating a grid. A simple way to write it to a file
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_2.html">Step-2</a></td>
<td> Degrees of freedom
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_3.html">Step-3</a></td>
<td> Solve the Laplace equation
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_4.html">Step-4</a></td>
<td> Dimension independent programming, non-zero data
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_5.html">Step-5</a></td>
<td> Computing on uniformly refined meshes
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_6.html">Step-6</a></td>
<td> Adaptivity
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_7.html">Step-7</a></td>
<td> Evaluating errors
</tr>
- <tr>
+ <tr><td><br></td></tr>
+
+ <tr valign="top">
<td><b>Advanced techniques</b></td>
<td><a href="../../doxygen/deal.II/step_9.html">Step-9</a></td>
<td> Multithreading
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_20.html">Step-20</a>,
<a href="../../doxygen/deal.II/step_21.html">Step-21</a>,
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_17.html">Step-17</a>,
<a href="../../doxygen/deal.II/step_18.html">Step-18</a>,
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_19.html">Step-19</a>,
<a href="../../doxygen/deal.II/step_19.html">Step-29</a>,
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_10.html">Step-10</a>,
<a href="../../doxygen/deal.II/step_11.html">Step-11</a></td>
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_6.html">Step-6</a>,
<a href="../../doxygen/deal.II/step_9.html">Step-9</a>,
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_15.html">Step-15</a>,
<a href="../../doxygen/deal.II/step_33.html">Step-33</a></td>
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_12.html">Step-12</a></td>
<td> Discontinuous Galerkin methods
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_27.html">Step-27</a></td>
<td> hp finite elements
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_16.html">Step-16</a></td>
<td> Multilevel preconditioners
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_33.html">Step-33</a></td>
<td> Computing Jacobians from residuals, automatic differentiation
</tr>
+ <tr><td><br></td></tr>
- <tr>
+ <tr valign="top">
<td><b>Linear solver issues</b></td>
<td><a href="../../doxygen/deal.II/step_3.html">Step-3</a></td>
<td> Conjugate Gradient solver
</td>
</tr>
- <tr>
+ <tr valign="top">
<td><b></b></td>
<td><a href="../../doxygen/deal.II/step_5.html">Step-5</a></td>
<td> Preconditioned CG solver
</td>
</tr>
- <tr>
+ <tr valign="top">
<td><b></b></td>
<td><a href="../../doxygen/deal.II/step_9.html">Step-9</a></td>
<td> BiCGStab
</td>
</tr>
- <tr>
+ <tr valign="top">
<td><b></b></td>
<td><a href="../../doxygen/deal.II/step_16.html">Step-16</a></td>
<td> Multilevel preconditioners
</td>
</tr>
- <tr>
+ <tr valign="top">
<td><b></b></td>
<td><a href="../../doxygen/deal.II/step_17.html">Step-17</a>,
<a href="../../doxygen/deal.II/step_18.html">Step-18</a></td>
</td>
</tr>
- <tr>
+ <tr valign="top">
<td><b></b></td>
<td><a href="../../doxygen/deal.II/step_20.html">Step-20</a>,
<a href="../../doxygen/deal.II/step_21.html">Step-21</a>,
</td>
</tr>
- <tr>
+ <tr valign="top">
<td><b></b></td>
<td><a href="../../doxygen/deal.II/step_3.html">Step-33</a></td>
<td> Linear Newton systems from nonlinear equations
</tr>
- <tr>
+ <tr><td><br></td></tr>
+
+ <tr valign="top">
<td><b>Other equations</b></td>
<td><a href="../../doxygen/deal.II/step_7.html">Step-7</a>,
<a href="../../doxygen/deal.II/step_29.html">Step-29</a></td>
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_8.html">Step-8</a></td>
<td> Elasticity equations
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_18.html">Step-18</a></td>
<td> Quasi-static elasticity equations
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_9.html">Step-9</a></td>
<td> Transport (advection) equations
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_33.html">Step-33</a></td>
<td> The nonlinear hyperbolic Euler system of compressible gas dynamics
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_20.html">Step-20</a></td>
<td> Mixed Laplace
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_21.html">Step-21</a></td>
<td> Porous media flow
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_22.html">Step-22</a></td>
<td> Incompressible Stokes flow
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_23.html">Step-23</a>,
<a href="../../doxygen/deal.II/step_24.html">Step-24</a>,
</tr>
+ <tr><td><br></td></tr>
- <tr>
+ <tr valign="top">
<td><b>Vector problems</b></td>
<td><a href="../../doxygen/deal.II/step_8.html">Step-8</a></td>
<td> Elasticity equations
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_20.html">Step-20</a></td>
<td> Mixed Laplace
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_21.html">Step-21</a></td>
<td> Mixed Laplace plus an advection equation
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_22.html">Step-22</a></td>
<td> Incompressible Stokes flow
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_29.html">Step-29</a></td>
<td> A complex-valued Helmholtz problem
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_33.html">Step-33</a></td>
<td> The Euler equations of compressible gas dynamics
</td>
</tr>
- <tr>
+ <tr><td><br></td></tr>
+
+ <tr valign="top">
<td><b>Time-dependent problems</b></td>
<td><a href="../../doxygen/deal.II/step_18.html">Step-18</a></td>
<td> Quasi-static elasticity
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_21.html">Step-21</a></td>
<td> Porous media flow
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_23.html">Step-23</a>,
<a href="../../doxygen/deal.II/step_24.html">Step-24</a>,
</td>
</tr>
- <tr>
+ <tr valign="top">
<td></td>
<td><a href="../../doxygen/deal.II/step_33.html">Step-33</a></td>
<td> The Euler equations of compressible gas dynamics