From 4485c6e77f672a921418822c973035344efccbcb Mon Sep 17 00:00:00 2001 From: bangerth Date: Tue, 22 Jun 2010 16:33:02 +0000 Subject: [PATCH] Split the one big overview page into several individual ones. git-svn-id: https://svn.dealii.org/trunk@21266 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/doc/doxygen/tutorial/Makefile | 4 +- deal.II/doc/doxygen/tutorial/make_toc.pl | 2 +- deal.II/doc/doxygen/tutorial/navbar.html | 11 +- deal.II/doc/doxygen/tutorial/toc-list.html | 245 +++++++++++++++ deal.II/doc/doxygen/tutorial/toc-map.html.in | 33 ++ .../tutorial/{toc.html.in => toc-topics.html} | 285 +----------------- deal.II/doc/doxygen/tutorial/toc.html | 80 +++++ 7 files changed, 369 insertions(+), 291 deletions(-) create mode 100644 deal.II/doc/doxygen/tutorial/toc-list.html create mode 100644 deal.II/doc/doxygen/tutorial/toc-map.html.in rename deal.II/doc/doxygen/tutorial/{toc.html.in => toc-topics.html} (52%) create mode 100644 deal.II/doc/doxygen/tutorial/toc.html diff --git a/deal.II/doc/doxygen/tutorial/Makefile b/deal.II/doc/doxygen/tutorial/Makefile index 28793c901d..2906552ea0 100644 --- a/deal.II/doc/doxygen/tutorial/Makefile +++ b/deal.II/doc/doxygen/tutorial/Makefile @@ -39,9 +39,9 @@ get_basename = $(shell echo $(1) | $(PERL) -pi -e 's/(generated|doxygen).//g; s/ all: $(example-doxygen) toc.html -toc.html: steps.cmapx toc.html.in $D/examples/step-*/doc/tooltip +toc-map.html: steps.cmapx toc-map.html.in @echo ================== Making $@ - @perl make_toc.pl > toc.html + @perl make_toc.pl > toc-map.html # generate dot file steps.dot: steps.pl $D/examples/*/doc/tooltip diff --git a/deal.II/doc/doxygen/tutorial/make_toc.pl b/deal.II/doc/doxygen/tutorial/make_toc.pl index eb6ab2b6b1..6b26b152ba 100644 --- a/deal.II/doc/doxygen/tutorial/make_toc.pl +++ b/deal.II/doc/doxygen/tutorial/make_toc.pl @@ -5,7 +5,7 @@ $/ = undef; # Read source for web page -open TOC, "; close TOC; diff --git a/deal.II/doc/doxygen/tutorial/navbar.html b/deal.II/doc/doxygen/tutorial/navbar.html index ebcfed7f46..2e1fa6ea96 100644 --- a/deal.II/doc/doxygen/tutorial/navbar.html +++ b/deal.II/doc/doxygen/tutorial/navbar.html @@ -5,7 +5,7 @@ Step-by-Step Examples - + @@ -14,13 +14,16 @@

- Overview + Overview

- Programs by number + Connections between programs

- Programs by topic + Programs by number +

+

+ Programs by topic


diff --git a/deal.II/doc/doxygen/tutorial/toc-list.html b/deal.II/doc/doxygen/tutorial/toc-list.html new file mode 100644 index 0000000000..71fdfae69f --- /dev/null +++ b/deal.II/doc/doxygen/tutorial/toc-list.html @@ -0,0 +1,245 @@ + + + +Step-by-Step + + + + + + + + + + +

Tutorial programs listed by number

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Step-1 Creating a grid. A simple way to write it to a file. +
Step-2 Associate degrees of freedom to + each vertex and compute the resulting sparsity pattern of + matrices. Show that renumbering reduces the bandwidth of + matrices significantly, i.e. clusters nonzero entries around the + diagonal. +
Step-3 Actually solve Laplace's + problem. Object-orientation. Assembling matrices and + vectors. Boundary values. +
Step-4 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 + 3D, although the program is exactly the same. Non-constant right + hand side function. Non-homogeneous boundary values. +
Step-5 Computations on successively + refined grids. Reading a grid from disk. Some optimizations. + Using assertions. Non-constant coefficient in + the elliptic operator. Preconditioning the CG solver for the + linear system of equations. +
Step-6 Adaptive local + refinement. Handling of hanging nodes. Higher order elements. + Catching exceptions in the “main” function. +
Step-7 Helmholtz + equation. Non-homogeneous Neumann boundary conditions and + boundary integrals. Verification of correctness of computed + solutions. Computing the error between exact and numerical + solution and output of the data in tables. Using counted pointers. +
Step-8 The elasticity 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. +
Step-9 Linear advection equation, assembling + the system of equations in parallel using multi-threading, + implementing a refinement criterion based on a finite difference + approximation of the gradient. + +
Step-10 Higher order mappings. Do not + solve equations, but rather compute the value of pi to high + accuracy. +
Step-11 Solving a Laplace problem with + higher order mappings. Using strange constraints and + intermediate representations of sparsity patterns. +
Step-12 Discontinuous Galerkin methods for linear advection problems. +
Step-13 Software design questions and + how to write a modular, extensible finite element program. +
Step-14 Duality based error estimators, + more strategies to write a modular, extensible finite element + program. +
Step-15 1d problems, nonlinear solvers, + transfering a solution across mesh refinement. +
Step-16 Multigrid preconditioning of the Laplace equation on adaptive + meshes. +
Step-17 Using PETSc for linear algebra; running + in parallel on clusters of computers linked together by MPI. +
Step-18 A time dependent problem; using a much + simplified version of implementing elasticity; moving meshes; handling + large scale output of parallel programs. +
Step-19 Input parameter file handling. Merging + output of a parallel program. +
Step-20 Mixed finite elements. Using block + matrices and block vectors to define more complicated solvers and + preconditioners working on the Schur complement. +
Step-21 The time dependent two-phase flow in + porous media. Extensions of mixed Laplace discretizations. More + complicated block solvers. Simple time stepping. +
Step-22 Solving the Stokes equations of slow fluid flow on adaptive + meshes. More on Schur complement solvers. Advanced use of the + ConstraintMatrix class. +
Step-23 Finally a "real" time dependent problem, the wave equation. +
Step-24 A variant of step-23 with absorbing + boundary conditions, and extracting practically useful data. +
Step-25 The sine-Gordon + soliton equation, which is a nonlinear variant of the time + dependent wave equation covered in step-23 and step-24. +
Step-27 hp finite element methods
Step-28 Multiple grids for solving a multigroup diffusion equation + in nuclear physics simulating a nuclear reactor core
Step-29 Solving a complex-valued Helmholtz equation. Sparse direct + solvers. Dealing with parameter files.
Step-30 Anisotropic refinement for DG finite element methods. +
Step-31 Time-dependent Stokes flow driven by temperature + differences in a fluid. Adaptive meshes that change between time + steps. +
Step-33 A nonlinear hyperbolic conservation law: The Euler equations of + compressible gas dynamics. +
Step-34 Boundary element methods (BEM) of low order: Exterior irrotational + flow. The ParsedFunction class. +
Step-35 A projection solver for the Navier–Stokes equations. +
Step-36 Using SLEPc for linear algebra; solving an eigenspectrum + problem. The Schrödinger wave equation. +
+ + + +
+
+The deal.II group
+ + diff --git a/deal.II/doc/doxygen/tutorial/toc-map.html.in b/deal.II/doc/doxygen/tutorial/toc-map.html.in new file mode 100644 index 0000000000..e207479e44 --- /dev/null +++ b/deal.II/doc/doxygen/tutorial/toc-map.html.in @@ -0,0 +1,33 @@ + + + +Step-by-Step + + + + + + + + + + + +

Map of tutorial programs

+ +The following graph shows the connections between tutorial programs. +Click on any of the boxes to go to one of the programs. If you hover +your mouse pointer over a box, a brief description of the program +should appear. + + +@@MAP@@ + + + +
+
+The deal.II group
+ + diff --git a/deal.II/doc/doxygen/tutorial/toc.html.in b/deal.II/doc/doxygen/tutorial/toc-topics.html similarity index 52% rename from deal.II/doc/doxygen/tutorial/toc.html.in rename to deal.II/doc/doxygen/tutorial/toc-topics.html index 85bfea1d3f..e55284a303 100644 --- a/deal.II/doc/doxygen/tutorial/toc.html.in +++ b/deal.II/doc/doxygen/tutorial/toc-topics.html @@ -13,291 +13,8 @@ - -

Overview

- -

-The deal.II tutorial contains a collection of -programs, each more -or less built atop of previous ones, which demonstrate various -aspects of the library. Each such example has the following structure -follows:

-
    -
  1. Introduction: A brief description of what the program does and - what is new compared to the previous programs. This also includes a - discussion of the mathematical model and its formulation. -
  2. The commented program: A listing of the program, interspersed - with many comments that explain what is going on, how things are done - and why. -
  3. Results: The output of the program, with some comments and - interpretation. -
  4. The plain program: Since the program itself usually is a little - bit unreadable with all the comments intertwingled, we present the - program again, with all comments stripped off, to allow getting an - overview of it. -
- -

-The programs can be found at a path which is indicated at -the beginning of the last section of each example. You can compile -them by typing make in the respective directory, and run them -using make run. The latter command also compiles the program -if that has not already been done. The Makefiles in the different -directories are based on the small program Makefile template described -in in this section. -

- -

-Below we will list the currently available tutorial programs twice, once -in numerical order explaining what is new in each -program and once listed by topic to facilitate -searching for programs with a certain functionality. Some of these programs -also jointly form -the geodynamics - demonstration suite. -

- - -

Map of tutorial programs

- -The following graph shows the connections between tutorial programs. -Click on any of the boxes to go to one of the programs. If you hover -your mouse pointer over a box, a brief description of the program -should appear. - - -@@MAP@@ - - -

Tutorial programs listed by number

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Step-1 Creating a grid. A simple way to write it to a file. -
Step-2 Associate degrees of freedom to - each vertex and compute the resulting sparsity pattern of - matrices. Show that renumbering reduces the bandwidth of - matrices significantly, i.e. clusters nonzero entries around the - diagonal. -
Step-3 Actually solve Laplace's - problem. Object-orientation. Assembling matrices and - vectors. Boundary values. -
Step-4 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 - 3D, although the program is exactly the same. Non-constant right - hand side function. Non-homogeneous boundary values. -
Step-5 Computations on successively - refined grids. Reading a grid from disk. Some optimizations. - Using assertions. Non-constant coefficient in - the elliptic operator. Preconditioning the CG solver for the - linear system of equations. -
Step-6 Adaptive local - refinement. Handling of hanging nodes. Higher order elements. - Catching exceptions in the “main” function. -
Step-7 Helmholtz - equation. Non-homogeneous Neumann boundary conditions and - boundary integrals. Verification of correctness of computed - solutions. Computing the error between exact and numerical - solution and output of the data in tables. Using counted pointers. -
Step-8 The elasticity 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. -
Step-9 Linear advection equation, assembling - the system of equations in parallel using multi-threading, - implementing a refinement criterion based on a finite difference - approximation of the gradient. - -
Step-10 Higher order mappings. Do not - solve equations, but rather compute the value of pi to high - accuracy. -
Step-11 Solving a Laplace problem with - higher order mappings. Using strange constraints and - intermediate representations of sparsity patterns. -
Step-12 Discontinuous Galerkin methods for linear advection problems. -
Step-13 Software design questions and - how to write a modular, extensible finite element program. -
Step-14 Duality based error estimators, - more strategies to write a modular, extensible finite element - program. -
Step-15 1d problems, nonlinear solvers, - transfering a solution across mesh refinement. -
Step-16 Multigrid preconditioning of the Laplace equation on adaptive - meshes. -
Step-17 Using PETSc for linear algebra; running - in parallel on clusters of computers linked together by MPI. -
Step-18 A time dependent problem; using a much - simplified version of implementing elasticity; moving meshes; handling - large scale output of parallel programs. -
Step-19 Input parameter file handling. Merging - output of a parallel program. -
Step-20 Mixed finite elements. Using block - matrices and block vectors to define more complicated solvers and - preconditioners working on the Schur complement. -
Step-21 The time dependent two-phase flow in - porous media. Extensions of mixed Laplace discretizations. More - complicated block solvers. Simple time stepping. -
Step-22 Solving the Stokes equations of slow fluid flow on adaptive - meshes. More on Schur complement solvers. Advanced use of the - ConstraintMatrix class. -
Step-23 Finally a "real" time dependent problem, the wave equation. -
Step-24 A variant of step-23 with absorbing - boundary conditions, and extracting practically useful data. -
Step-25 The sine-Gordon - soliton equation, which is a nonlinear variant of the time - dependent wave equation covered in step-23 and step-24. -
Step-27 hp finite element methods
Step-28 Multiple grids for solving a multigroup diffusion equation - in nuclear physics simulating a nuclear reactor core
Step-29 Solving a complex-valued Helmholtz equation. Sparse direct - solvers. Dealing with parameter files.
Step-30 Anisotropic refinement for DG finite element methods. -
Step-31 Time-dependent Stokes flow driven by temperature - differences in a fluid. Adaptive meshes that change between time - steps. -
Step-33 A nonlinear hyperbolic conservation law: The Euler equations of - compressible gas dynamics. -
Step-34 Boundary element methods (BEM) of low order: Exterior irrotational - flow. The ParsedFunction class. -
Step-35 A projection solver for the Navier–Stokes equations. -
Step-36 Using SLEPc for linear algebra; solving an eigenspectrum - problem. The Schrödinger wave equation. -
- - - -

Tutorial programs listed by topics

- -The existing tutorial programs can be sorted into the following groups sorted -by topic: +

Tutorial programs grouped by topics

diff --git a/deal.II/doc/doxygen/tutorial/toc.html b/deal.II/doc/doxygen/tutorial/toc.html new file mode 100644 index 0000000000..d696b0767b --- /dev/null +++ b/deal.II/doc/doxygen/tutorial/toc.html @@ -0,0 +1,80 @@ + + + +Step-by-Step + + + + + + + + + + + +

Overview

+ +

+The deal.II tutorial contains a collection of +programs, each more +or less built atop of previous ones, which demonstrate various +aspects of the library. Each such example has the following structure +follows:

+
    +
  1. Introduction: A brief description of what the program does and + what is new compared to the previous programs. This also includes a + discussion of the mathematical model and its formulation. +
  2. The commented program: A listing of the program, interspersed + with many comments that explain what is going on, how things are done + and why. +
  3. Results: The output of the program, with some comments and + interpretation. +
  4. The plain program: Since the program itself usually is a little + bit unreadable with all the comments intertwingled, we present the + program again, with all comments stripped off, to allow getting an + overview of it. +
+ +

+You can browse through the list of currently available tutorial programs in +three different ways: +

+Some of the programs also jointly form +the geodynamics + demonstration suite. +

+ + + +

Usage

+ +

+The programs are in the examples/ directory of your local deal.II +installation. If you go into one of the tutorial directories, you can compile +the program by typing make, and run it +using make run. The latter command also compiles the program +if that has not already been done. The Makefiles in the different +directories are based on the small program Makefile template described +in this section. +

+ + + + +
+
+The deal.II group
+ + -- 2.39.5