From 1365f5006ad8b95c88654bb2677f7b8e7ab8b4ec Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Fri, 11 Jul 2014 22:17:53 +0000 Subject: [PATCH] Annotate some of the programs with links to the video lectures. git-svn-id: https://svn.dealii.org/trunk@33140 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/doc/doxygen/options.dox.in | 4 ++++ deal.II/doc/doxygen/scripts/filter | 31 +++++++++++++++++++++++++- deal.II/examples/step-1/doc/intro.dox | 4 +++- deal.II/examples/step-2/doc/intro.dox | 2 ++ deal.II/examples/step-20/doc/intro.dox | 2 ++ deal.II/examples/step-26/doc/intro.dox | 3 +++ deal.II/examples/step-3/doc/intro.dox | 1 + deal.II/examples/step-4/doc/intro.dox | 1 + deal.II/examples/step-40/doc/intro.dox | 2 ++ deal.II/examples/step-5/doc/intro.dox | 1 + deal.II/examples/step-6/doc/intro.dox | 3 ++- 11 files changed, 51 insertions(+), 3 deletions(-) diff --git a/deal.II/doc/doxygen/options.dox.in b/deal.II/doc/doxygen/options.dox.in index c63fbace81..00a5dad15f 100644 --- a/deal.II/doc/doxygen/options.dox.in +++ b/deal.II/doc/doxygen/options.dox.in @@ -72,6 +72,10 @@ IMAGE_PATH = INPUT_FILTER = ${CMAKE_SOURCE_DIR}/doc/doxygen/scripts/filter FILTER_SOURCE_FILES = YES +# Have some user defined commands that we can use in the documentation +# and that expands to specific text. For some more transformations, see +# the scripts/filter perl script that is run over the header files before +# doxygen sees it and that can expand more complex expressions. ALIASES += dealiiRequiresUpdateFlags{1}="@note For this function to work properly, the underlying FEValues, FEFaceValues, or FESubfaceValues object on which you call it must have computed the information you are requesting. To do so, the \1 flag must be an element of the list of UpdateFlags that you passed to the constructor of this object. See @ref UpdateFlagsEssay for more information." ALIASES += dealiiOperationIsMultithreaded="@note If deal.II is configured with threads, this operation will run multi-threaded by splitting the work into smaller chunks (assuming there is enough work to make this worthwhile)." diff --git a/deal.II/doc/doxygen/scripts/filter b/deal.II/doc/doxygen/scripts/filter index 98b0f2b25a..35aabcc66a 100755 --- a/deal.II/doc/doxygen/scripts/filter +++ b/deal.II/doc/doxygen/scripts/filter @@ -2,7 +2,7 @@ ## --------------------------------------------------------------------- ## $Id$ ## -## Copyright (C) 2007 - 2013 by the deal.II authors +## Copyright (C) 2007 - 2014 by the deal.II authors ## ## This file is part of the deal.II library. ## @@ -66,3 +66,32 @@ s#(static dealii::ExceptionBase\&)#\n//\! \@ingroup Exceptions\n \1#g; # by replacing a "file:" at the end of a line with the text # "file :", which doxygen doesn't recognize: s#file:[ \t]*$#file :#g; + + + +# Handle commands such as @dealiiVideoLecture{20.5,33} by expanding it +# into a note with some text +if (m/(\@dealiiVideoLecture\{([0-9\.]+)(, *[0-9\.]+ *)*\})/) +{ + $substext = $1; + + $text = "\@note The material presented here is also discussed in "; + + # 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 . ". (All video lectures are also available here.)"; + s/(\@dealiiVideoLecture\{([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 d4b8e8a85c..22eee684e9 100644 --- a/deal.II/examples/step-1/doc/intro.dox +++ b/deal.II/examples/step-1/doc/intro.dox @@ -140,7 +140,9 @@ library; in the context of deal.II, the @ref Iterators module talks about them). The program is otherwise small enough that it doesn't need a whole lot -of introduction. Let us just continue with its commented source. +of introduction. + +@dealiiVideoLecture{5,6}

About scientific computing in general

diff --git a/deal.II/examples/step-2/doc/intro.dox b/deal.II/examples/step-2/doc/intro.dox index 61b5a33244..2d89d08c0d 100644 --- a/deal.II/examples/step-2/doc/intro.dox +++ b/deal.II/examples/step-2/doc/intro.dox @@ -1,6 +1,8 @@

Introduction

+@dealiiVideoLecture{9} + After we have created a grid in the previous example, we now show how to define degrees of freedom on this mesh. For this example, we will use the lowest order ($Q_1$) finite elements, for which the degrees diff --git a/deal.II/examples/step-20/doc/intro.dox b/deal.II/examples/step-20/doc/intro.dox index 13476bc201..3453818676 100644 --- a/deal.II/examples/step-20/doc/intro.dox +++ b/deal.II/examples/step-20/doc/intro.dox @@ -1,6 +1,8 @@

Introduction

+@dealiiVideoLecture{19,20,21} + This program is devoted to two aspects: the use of mixed finite elements -- in particular Raviart-Thomas elements -- and using block matrices to define solvers, preconditioners, and nested versions of those that use the diff --git a/deal.II/examples/step-26/doc/intro.dox b/deal.II/examples/step-26/doc/intro.dox index 11e9fe0e42..289aff53eb 100644 --- a/deal.II/examples/step-26/doc/intro.dox +++ b/deal.II/examples/step-26/doc/intro.dox @@ -1,6 +1,9 @@

Introduction

+@dealiiVideoLecture{29,30} + + This program implements the heat equation @f{align*} \frac{\partial u(\mathbf x, t)}{\partial t} diff --git a/deal.II/examples/step-3/doc/intro.dox b/deal.II/examples/step-3/doc/intro.dox index 741e2e2d85..ce011b2101 100644 --- a/deal.II/examples/step-3/doc/intro.dox +++ b/deal.II/examples/step-3/doc/intro.dox @@ -1,6 +1,7 @@

Introduction

+@dealiiVideoLecture{10}

The basic functioning of finite elements

diff --git a/deal.II/examples/step-4/doc/intro.dox b/deal.II/examples/step-4/doc/intro.dox index 2b2467a383..f8eadbcdf3 100644 --- a/deal.II/examples/step-4/doc/intro.dox +++ b/deal.II/examples/step-4/doc/intro.dox @@ -1,6 +1,7 @@

Introduction

+@dealiiVideoLecture{12,13} deal.II has a unique feature which we call ``dimension independent programming''. You may have noticed in the diff --git a/deal.II/examples/step-40/doc/intro.dox b/deal.II/examples/step-40/doc/intro.dox index dcc07c9b98..3e3a3c6799 100644 --- a/deal.II/examples/step-40/doc/intro.dox +++ b/deal.II/examples/step-40/doc/intro.dox @@ -26,6 +26,8 @@ instructions for PETSc.

Introduction

+@dealiiVideoLecture{41.5} + Given today's computers, most finite element computations can be done on a single machine. The majority of previous tutorial programs therefore shows only this, possibly splitting up work among a number of diff --git a/deal.II/examples/step-5/doc/intro.dox b/deal.II/examples/step-5/doc/intro.dox index 7102702df4..532befb4b2 100644 --- a/deal.II/examples/step-5/doc/intro.dox +++ b/deal.II/examples/step-5/doc/intro.dox @@ -1,6 +1,7 @@

Introduction

+@dealiiVideoLecture{14} This example does not show revolutionary new things, but it shows many small improvements over the previous examples, and also many small diff --git a/deal.II/examples/step-6/doc/intro.dox b/deal.II/examples/step-6/doc/intro.dox index 0fc9752982..7cf7b167cc 100644 --- a/deal.II/examples/step-6/doc/intro.dox +++ b/deal.II/examples/step-6/doc/intro.dox @@ -1,6 +1,7 @@

Introduction

+@dealiiVideoLecture{15,16,17} The main emphasis in this example is the handling of locally refined grids. The approach to adaptivity chosen in deal.II is to use grids in which @@ -68,4 +69,4 @@ Because boundary conditions can be treated in the same way, we will incorporate the them as constraints in the same ConstraintMatrix object. This way, we don't need to apply the boundary conditions after assembly (like we did in the earlier steps). - \ No newline at end of file + -- 2.39.5