From b9e22f4f5b00523286ed18e58074ef057b53b4ad Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Fri, 11 Jul 2014 22:49:55 +0000 Subject: [PATCH] Provide more links to video lectures. git-svn-id: https://svn.dealii.org/trunk@33141 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/doc/doxygen/headers/distributed.h | 4 ++- deal.II/doc/doxygen/headers/multithreading.h | 4 ++- deal.II/doc/doxygen/headers/vector_valued.h | 4 ++- deal.II/doc/doxygen/scripts/filter | 28 ++++++++++++++++++++ deal.II/examples/step-1/doc/intro.dox | 6 +++-- deal.II/examples/step-17/doc/results.dox | 11 +++++--- deal.II/examples/step-22/doc/intro.dox | 2 ++ deal.II/examples/step-22/doc/results.dox | 7 +---- deal.II/examples/step-23/doc/intro.dox | 2 ++ deal.II/examples/step-29/doc/results.dox | 2 +- deal.II/examples/step-4/doc/results.dox | 1 + deal.II/examples/step-5/doc/intro.dox | 2 +- deal.II/examples/step-8/doc/intro.dox | 4 ++- 13 files changed, 59 insertions(+), 18 deletions(-) diff --git a/deal.II/doc/doxygen/headers/distributed.h b/deal.II/doc/doxygen/headers/distributed.h index d5a76f7850..f3e792385a 100644 --- a/deal.II/doc/doxygen/headers/distributed.h +++ b/deal.II/doc/doxygen/headers/distributed.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2009 - 2013 by the deal.II authors +// Copyright (C) 2009 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -22,6 +22,8 @@ * @brief A module discussing the use of parallelism on distributed memory * clusters. * + * @dealiiVideoLecture{39,41,41.25,41.5} + * *

Overview

* * deal.II can use multiple machine connected via MPI to parallelize diff --git a/deal.II/doc/doxygen/headers/multithreading.h b/deal.II/doc/doxygen/headers/multithreading.h index 7ec8ea3d69..fd127a27b4 100644 --- a/deal.II/doc/doxygen/headers/multithreading.h +++ b/deal.II/doc/doxygen/headers/multithreading.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2006 - 2013 by the deal.II authors +// Copyright (C) 2006 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -24,6 +24,8 @@ * @ref MTToC "Table of Contents" below the lenghty list of members * of this module. * + * @dealiiVideoLecture{39,40} + * * On machines with more than one processor (or multicore processors), * it is often profitable to run several parts of the computations in * %parallel. For example, one could have several threads running in diff --git a/deal.II/doc/doxygen/headers/vector_valued.h b/deal.II/doc/doxygen/headers/vector_valued.h index b2ad033baa..29e706d275 100644 --- a/deal.II/doc/doxygen/headers/vector_valued.h +++ b/deal.II/doc/doxygen/headers/vector_valued.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2008 - 2013 by the deal.II authors +// Copyright (C) 2008 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -45,6 +45,8 @@ * FESystem, which allows us to write code for systems of partial * differential very much like we write code for single equations. * + * @dealiiVideoLecture{19,20,21} + * * * *
%Table of contents
diff --git a/deal.II/doc/doxygen/scripts/filter b/deal.II/doc/doxygen/scripts/filter index 35aabcc66a..b6d03e90ce 100755 --- a/deal.II/doc/doxygen/scripts/filter +++ b/deal.II/doc/doxygen/scripts/filter @@ -95,3 +95,31 @@ if (m/(\@dealiiVideoLecture\{([0-9\.]+)(, *[0-9\.]+ *)*\})/) $text = $text . ". (All video lectures are also available here.)"; s/(\@dealiiVideoLecture\{([0-9\.]+)(, *[0-9\.]+ *)*\})/$text/; } + + +# @dealiiVideoLectureSeeAlso works as above, but just expands into +# regular text, no @note +if (m/(\@dealiiVideoLectureSeeAlso\{([0-9\.]+)(, *[0-9\.]+ *)*\})/) +{ + $substext = $1; + + $text = "See also "; + + # add links to the individual lectures + $text = $text . "video lecture $2"; + + if (length($3) > 0) + { + $x = $3; + $x =~ s/^, *//g; + @otherlectures = split (',', "$x"); + + foreach $lecture (@otherlectures) + { + $text = $text . ", video lecture $lecture"; + } + } + + $text = $text . "."; + s/(\@dealiiVideoLectureSeeAlso\{([0-9\.]+)(, *[0-9\.]+ *)*\})/$text/; +} diff --git a/deal.II/examples/step-1/doc/intro.dox b/deal.II/examples/step-1/doc/intro.dox index 22eee684e9..6168f5fa30 100644 --- a/deal.II/examples/step-1/doc/intro.dox +++ b/deal.II/examples/step-1/doc/intro.dox @@ -119,7 +119,8 @@ href="http://www.math.tamu.edu/~bangerth/videos.html">Wolfgang Bangerth's video lectures on deal.II and computational science. In particular, you can see the steps he executes to run this and other programs, and you will get a much better idea of the tools that can be -used to work with deal.II. +used to work with deal.II. In particular, lectures 2 and 4 give an overview of +deal.II and of the building blocks of any finite element code.

What this program does

@@ -185,7 +186,8 @@ are worthwhile browsing through before you start any large-scale programming: As a general recommendation: If you expect to spend more than a few days writing software in the future, do yourself the favor of learning tools that can make your life more productive, in particular debuggers and integrated -development environments. You will find that you will get the time spent +development environments. (@dealiiVideoLectureSeeAlso{7,8,25}) +You will find that you will get the time spent learning these tools back severalfold soon by being more productive! Several of the video lectures referenced above show how to use tools such as integrated development environments or debuggers. diff --git a/deal.II/examples/step-17/doc/results.dox b/deal.II/examples/step-17/doc/results.dox index cb545b7eee..3ec047b7b7 100644 --- a/deal.II/examples/step-17/doc/results.dox +++ b/deal.II/examples/step-17/doc/results.dox @@ -99,11 +99,14 @@ the numbers you get today are slightly different.) As can be seen, we can easily get to almost four million unknowns. In fact, the code's runtime with 8 processes was less than 7 minutes up to (and including) -cycle 14, and 14 minutes including the second to last step. I lost the timing -information for the last step, though, but you get the idea. All this is if -the debug flag in the Makefile was changed to "off", i.e. "optimized", and +cycle 14, and 14 minutes including the second to last step. (These are numbers +relevant to when the code was initially written, in 2004.) I lost the timing +information for the last step, though, but you get the idea. All this is after +release mode has been enabled by running make release, and with the generation of graphical output switched off for the reasons stated in -the program comments above. The biggest 2d computations we did had roughly 7.1 +the program comments above. +(@dealiiVideoLectureSeeAlso{18}) +The biggest 2d computations we did had roughly 7.1 million unknowns, and were done on 32 processes. It took about 40 minutes. Not surprisingly, the limiting factor for how far one can go is how much memory one has, since every process has to hold the entire mesh and DoFHandler objects, diff --git a/deal.II/examples/step-22/doc/intro.dox b/deal.II/examples/step-22/doc/intro.dox index ee94320e65..73030c4dc9 100644 --- a/deal.II/examples/step-22/doc/intro.dox +++ b/deal.II/examples/step-22/doc/intro.dox @@ -156,6 +156,8 @@ form, and consequently a symmetric (if indefinite) system matrix.

%Boundary conditions

+@dealiiVideoLecture{21.5} + The weak form just derived immediately presents us with different possibilities for imposing boundary conditions:
    diff --git a/deal.II/examples/step-22/doc/results.dox b/deal.II/examples/step-22/doc/results.dox index d544b2f21e..7563b6b8f5 100644 --- a/deal.II/examples/step-22/doc/results.dox +++ b/deal.II/examples/step-22/doc/results.dox @@ -6,14 +6,9 @@

    2D calculations

    Running the program with the space dimension set to 2 in main() -yields the following output (when the flag is set to optimized in the -Makefile): +yields the following output (in "release mode", @dealiiVideoLectureSeeAlso{18}): @code examples/\step-22> make run -============================ Remaking Makefile.dep -==============optimized===== \step-22.cc -============================ Linking \step-22 -============================ Running \step-22 Refinement cycle 0 Number of active cells: 64 Number of degrees of freedom: 679 (594+85) diff --git a/deal.II/examples/step-23/doc/intro.dox b/deal.II/examples/step-23/doc/intro.dox index 90becf9b9b..c177d5e32f 100644 --- a/deal.II/examples/step-23/doc/intro.dox +++ b/deal.II/examples/step-23/doc/intro.dox @@ -1,6 +1,8 @@

    Introduction

    +@dealiiVideoLecture{28} + This is the first of a number of tutorial programs that will finally cover "real" time-dependent problems, not the slightly odd form of time dependence found in step-18 or the DAE model of step-21. In particular, this program introduces diff --git a/deal.II/examples/step-29/doc/results.dox b/deal.II/examples/step-29/doc/results.dox index 68c64e64bb..9ff67525cf 100644 --- a/deal.II/examples/step-29/doc/results.dox +++ b/deal.II/examples/step-29/doc/results.dox @@ -57,7 +57,7 @@ DEAL::Generating output... done (4.52428s) (Of course, execution times will differ if you run the program locally.) The fact that most of the time is spent on assembling the system matrix and generating output is due to the many assertion -that need to be checked in debug mode. In optimized mode these parts +that need to be checked in debug mode. In release mode these parts of the program run much faster whereas solving the linear system is hardly sped up at all: diff --git a/deal.II/examples/step-4/doc/results.dox b/deal.II/examples/step-4/doc/results.dox index 2a4402097f..a952d39d57 100644 --- a/deal.II/examples/step-4/doc/results.dox +++ b/deal.II/examples/step-4/doc/results.dox @@ -41,6 +41,7 @@ with its functionality. Here's what I have come up with for the 2d solution:

    +(@dealiiVideoLectureSeeAlso{11,32}) The picture shows the solution of the problem under consideration as a 3D plot. As can be seen, the solution is almost flat in the interior of the domain and has a higher curvature near the boundary. This, of diff --git a/deal.II/examples/step-5/doc/intro.dox b/deal.II/examples/step-5/doc/intro.dox index 532befb4b2..09f4b267ee 100644 --- a/deal.II/examples/step-5/doc/intro.dox +++ b/deal.II/examples/step-5/doc/intro.dox @@ -30,7 +30,7 @@ them are: complex, so debugging is an important aspect. We support safe programming by using assertions that check the validity of parameters and %internal states in a debug mode, but are removed - in optimized mode. + in optimized mode. (@dealiiVideoLectureSeeAlso{18})
  1. Regarding the mathematical side, we show how to support a variable coefficient in the elliptic operator and how to use preconditioned iterative solvers for the linear systems of diff --git a/deal.II/examples/step-8/doc/intro.dox b/deal.II/examples/step-8/doc/intro.dox index 5dd3e7bff4..ab71b96485 100644 --- a/deal.II/examples/step-8/doc/intro.dox +++ b/deal.II/examples/step-8/doc/intro.dox @@ -10,7 +10,9 @@ that that is mostly rather simple. The only more complicated problems are in assembling matrix and right hand side, but these are easily understood as well. -In the example, we will want to solve the elastic equations. They are +@dealiiVideoLecture{19} + +In this tutorial program we will want to solve the elastic equations. They are an extension to Laplace's equation with a vector-valued solution that describes the displacement in each space direction of a rigid body which is subject to a force. Of course, the force is also -- 2.39.5