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 <code>\1</code> 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)."
## ---------------------------------------------------------------------
## $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.
##
# 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 . "<a href=\"http://www.math.tamu.edu/~bangerth/videos.676.$2.html\">video lecture $2</a>";
+
+ if (length($3) > 0)
+ {
+ $x = $3;
+ $x =~ s/^, *//g;
+ @otherlectures = split (',', "$x");
+
+ foreach $lecture (@otherlectures)
+ {
+ $text = $text . ", <a href=\"http://www.math.tamu.edu/~bangerth/videos.676.$lecture.html\">video lecture $lecture</a>";
+ }
+ }
+
+ $text = $text . ". (All video lectures are also available <a href=\"http://www.math.tamu.edu/~bangerth/videos.html\">here</a>.)";
+ s/(\@dealiiVideoLecture\{([0-9\.]+)(, *[0-9\.]+ *)*\})/$text/;
+}
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}
<h3> About scientific computing in general </h3>
<a name="Intro"></a>
<h1>Introduction</h1>
+@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
<a name="Intro"></a>
<h1>Introduction</h1>
+@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
<a name="Intro"></a>
<h1>Introduction</h1>
+@dealiiVideoLecture{29,30}
+
+
This program implements the heat equation
@f{align*}
\frac{\partial u(\mathbf x, t)}{\partial t}
<a name="Intro"></a>
<h1>Introduction</h1>
+@dealiiVideoLecture{10}
<h3>The basic functioning of finite elements</h3>
<a name="Intro"></a>
<h1>Introduction</h1>
+@dealiiVideoLecture{12,13}
deal.II has a unique feature which we call
``dimension independent programming''. You may have noticed in the
<a name="Intro"></a>
<h1>Introduction</h1>
+@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
<a name="Intro"></a>
<h1>Introduction</h1>
+@dealiiVideoLecture{14}
This example does not show revolutionary new things, but it shows many
small improvements over the previous examples, and also many small
<a name="Intro"></a>
<h1>Introduction</h1>
+@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
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
+