From a36f67a68445cdaa2d8bac2c7ce490b318d72647 Mon Sep 17 00:00:00 2001 From: Timo Heister Date: Mon, 13 May 2019 23:10:29 -0600 Subject: [PATCH] improve tutorial layouts - remove a TODO - replace aspect URL and use ASPECT not Aspect - fix some formulas - use table headers --- examples/step-16/step-16.cc | 5 +-- examples/step-20/doc/results.dox | 56 ++++++++++++++++---------------- examples/step-3/doc/results.dox | 8 ++--- examples/step-31/doc/intro.dox | 15 +++++---- examples/step-31/doc/results.dox | 2 +- examples/step-32/doc/intro.dox | 8 ++--- examples/step-32/doc/results.dox | 6 ++-- examples/step-45/doc/intro.dox | 2 +- examples/step-53/doc/intro.dox | 2 +- examples/step-56/doc/intro.dox | 2 +- examples/step-56/step-56.cc | 2 +- examples/step-59/doc/results.dox | 48 +++++++++++++-------------- 12 files changed, 80 insertions(+), 76 deletions(-) diff --git a/examples/step-16/step-16.cc b/examples/step-16/step-16.cc index 5b1652f35c..55d2074d89 100644 --- a/examples/step-16/step-16.cc +++ b/examples/step-16/step-16.cc @@ -461,8 +461,9 @@ namespace Step16 const unsigned int dofs_per_cell = cd.local_dof_indices.size(); - // TODO EXPLAIN: - + // Interface entries are ignored by the boundary_constraints object + // above when filling the mg_matrices[cd.level]. Instead, we copy these + // entries into the interface matrix of the current level manually: for (unsigned int i = 0; i < dofs_per_cell; ++i) for (unsigned int j = 0; j < dofs_per_cell; ++j) if (mg_constrained_dofs.is_interface_matrix_entry( diff --git a/examples/step-20/doc/results.dox b/examples/step-20/doc/results.dox index abd88fce73..12adc83b7e 100644 --- a/examples/step-20/doc/results.dox +++ b/examples/step-20/doc/results.dox @@ -77,38 +77,38 @@ If one does this, one finds the following pattern for the $L_2$ error in the pressure variable: - - + + - - - - + + + + - + - + - + - + - + - + - + - +
Finite element orderFinite element order
Refinement level012Refinement level012
0 1.45344 0.0831743 0.02351860 1.45344 0.0831743 0.0235186
1 0.715099 0.0245341 0.002939831 0.715099 0.0245341 0.00293983
2 0.356383 0.0063458 0.0003674782 0.356383 0.0063458 0.000367478
3 0.178055 0.00159944 4.59349e-053 0.178055 0.00159944 4.59349e-05
4 0.0890105 0.000400669 5.74184e-064 0.0890105 0.000400669 5.74184e-06
5 0.0445032 0.000100218 7.17799e-075 0.0445032 0.000100218 7.17799e-07
6 0.0222513 2.50576e-05 9.0164e-086 0.0222513 2.50576e-05 9.0164e-08
$O(h)$ $O(h^2)$ $O(h^3)$ $O(h)$ $O(h^2)$ $O(h^3)$
@@ -121,38 +121,38 @@ One can make the same experiment with the $L_2$ error in the velocity variables: - - + + - - - - + + + + - + - + - + - + - + - + - + - +
Finite element orderFinite element order
Refinement level012Refinement level012
0 0.367423 0.127657 5.10388e-140 0.367423 0.127657 5.10388e-14
1 0.175891 0.0319142 9.04414e-151 0.175891 0.0319142 9.04414e-15
2 0.0869402 0.00797856 1.23723e-142 0.0869402 0.00797856 1.23723e-14
3 0.0433435 0.00199464 1.86345e-073 0.0433435 0.00199464 1.86345e-07
4 0.0216559 0.00049866 2.72566e-074 0.0216559 0.00049866 2.72566e-07
5 0.010826 0.000124664 3.57141e-075 0.010826 0.000124664 3.57141e-07
6 0.00541274 3.1166e-05 4.46124e-076 0.00541274 3.1166e-05 4.46124e-07
$O(h)$ $O(h^2)$ $O(h^3)$ $O(h)$ $O(h^2)$ $O(h^3)$
The result concerning the convergence order is the same here. diff --git a/examples/step-3/doc/results.dox b/examples/step-3/doc/results.dox index cbf2242d3f..a295a9d4a4 100644 --- a/examples/step-3/doc/results.dox +++ b/examples/step-3/doc/results.dox @@ -159,8 +159,8 @@ suggestions: @endcode For 1 through 9 global refinement steps, we then get the following sequence of point values: - - +
# of refinements $u_h(\frac 13,\frac13)$
+ @@ -200,8 +200,8 @@ suggestions: parameters mean, while the first and third should be obvious. Doing the same study again where we change the number of global refinement steps, we get the following result: -
# of refinements $u_h(\frac 13,\frac13)$
1 0.166667
2 0.227381
3 0.237375
- +
# of refinements $\int_\Omega u_h(x)\; dx$
+ diff --git a/examples/step-31/doc/intro.dox b/examples/step-31/doc/intro.dox index 861108fbae..43482a307e 100644 --- a/examples/step-31/doc/intro.dox +++ b/examples/step-31/doc/intro.dox @@ -120,7 +120,7 @@ earth's interior and surface structure. @note If you are interested in using the program as the basis for your own experiments, you will also want to take a look at its continuation in step-32. Furthermore, step-32 later was developed into the much larger open -source code Aspect (see http://aspect.dealii.org/ ) that can solve realistic +source code ASPECT (see https://aspect.geodynamics.org/ ) that can solve realistic problems and that you may want to investigate before trying to morph step-31 into something that can solve whatever you want to solve. @@ -246,8 +246,8 @@ means that the time step size $k$ may change from time step to time step, and that we have to modify the above formula slightly. If $k_n,k_{n-1}$ are the time steps sizes of the current and previous time step, then we use the approximations - -$\frac{\partial T}{\partial t} \approx +@f{align*}{ +\frac{\partial T}{\partial t} \approx \frac 1{k_n} \left( \frac{2k_n+k_{n-1}}{k_n+k_{n-1}} T^{n} @@ -255,15 +255,18 @@ $\frac{\partial T}{\partial t} \approx \frac{k_n+k_{n-1}}{k_{n-1}}T^{n-1} + \frac{k_n^2}{k_{n-1}(k_n+k_{n-1})} T^{n-2} - \right)$ + \right) + @f} and -$T^n \approx +@f{align*}{ +T^n \approx T^{n-1} + k_n \frac{\partial T}{\partial t} \approx T^{n-1} + k_n \frac{T^{n-1}-T^{n-2}}{k_{n-1}} = - \left(1+\frac{k_n}{k_{n-1}}\right)T^{n-1}-\frac{k_n}{k_{n-1}}T^{n-2}$, + \left(1+\frac{k_n}{k_{n-1}}\right)T^{n-1}-\frac{k_n}{k_{n-1}}T^{n-2}, +@f} and above equation is generalized as follows: @f{eqnarray*} \frac{2k_n+k_{n-1}}{k_n+k_{n-1}} T^n diff --git a/examples/step-31/doc/results.dox b/examples/step-31/doc/results.dox index 9bedcf5529..6f16187468 100644 --- a/examples/step-31/doc/results.dox +++ b/examples/step-31/doc/results.dox @@ -592,7 +592,7 @@ is, of course, to make it faster and/or increase the resolution of the program, in particular in 3d. This is the topic of the step-32 tutorial program which will implement strategies to solve this problem in %parallel on a cluster. It is also the basis of the much larger open -source code Aspect (see http://aspect.dealii.org/ ) that can solve realistic +source code ASPECT (see https://aspect.geodynamics.org/ ) that can solve realistic problems and that constitutes the further development of step-32. Another direction would be to make the fluid flow more realistic. The program diff --git a/examples/step-32/doc/intro.dox b/examples/step-32/doc/intro.dox index d03c8a27b9..8071c67c0c 100644 --- a/examples/step-32/doc/intro.dox +++ b/examples/step-32/doc/intro.dox @@ -22,7 +22,7 @@ The work discussed here is also presented in the following publication: The continuation of development of this program has led to the much larger open -source code Aspect (see http://aspect.geodynamics.org/) which is much +source code ASPECT (see http://aspect.geodynamics.org/) which is much more flexible in solving many kinds of related problems. @@ -851,7 +851,7 @@ convection in the earth mantle: for that, more and more difficult physics would have to be implemented, and several other aspects are currently missing from this program as well. We will come back to this issue in the results section again, but state for now that providing a -realistic description is a goal of the Aspect code in +realistic description is a goal of the ASPECT code in development at the time of writing this. As a reminder, let us again state the equations we want to solve are these: @@ -1304,9 +1304,9 @@ and self contained. That said, both step-31 and the current step-32 have not come about by chance but are certainly meant as wayposts along the path to a more comprehensive program that will simulate convection in the earth mantle. We call this code -Aspect (short for Advanced %Solver for Problems in Earth's +ASPECT (short for Advanced %Solver for Problems in Earth's ConvecTion); its development is funded by the Computational Infrastructure in Geodynamics initiative with support from the National Science -Foundation. More information on Aspect is available at +Foundation. More information on ASPECT is available at its homepage. diff --git a/examples/step-32/doc/results.dox b/examples/step-32/doc/results.dox index 39568baae4..93b1b06cee 100644 --- a/examples/step-32/doc/results.dox +++ b/examples/step-32/doc/results.dox @@ -269,7 +269,7 @@ seen above, interesting behavior only starts after quite a long time requiring more CPU hours than is available on a typical cluster. Consequently, rather than showing a complete simulation here, let us simply show a couple of pictures we have obtained using the -successor to this program, called Aspect (short for Advanced +successor to this program, called ASPECT (short for Advanced %Solver for Problems in Earth's ConvecTion), that is being developed independently of deal.II and that already incorporates some of the extensions discussed below. The following two pictures show @@ -288,7 +288,7 @@ with the mesh) onto 512 processors: There are many directions in which this program could be extended. As mentioned at the end of the introduction, most of these are under active -development in the Aspect (short for Advanced %Solver for Problems +development in the ASPECT (short for Advanced %Solver for Problems in Earth's ConvecTion) code at the time this tutorial program is being finished. Specifically, the following are certainly topics that one should address to make the program more useful: @@ -415,6 +415,6 @@ able to. There are many other ways to extend the current program. However, rather than discussing them here, let us point to the much larger open -source code Aspect (see http://aspect.dealii.org/ ) that constitutes the +source code ASPECT (see https://aspect.geodynamics.org/ ) that constitutes the further development of step-32 and that already includes many such possible extensions. diff --git a/examples/step-45/doc/intro.dox b/examples/step-45/doc/intro.dox index 8779947dc7..11c6572797 100644 --- a/examples/step-45/doc/intro.dox +++ b/examples/step-45/doc/intro.dox @@ -153,7 +153,7 @@ velocity component of a Stokes flow. On a quarter-circle defined by $\Omega=\{{\bf x}\in(0,1)^2:\|{\bf x}\|\in (0.5,1)\}$ we are going to solve the Stokes problem @f{eqnarray*} - -\Delta \; \textbf{u} + \nabla p &=& (\exp(-100*\|{\bf x}-(.75,0.1)^T\|^2),0)^T, \\ + -\Delta \; \textbf{u} + \nabla p &=& (\exp(-100\|{\bf x}-(.75,0.1)^T\|^2),0)^T, \\ -\textrm{div}\; \textbf{u}&=&0,\\ \textbf{u}|_{\Gamma_1}&=&{\bf 0}, @f} diff --git a/examples/step-53/doc/intro.dox b/examples/step-53/doc/intro.dox index f5c51da666..cb06647009 100644 --- a/examples/step-53/doc/intro.dox +++ b/examples/step-53/doc/intro.dox @@ -112,7 +112,7 @@ we will do in this program. To illustrate how one describes geometries using charts in deal.II, we will consider a case that originates in an application of the ASPECT mantle convection code, using a +href="https://aspect.geodynamics.org">ASPECT mantle convection code, using a data set provided by D. Sarah Stamps. In the concrete application, we were interested in describing flow in the Earth mantle under the East African Rift, a diff --git a/examples/step-56/doc/intro.dox b/examples/step-56/doc/intro.dox index 654c08eb75..fcf4269a28 100644 --- a/examples/step-56/doc/intro.dox +++ b/examples/step-56/doc/intro.dox @@ -189,7 +189,7 @@ solvers instead of the Schur Complement approach used in step-22. Details of this approach can be found under the "Block Schur complement preconditioner" subsection of the "Possible Extensions" section of step-22. For the preconditioner of the velocity block, we -borrow a class from ASPECT +borrow a class from ASPECT called @p BlockSchurPreconditioner that has the option to solve for the inverse of $A$ or just apply one preconditioner sweep for it instead, which provides us with an expensive and cheap approach, diff --git a/examples/step-56/step-56.cc b/examples/step-56/step-56.cc index 86660dd2d4..042b152e47 100644 --- a/examples/step-56/step-56.cc +++ b/examples/step-56/step-56.cc @@ -296,7 +296,7 @@ namespace Step56 // of a single preconditioner application. // 3. do not use InverseMatrix but explicitly call SolverCG. // This approach is also used in the ASPECT code - // (see http://aspect.dealii.org) that solves the Stokes equations in + // (see https://aspect.geodynamics.org) that solves the Stokes equations in // the context of simulating convection in the earth mantle, and which // has been used to solve problems on many thousands of processors. // diff --git a/examples/step-59/doc/results.dox b/examples/step-59/doc/results.dox index 541e84055c..2c3ebd4a07 100644 --- a/examples/step-59/doc/results.dox +++ b/examples/step-59/doc/results.dox @@ -129,18 +129,18 @@ number of degrees of freedom by the solver time.
# of refinements $\int_\Omega u_h(x)\; dx$
0 0.09375000
1 0.12790179
2 0.13733440
- - - - - - - - - - - - + + + + + + + + + + + + @@ -240,18 +240,18 @@ FEFaceEvaluation::integrate_scatter().
degree123456789101112123456789101112
Number of DoFs
- - - - - - - - - - - - + + + + + + + + + + + + -- 2.39.5
degree123456789101112123456789101112
Number of DoFs