From: maier
Date: Mon, 11 Nov 2013 15:51:49 +0000 (+0000)
Subject: Move reports over to the homepage
X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f54659a95900b9ec7d0629305bbf8e73dfa52f2b;p=dealii-svn.git
Move reports over to the homepage
git-svn-id: https://svn.dealii.org/trunk@31626 0785d39b-7218-0410-832d-ea1e28bc413d
---
diff --git a/deal.II/doc/reports/assemble/assemble.pdf b/deal.II/doc/reports/assemble/assemble.pdf
deleted file mode 100644
index 073d8afaf8..0000000000
Binary files a/deal.II/doc/reports/assemble/assemble.pdf and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/assemble.tex b/deal.II/doc/reports/assemble/assemble.tex
deleted file mode 100644
index 6e0e9669a0..0000000000
--- a/deal.II/doc/reports/assemble/assemble.tex
+++ /dev/null
@@ -1,948 +0,0 @@
-\documentclass{article}
-\usepackage{times}
-\usepackage{amsmath}
-\usepackage{amsfonts}
-\usepackage{a4}
-\newcommand{\leftpartial}{\overleftarrow \partial}
-\newcommand{\rightpartial}{\overrightarrow \partial}
-\renewcommand{\div}{\nabla\cdot}
-\renewcommand{\vec}[1]{{\mathbf #1}}
-\begin{document}
-
-
-\begin{center}
- \begin{huge}
- Assembling matrices in \texttt{deal.II}
- \end{huge}
-
- \vspace*{0.5cm}
-
- \begin{large}
- Wolfgang Bangerth\\
- ETH Z\"urich, Switzerland\\[12pt]
- May 2002
- \end{large}
-\end{center}
-
-
-\section{Introduction}
-
-Assembling the system matrix for finite element discretizations is standard,
-at least as far as scalar problems are concerned. However, things become a
-little more complicated in implementations once problems are vector-valued,
-and in particular if finite elements are used in which different components of
-vector-valued shape functions are coupled, such as for example for
-divergence-free elements.
-
-It is this case that we are interested in in this report, and we will discuss
-the implementational details user programs must follow if they want to use
-such elements with \texttt{deal.II}. In order to explain the problem in a
-simple way, we start by reviewing the algorithms that are used, first for the
-scalar case, then for the case of ``simple'' vector-valued finite elements,
-and finally for the most general case. However, we do not intend to give an
-introduction into the derivation of finite element methods, or of posing a
-partial differential equation in weak form.
-
-The interface for vector-valued finite element shape functions with more than
-one non-zero component that is described in this report is presently being
-implemented, and will be merged with the library after version 3.4 is
-released. Thus, it will be part of version 3.5 or 4.0 of the library,
-depending on which version number we will assign to the successor of 3.4. By
-then, the library will also contain an implementation of Nedelec elements, for
-which these techniques are necessary. The interface for primitive
-vector-valued shape functions, for which only one vector component is
-non-zero, has been part of the library since its publication with version 3.0.
-
-
-
-
-\section{Linear systems for finite element methods}
-
-We start by briefly introducing the way finite element matrices are assembled
-``on paper''. As usual in finite elements, we take the weak form of the partial
-differential equation. In the most general case, it reads: \textit{find $u\in
- V$ such that}
-\begin{gather*}
- a(u, v) = (f,v)_\Omega \qquad \forall v\in V,
-\end{gather*}
-where $a(\cdot,\cdot)$ is the bilinear form associated with the partial
-differential equations, and $V$ is the space of test functions. For
-simplicity, we have here assumed that the problem is linear and that then
-$a(\cdot,\cdot)$ is a bilinear form; if the problem is nonlinear, it is
-usually solved using a sequence of linear problems, so this is no restriction.
-
-In finite elements, we define an approximation of the solution $u$ by choosing
-a finite dimensional subspace $V_h$ spanned by the basis functions
-$\{\varphi_i\}$, and searching $u_h\in V_h$ by testing the weak form by the
-test functions from $V_h$. The problem then reads: \textit{find $u_h\in V_h$
-such that}
-\begin{gather*}
- a(u_h, v_h) = (f,v_h)_\Omega \qquad \forall v_h\in V_h.
-\end{gather*}
-
-Now, $\{\varphi_i\}$ is a basis of $V_h$. We denote the dimension of $V_h$ by
-$N$, and will henceforth let all sums be over the range $0\ldots N-1$, to keep
-with the standard notation of the C/C++ programming languages. With this, we
-can expand the solution $u_h=\sum_{j=0}^{N-1} U_j \varphi_j$, and by
-bilinearity of the form $a(\cdot,\cdot)$, the problem above is equivalent to
-\begin{gather}
- \label{eq:lin-1}
- \sum_{j=0}^{N-1} U_j a(\varphi_j,\varphi_i) = (f, \varphi_i)
- \qquad
- \forall i=0\ldots N-1.
-\end{gather}
-Denoting
-\begin{gather*}
- A_{ij} = a(\varphi_j,\varphi_i),
- \qquad
- \qquad
- F_j = (f, \varphi_j),
-\end{gather*}
-the equations determining the expansion coefficients $U_i$ are therefore:
-\begin{gather}
- \label{eq:lin-2}
- A U = F.
-\end{gather}
-
-Note that we have taken a reverted order of indices in the definition of $A$,
-since we want the linear system \eqref{eq:lin-2} with the solution to the
-right of the matrix, to keep with standard notation, instead of to the left as
-in \eqref{eq:lin-1}. For symmetric problems, there is no difference, but for
-non-symmetric ones this is a common source for problems and a rather common
-trap.
-
-For partial differential equations, the bilinear form used in \eqref{eq:lin-1}
-involves an integral over the domain $\Omega$ on which the problem is
-posed. For example, for the Laplace equation we have
-\begin{gather*}
- A_{ij}
- =
- a(\varphi_j, \varphi_i)
- =
- (\nabla \varphi_j, \nabla \varphi_i)_\Omega
- =
- \int_\Omega \nabla \varphi_j \cdot \nabla \varphi_i \; dx.
-\end{gather*}
-For practical purposes, we split this equation into integrals over the
-individual cells $K$ of the triangulation $\mathbb T$ we use for the
-discretization. In \texttt{deal.II}, these cells are always lines,
-quadrilaterals, or hexahedra. With this, we have that
-\begin{gather*}
- A = \sum_{K \in {\mathbb T}} A^K,
- \qquad\qquad
- A^K_{ij} = a_K(\varphi_j, \varphi_i)
- \qquad
- 0\le i,j\le N-1,
-\end{gather*}
-where the bilinear form $a_K(\cdot,\cdot)$ only involves an integral over the
-cell $K$. The important point is that we do so since for the localized basis
-functions used in finite elements, $A^K$ is a matrix with almost only zeros.
-The only elements which are not zero are those corresponding to indices $i,j$
-indicating those shape functions that have support also on the element $K$.
-For example, in 2d and using the usual bilinear shape functions for a scalar
-problem, only the four shape functions associated with the vertices of the
-cell $K$ are nonzero on $K$, and thus only the entries in $A^K$ are nonzero
-where the four rows corresponding to these indices and the respective four
-columns intersect.
-
-In general, assume that there are $N_K$ shape functions with support on cell
-$K$, and let the set of their indices be denoted by $I_K$. Then we can define
-a matrix $\hat A^K$ of (small dimension) $N_K\times N_K$ holding these nonzero
-entries, and we can obtain back the original contribution $A_K$ to $A$ by the
-transformation
-\begin{gather*}
- A^K_{ij} =
- \left\{
- \begin{array}{ll}
- 0 & \text{if $i\not\in I_K$ or $j\not\in I_K$,} \\
- \hat A^K_{local(i),local(j)} & \text{otherwise},
- \end{array}
- \right.
- \qquad 0\le i,j\le N-1.
-\end{gather*}
-Here, $local(i)$ gives the number of the global degree of freedom $i$ on the
-cell $K$, i.e. the position of $i$ in the index set $I_K$. One could call
-$\hat A^K$ the \texttt{reduced} form of $A^K$, since the many zero rows and
-column have been stripped.
-
-In general, when assembling the global matrix, the reverse way is used: when
-adding up $A^K$ to $A$, we do so only with $\hat A^K$ by
-\begin{gather*}
- A_{global(i),global(j)}
- +\!\!=
- \hat A^K_{ij}
- \qquad
- \qquad
- 0\le i,j\le N_K-1.
-\end{gather*}
-Thus, indices only run over the (small) range $0\ldots N_K-1$ instead of
-$0\ldots N-1$. Here, $global(i)$ denotes the global number of the degree of
-freedom with number $i$ on this cell $K$, i.e. $global(i)=I_K[i]$, where the
-bracket operator returns the $i$th element of the set $I_K$.
-
-The main part of assembling finite element matrices is therefore to assemble
-the local matrix $\hat A^K$. Before we go on with discussing how this is done
-in \texttt{deal.II}, we would like to comment on the evaluation of the
-integrals involved. Since the integrals are usually too complex to be
-evaluated exactly (they may depend on coefficients appearing in the equation,
-or the solution of previous steps in nonlinear or time-dependent problems),
-they are approximated by quadrature. Assume we have a quadrature formula with
-$N_q$ points $x_q$ defined on cell in real space (as opposed to the unit cell)
-and weights $w_q$. Then, for example for the Laplace equation, we approximate
-\begin{gather}
- \hat A^K_{ij}
- \equiv
- \int_K \nabla\varphi_i \cdot \nabla \varphi_j \; dx
- \approx
- \sum_{q=0}^{N_q-1}
- \nabla\varphi_i(x_q) \cdot \nabla \varphi_j(x_q)
- \ w_q |\text{det} \ J(\hat x_q)|.
-\end{gather}
-For other problems, the integrand is different, but the principle remains the
-same. $\text{det}\ J(\hat x_q)$ denotes the determinant of the Jacobian of the
-transformation between the unit cell on which the quadrature weights are
-defined, and the real cell, and $\hat x_q$ is the point on the unit cell
-corresponding to the quadrature point $x_q$ in real space.
-
-Since all matrices and right hand side vectors only require knowledge of the
-values and gradients of shape functions at quadrature points, this is all that
-\texttt{deal.II} usually provides. One can see this as a kind of \textit{view}
-on a finite element, as it only provides a certain perspective on the actual
-definition of a shape function. Nevertheless, this is entirely sufficient for
-all purposes of programming finite element programs.
-
-In \texttt{deal.II} the \texttt{FEValues} class does this: you give it a
-finite element definition, a quadrature formula object, and an object defining
-the transformation between unit and real cell, and it provides you with the
-values, gradient, and second derivatives of shape functions at the quadrature
-points. It also gives access to the determinant of the Jacobian, although only
-multiplied with $w_q$ as these two are always used in conjunction. It also
-provides you with many other fields, such as normal vectors to the outer
-boundary. In practice you do not need them all computed on each cell; thus,
-you have to specify explicitly in which data you are interested when
-constructing \texttt{FEValues} objects.
-
-In the following, we provide a list of connections between the symbols introduced
-above, and the respective functions and variable names used in typical
-\texttt{deal.II} programs. With this, we will subsequently show the basic
-structure of an assembly routine. If you have already taken a look at the
-example programs provided with \texttt{deal.II}, you will recognize all these
-names. If you haven't, this would be a good time to look at the first
-three of them.
-
-
-\begin{center}
- \begin{tabular}{|ll|}
- \hline
- $A$ & \texttt{system\_matrix} \\
- $\hat A^K$ & \texttt{cell\_matrix} \\
- $K$ & \texttt{cell} \\
- $N$ & \texttt{dof\_handler.n\_dofs()} \\
- $N_K$ & \texttt{fe.dofs\_per\_cell} \\
- $I_K$ & \texttt{local\_dof\_indices} \\
- $N_q$ & \texttt{quadrature\_formula.n\_quadrature\_points} \\
- $\varphi_i(x_q)$ & \texttt{fe\_values.shape\_value(i,q)} \\
- $\nabla\varphi_i(x_q)$ & \texttt{fe\_values.shape\_grad(i,q)} \\
- $x_q$ & \texttt{fe\_values.quadrature\_point(q)} \\
- $|\text{det} J(\hat x_q)| w_q$ & \texttt{fe\_values.JxW(q)} \\
- \hline
- \end{tabular}
-\end{center}
-
-With this vocabulary, the typical matrix assembly loop in \texttt{deal.II} has
-the following form: first declare a quadrature object and use it for the
-initialization of a \texttt{FEValues} object as discussed above:
-\begin{verbatim}
- QGauss2<2> quadrature_formula;
- FEValues<2> fe_values (fe, quadrature_formula,
- UpdateFlags(update_values |
- update_gradients |
- update_JxW_values));
-\end{verbatim}
-In practice, you may want to use a different set of fields to be updated on
-each cell. For example if you do not need the values of shape functions on a
-cell, you may omit \texttt{update\_values} from the list. Also note that by
-default a bi- or tri-linear (depending on space dimension) mapping between
-unit and real cell is used. Other mappings are possible, for example quadratic
-ones, or a mapping that makes use of the fact that in many cases cells are
-actually rectangular, rather than arbitrary quadrilaterals; in order to use
-them, another constructor of the \texttt{FEValues} class can be used, which
-takes a mapping object as first argument, before the other arguments listed
-above.
-
-Next we define abbreviations for the values of $N_K$ and $N_q$:
-\begin{verbatim}
- const unsigned int
- dofs_per_cell = fe.dofs_per_cell,
- n_q_points = quadrature_formula.n_quadrature_points;
-\end{verbatim}
-Then have an object to store the matrix $\hat A^K$, which is of size
-$N_K\times N_K$:
-\begin{verbatim}
- FullMatrix cell_matrix (dofs_per_cell, dofs_per_cell);
-\end{verbatim}
-And an object representing the set of global indices of degrees of freedom,
-previously denoted by $I_K$, that have support on the present cell, i.e. those
-degrees of freedom local to the present cell:
-\begin{verbatim}
- std::vector local_dof_indices (dofs_per_cell);
-\end{verbatim}
-The next step is then to loop over all cells:
-\begin{verbatim}
- typename DoFHandler::active_cell_iterator
- cell = dof_handler.begin_active(),
- endc = dof_handler.end();
- for (; cell!=endc; ++cell)
- {
-\end{verbatim}
-On each cell, first tell the \texttt{FEValues} object to compute the values of
-the various fields for this particular cell, and do not forget to reset the
-local matrix $\hat A^K$ to zero before adding it up:
-\begin{verbatim}
- fe_values.reinit (cell);
- cell_matrix.clear ();
-\end{verbatim}
-Now comes the main part, assembling the local matrix $\hat A^K$. It consists
-of a loop over all indices $0\le i,j \le N_K$ and all quadrature points $0\le
-q\le N_q$, and summing up the contributions. As this is what we will discuss
-in detail later on, we only denote it here by an ellipse:
-\begin{verbatim}
- for (unsigned int i=0; iget_dof_indices (local_dof_indices);
-
- for (unsigned int i=0; i}, which
-represents a tensor of rank 1 in \texttt{dim} space dimensions.
-
-Assembling matrices for scalar problems is also shown from a practical
-perspective in many of the example programs of \texttt{deal.II}, where it is
-also demonstrated how to do this for the right hand side vectors. Thus, scalar
-problems are not too interesting, and we now turn to vector-valued problems.
-
-
-
-\section{Vector-valued problems}
-
-Since we need some problems at which we will explain assembling the matrix for
-the vector-valued case, we now briefly introduce two simple equations. The
-first are the Lam\'e equations of elasticity, which are taken for the symmetric
-case, then we briefly introduce the Stokes equations as a nonsymmetric problem.
-
-\subsection{The elastic equations}
-\label{sec:elastic}
-
-As first example for the methods we are going to discuss for vector-valued
-problems, we consider the elastic Lam\'e equations for isotropic materials,
-which read in strong form:
-$$
- -
- \nabla (\lambda+\mu) (\div \vec u)
- -
- (\nabla \cdot \mu \nabla) \vec u
- =
- \vec f.
-$$
-These equations describe the three-dimensional deformation $\vec u$ of an
-elastic body under a body force $\vec f$. The respective bilinear form
-associated with this operator is then
-$$
- a(\vec u, \vec v) =
- \left(
- (\lambda+\mu) \div \vec u, \div \vec v
- \right)_\Omega
- +
- \sum_k
- \left(
- \mu \nabla u_k, \nabla v_k
- \right)_\Omega,
-$$
-or as a sum over components:
-$$
- a(\vec u, \vec v) =
- \sum_{k,l}
- \left(
- (\lambda+\mu) \partial_l u_l, \partial_k v_k
- \right)_\Omega
- +
- \sum_{k,l}
- \left(
- \mu \partial_l u_k, \partial_l v_k
- \right)_\Omega.
-$$
-
-When assembling matrices, it is advantageous to write the weak form
-(i.e. after integration by parts) as a kind of operator. This is since matrix
-elements after discretization are defined as
-\begin{gather*}
- A_{ij} = a(\varphi_j,\varphi_i)_\Omega,
-\end{gather*}
-where $\varphi_i,\varphi_j$ are two vector-valued trial functions, and it
-would be nice if we could write the bilinear form $a(\cdot,\cdot)$ as a kind
-of scalar product $(\varphi_i, Q \varphi_j)$, where $Q$ is a differential
-operator. This is trivial if we take $Q$ as the operator of the strong form,
-$Q=-\nabla (\lambda+\mu) \div - (\nabla \cdot \mu \nabla)$, but we wanted to
-do this for the weak form. For this, we introduce some notation that is used
-in quantum field theory: for differential operators, we indicate by an arrow
-placed atop of it whether it shall act on the object to the left or to the
-right of it. Thus,
-$\varphi \overleftarrow\nabla \cdot \overrightarrow\nabla \psi
-=(\nabla\varphi)\cdot(\nabla\psi)$. With this, a simple computation shows
-that
-\begin{multline*}
- a(\vec u,\vec v)
- =
- (\lambda+\mu)
- \left(
- \begin{pmatrix}
- u_1 \\ u_2
- \end{pmatrix}
- \mid
- \begin{pmatrix}
- \leftpartial_1 \rightpartial_1 &
- \leftpartial_1 \rightpartial_2 \\
- \leftpartial_2 \rightpartial_1 &
- \leftpartial_2 \rightpartial_2
- \end{pmatrix}
- \mid
- \begin{pmatrix}
- v_1 \\ v_2
- \end{pmatrix}
- \right)_\Omega
- \\
- +
- \mu
- \left(
- \begin{pmatrix}
- u_1 \\ u_2
- \end{pmatrix}
- \mid
- \left(
- \leftpartial_1 \rightpartial_1 +
- \leftpartial_2 \rightpartial_2
- \right)
- \begin{pmatrix}
- 1 & 0 \\
- 0 & 1
- \end{pmatrix}
- \mid
- \begin{pmatrix}
- v_1 \\ v_2
- \end{pmatrix}
- \right)_\Omega.
-\end{multline*}
-The sought operator $Q$ is then
-\begin{gather*}
- Q
- =
- (\lambda+\mu)
- \begin{pmatrix}
- \leftpartial_1 \rightpartial_1 &
- \leftpartial_1 \rightpartial_2 \\
- \leftpartial_2 \rightpartial_1 &
- \leftpartial_2 \rightpartial_2
- \end{pmatrix}
- +
- \mu
- \begin{pmatrix}
- \leftpartial_1 \rightpartial_1 +
- \leftpartial_2 \rightpartial_2 & 0 \\
- 0 & \leftpartial_1 \rightpartial_1 +
- \leftpartial_2 \rightpartial_2
- \end{pmatrix},
-\end{gather*}
-and $a(\vec u,\vec v)=(\vec u | Q | \vec v)$. We demonstrate the fact that $Q$
-acts to both sides by placing it in the middle of the scalar product, just as
-in the bra-ket notation of quantum physics.
-
-The advantages of this formulation will become clear when discussing
-assembling matrices below. For now, we remark that the symmetry of the weak
-form is equally apparent from the form of $Q$ as well as from the initial
-definition of $a(\cdot,\cdot)$.
-
-
-
-\subsection{The Stokes equations}
-\label{sec:stokes}
-
-For a nonsymmetric problem, we take the Stokes equations:
-\begin{align*}
- -\Delta \vec u + \nabla p &= 0,
- \\
- \text{div } \vec u &= 0.
-\end{align*}
-We denote by $\vec w=\{\vec u,p\}$ the entire solution vector. In the weak
-form, the above equations read
-\begin{gather*}
- a(\vec u,p; \vec v, q)
- =
- \nu(\nabla \vec u_1, \nabla \vec v_1)
- +\nu(\nabla \vec u_2, \nabla \vec v_2)
- - (p, \nabla\cdot \vec v)
- + (\nabla\cdot\vec u, q).
-\end{gather*}
-Since we integrated the gradient term in the first equation by parts, but not
-the divergence term in the second equation, the problem is now
-nonsymmetric. If we would have liked, we could have made the problem symmetric
-again by multiplying the entire second equation by $-1$, but we don't want to
-do that for now for illustrational purposes.
-
-Again, we introduce the operator $Q$ for this problem, which after some
-computations turns out to be
-\begin{gather*}
- Q
- =
- \begin{pmatrix}
- \nu(\leftpartial_1 \rightpartial_1 +
- \leftpartial_2 \rightpartial_2) & 0 & -\leftpartial_1 \\
- 0 & \nu(\leftpartial_1 \rightpartial_1 +
- \leftpartial_2 \rightpartial_2) & -\leftpartial_2 \\
- \rightpartial_1 & \rightpartial_2 & 0
- \end{pmatrix}.
-\end{gather*}
-Again, it is clear from this form that we could have made the operator
-symmetric by multiplying the last row by $-1$. Note when checking the symmetry
-of $Q$ that taking the transpose of such an operator means reverting the
-directions of the arrows over the operators, and exchanging their order.
-For example, using the first term, these two steps are
-$\leftpartial_1 \rightpartial_1 \rightarrow \rightpartial_1 \leftpartial_1
-\rightarrow \leftpartial_1 \rightpartial_1$.
-
-
-\section{Assembling vector-valued problems: The simple case}
-
-The simple case in assembling vector-valued problems is when the (also
-vector-valued) shape functions are chosen such that only one component in the
-vector is nonzero. This is usually the case, if we choose the shape functions
-to be the outer product of scalar shape functions, such as independent
-bilinear ansatz spaces for each component of a finite element space.
-
-In this case, each shape function $\Phi_i$ has the representation
-\begin{gather*}
- \Phi_i(\vec x) =
- \left( 0, \dots, 0, \varphi_i(\vec x), 0, \ldots, 0\right)^T,
-\end{gather*}
-where $\Phi_i$ is the vector-valued shape function, and $\varphi_i$ its
-only non-zero component. Let us denote by $c(i)$ the index of this non-zero
-component, then $\Phi_i$ can also be written as
-\begin{gather*}
- \left(\Phi_i(\vec x)\right)_l
- =
- \varphi_i(\vec x) \delta_{c(i),l},
-\end{gather*}
-with the Kronecker delta function $\delta_{jk}$.
-
-With this simple form, the cell matrix on cell $K$ has a simple form:
-\begin{gather*}
- A^K_{ij}
- =
- a_K(\Phi_i,\Phi_j)
- =
- \left(\Phi_i \mid Q \mid \Phi_j \right)_K
- =
- \left(\varphi_i \mid Q_{c(i),c(j)} \mid \varphi_j \right)_K.
-\end{gather*}
-Thus, in assembling the local cell matrices, we only have to determine the
-single components in which the two shape functions are non-zero, and
-pick one element from the matrix $Q$ to assemble each entry of the cell
-matrix with the help of the values of the functions $\varphi_i$ at the
-quadrature points. Here, it comes handy that we have written the operator as a
-matrix operator $Q$, since this makes it very clear how shape functions $i$
-and $j$ couple: if $Q_{c(i),c(j)}$ is zero, then they do not couple at all for
-this operator. Otherwise, it is easily visible which derivative acts on which
-shape function for this combination of shape functions.
-
-In \texttt{deal.II}, these two actions mentioned above (getting the non-zero
-component of a shape function, and the value of this component at a given
-quadrature point) are done as follows:
-\begin{itemize}
-\item \textit{Determining the non-zero component:} Given the shape function
- with number $i$ (i.e. its index local to the degrees of freedom on the
- present cell), its only non-zero component is obtained by the function call
-\begin{verbatim}
- const unsigned int nonzero_component_i
- = fe.system_to_component_index(i).first;
-\end{verbatim}
- The \texttt{FiniteElement::system\_to\_component\_index} returns a pair of
- numbers for each index $0\le i < N_K$, the first of which denotes the only
- non-zero component of the shape function $i$. Since for the case described
- in this section, the individual components of the vector-valued finite
- element are independent, we consider each component as a set of scalar shape
- functions; the second number of the pair returned by the function then
- denotes the index of the shape function $\varphi_i$ within the shape
- functions corresponding to this component.
-
- If, for example, our finite element in use is a $Q^2/Q^2/Q^1$ combination
- (for example for 2d flow computations: bi-quadratic ansatz functions for the
- velocities, bi-linear for the pressure), then we have a total of 22 shape
- functions (9+9+4). For each $0\le i < 22$, the first part of the pair
- returned by the function described above, $c(i)$, may then either be 0, 1,
- or 2, denoting the three possible components of the finite element. If
- $c(i)$ is either 0 or 1, then the component to which the shape function $i$
- belongs is a bi-quadratic one, and the second index is between $0$ and $8$
- (inclusive) as the $Q^2$ element has 9 shape functions. If $c(i)==2$, then
- the second part is between 0 and 3 (inclusive).
-
-\item \textit{Getting the value of $\varphi_i(\vec x_q)$:} Since only one
- component of $\Phi_i$ is non-zero, we can use the same function as before,
- i.e. \texttt{FEValues::shape\_value(i,q)}, which in the scalar case returned
- the value of shape function $i$ at quadrature point $q$. Likewise, the
- \texttt{FEValues::shape\_grad(i,q)} function returns the gradient of this
- particular component.
-
- In other words, whether the finite element is scalar or not, the two
- indicated functions return value and gradient of the only non-zero component
- of a shape function. If the finite element is scalar, then it is of course
- clear which component this is (since there $c(i)==0$ for all valid indices
- $i$), in the vector-valued case, it is component $c(i)$.
-\end{itemize}
-
-
-\subsection{The elastic equations}
-\label{sec:elastic-simple}
-
-With this, and the definition of the ``bi-directional'' operator $Q$ in
-Section~\ref{sec:elastic}, the local matrix assembly function for the elastic
-equations would then read as follows:
-\begin{verbatim}
- for (unsigned int i=0; i} class.
-
-
-\subsection{The Stokes equations}
-\label{sec:stokes-simple}
-
-For the Stokes equation, things are slightly more complicated since the three
-components denote different quantities, and the operator $Q$ does not have
-such a simple form, but the case is still simple enough. We present its
-generalization to an arbitrary number of space dimensions, i.e. assume that
-there are \texttt{dim} velocity variables and one scalar pressure:
-\begin{verbatim}
- for (unsigned int i=0; i) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 300.00 scf sf
-1200 1800 m
-gs 1 -1 sc (CellAccessor<1>) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 300.00 scf sf
-2400 3000 m
-gs 1 -1 sc (DoFObjectAccessor<1,1>) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 300.00 scf sf
-2400 4200 m
-gs 1 -1 sc (DoFCellAccessor<1>) dup sw pop 2 div neg 0 rm col0 sh gr
-$F2psEnd
-rs
diff --git a/deal.II/doc/reports/class-hierarchies/1d-dof.fig b/deal.II/doc/reports/class-hierarchies/1d-dof.fig
deleted file mode 100644
index 6d1e056206..0000000000
--- a/deal.II/doc/reports/class-hierarchies/1d-dof.fig
+++ /dev/null
@@ -1,28 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter
-100.00
-Single
-0
-1200 2
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 6000 1875 6000 1500 3600 1500 3600 1875 6000 1875
-2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
- 4800 1875 2400 2700
-2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
- 2400 3075 2400 3900
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 2250 1875 2250 1500 150 1500 150 1875 2250 1875
-2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
- 1200 1875 2400 2700
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 3750 4275 3750 3900 1050 3900 1050 4275 3750 4275
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 3950 3075 850 3075 850 2700 3950 2700 3950 3075
-4 1 0 0 0 0 25 0.0000 4 345 7590 4800 600 Class Hierarchy for the 1-dimensional Case, Part 2\001
-4 1 0 0 0 0 20 0.0000 4 195 1995 4800 1800 DoFAccessor<1>\001
-4 1 0 0 0 0 20 0.0000 4 195 1950 1200 1800 CellAccessor<1>\001
-4 1 0 0 0 0 20 0.0000 4 255 2940 2400 3000 DoFObjectAccessor<1,1>\001
-4 1 0 0 0 0 20 0.0000 4 195 2460 2400 4200 DoFCellAccessor<1>\001
diff --git a/deal.II/doc/reports/class-hierarchies/1d-dof.jpg b/deal.II/doc/reports/class-hierarchies/1d-dof.jpg
deleted file mode 100644
index d443b95dac..0000000000
Binary files a/deal.II/doc/reports/class-hierarchies/1d-dof.jpg and /dev/null differ
diff --git a/deal.II/doc/reports/class-hierarchies/1d-tria.eps b/deal.II/doc/reports/class-hierarchies/1d-tria.eps
deleted file mode 100644
index 5670f0c8ea..0000000000
--- a/deal.II/doc/reports/class-hierarchies/1d-tria.eps
+++ /dev/null
@@ -1,170 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: 1d-tria.eps
-%%Creator: fig2dev Version 3.2 Patchlevel 1
-%%CreationDate: Sun Dec 19 15:49:56 1999
-%%For: wolf@adaptive (Wolfgang Bangerth)
-%%Orientation: Portrait
-%%BoundingBox: 0 0 513 239
-%%Pages: 0
-%%BeginSetup
-%%EndSetup
-%%Magnification: 1.0000
-%%EndComments
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--9.0 258.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
- bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
- 4 -2 roll mul srgb} bind def
-/reencdict 12 dict def /ReEncode { reencdict begin
-/newcodesandnames exch def /newfontname exch def /basefontname exch def
-/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def
-basefontdict { exch dup /FID ne { dup /Encoding eq
-{ exch dup length array copy newfont 3 1 roll put }
-{ exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall
-newfont /FontName newfontname put newcodesandnames aload pop
-128 1 255 { newfont /Encoding get exch /.notdef put } for
-newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat
-newfontname newfont definefont pop end } def
-/isovec [
-8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde
-8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis
-8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron
-8#220 /dotlessi 8#230 /oe 8#231 /OE
-8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling
-8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis
-8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot
-8#255 /endash 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus
-8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph
-8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine
-8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf
-8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute
-8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring
-8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute
-8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute
-8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve
-8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply
-8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex
-8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave
-8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring
-8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute
-8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute
-8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve
-8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide
-8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex
-8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def
-/Times-Roman /Times-Roman-iso isovec ReEncode
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-%%EndProlog
-
-$F2psBegin
-10 setmiterlimit
-n -1000 5287 m -1000 -1000 l 9692 -1000 l 9692 5287 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-7.500 slw
-n 3705 1500 m 3600 1500 3600 1770 105 arcto 4 {pop} repeat
- 3600 1875 5895 1875 105 arcto 4 {pop} repeat
- 6000 1875 6000 1605 105 arcto 4 {pop} repeat
- 6000 1500 3705 1500 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-% Polyline
-15.000 slw
-n 4800 1875 m 1800 2700 l gs col0 s gr
-% Polyline
-n 1800 3075 m 1800 3900 l gs col0 s gr
-% Polyline
-7.500 slw
-n 280 2700 m 175 2700 175 2970 105 arcto 4 {pop} repeat
- 175 3075 3345 3075 105 arcto 4 {pop} repeat
- 3450 3075 3450 2805 105 arcto 4 {pop} repeat
- 3450 2700 280 2700 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-% Polyline
-n 755 3900 m 650 3900 650 4170 105 arcto 4 {pop} repeat
- 650 4275 2845 4275 105 arcto 4 {pop} repeat
- 2950 4275 2950 4005 105 arcto 4 {pop} repeat
- 2950 3900 755 3900 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-/Times-Roman-iso ff 300.00 scf sf
-4800 1800 m
-gs 1 -1 sc (TriaAccessor<1>) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 375.00 scf sf
-4800 600 m
-gs 1 -1 sc (Class Hierarchy for the 1-dimensional Case, Part 1) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 300.00 scf sf
-1800 3000 m
-gs 1 -1 sc (TriaObjectAccessor<1,1>) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 300.00 scf sf
-1800 4200 m
-gs 1 -1 sc (CellAccessor<1>) dup sw pop 2 div neg 0 rm col0 sh gr
-$F2psEnd
-rs
diff --git a/deal.II/doc/reports/class-hierarchies/1d-tria.fig b/deal.II/doc/reports/class-hierarchies/1d-tria.fig
deleted file mode 100644
index 3f46e3c583..0000000000
--- a/deal.II/doc/reports/class-hierarchies/1d-tria.fig
+++ /dev/null
@@ -1,23 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter
-100.00
-Single
-0
-1200 2
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 6000 1875 6000 1500 3600 1500 3600 1875 6000 1875
-2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
- 4800 1875 1800 2700
-2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
- 1800 3075 1800 3900
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 3450 3075 175 3075 175 2700 3450 2700 3450 3075
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 2950 4275 650 4275 650 3900 2950 3900 2950 4275
-4 1 0 0 0 0 20 0.0000 4 195 1980 4800 1800 TriaAccessor<1>\001
-4 1 0 0 0 0 25 0.0000 4 345 7590 4800 600 Class Hierarchy for the 1-dimensional Case, Part 1\001
-4 1 0 0 0 0 20 0.0000 4 255 2925 1800 3000 TriaObjectAccessor<1,1>\001
-4 1 0 0 0 0 20 0.0000 4 195 1950 1800 4200 CellAccessor<1>\001
diff --git a/deal.II/doc/reports/class-hierarchies/1d-tria.jpg b/deal.II/doc/reports/class-hierarchies/1d-tria.jpg
deleted file mode 100644
index c074ca3b8c..0000000000
Binary files a/deal.II/doc/reports/class-hierarchies/1d-tria.jpg and /dev/null differ
diff --git a/deal.II/doc/reports/class-hierarchies/2d-dof.eps b/deal.II/doc/reports/class-hierarchies/2d-dof.eps
deleted file mode 100644
index 6d185a71a1..0000000000
--- a/deal.II/doc/reports/class-hierarchies/2d-dof.eps
+++ /dev/null
@@ -1,203 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: 2d-dof.eps
-%%Creator: fig2dev Version 3.2 Patchlevel 1
-%%CreationDate: Sun Dec 19 16:24:04 1999
-%%For: wolf@adaptive (Wolfgang Bangerth)
-%%Orientation: Portrait
-%%BoundingBox: 0 0 560 239
-%%Pages: 0
-%%BeginSetup
-%%EndSetup
-%%Magnification: 1.0000
-%%EndComments
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--8.0 258.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
- bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
- 4 -2 roll mul srgb} bind def
-/reencdict 12 dict def /ReEncode { reencdict begin
-/newcodesandnames exch def /newfontname exch def /basefontname exch def
-/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def
-basefontdict { exch dup /FID ne { dup /Encoding eq
-{ exch dup length array copy newfont 3 1 roll put }
-{ exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall
-newfont /FontName newfontname put newcodesandnames aload pop
-128 1 255 { newfont /Encoding get exch /.notdef put } for
-newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat
-newfontname newfont definefont pop end } def
-/isovec [
-8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde
-8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis
-8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron
-8#220 /dotlessi 8#230 /oe 8#231 /OE
-8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling
-8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis
-8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot
-8#255 /endash 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus
-8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph
-8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine
-8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf
-8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute
-8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring
-8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute
-8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute
-8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve
-8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply
-8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex
-8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave
-8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring
-8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute
-8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute
-8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve
-8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide
-8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex
-8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def
-/Times-Roman /Times-Roman-iso isovec ReEncode
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-%%EndProlog
-
-$F2psBegin
-10 setmiterlimit
-n -1000 5287 m -1000 -1000 l 10462 -1000 l 10462 5287 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-15.000 slw
-n 6825 3075 m 6825 3900 l gs col0 s gr
-% Polyline
-7.500 slw
-n 5380 2700 m 5275 2700 5275 2970 105 arcto 4 {pop} repeat
- 5275 3075 8270 3075 105 arcto 4 {pop} repeat
- 8375 3075 8375 2805 105 arcto 4 {pop} repeat
- 8375 2700 5380 2700 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-% Polyline
-n 5580 3900 m 5475 3900 5475 4170 105 arcto 4 {pop} repeat
- 5475 4275 8070 4275 105 arcto 4 {pop} repeat
- 8175 4275 8175 4005 105 arcto 4 {pop} repeat
- 8175 3900 5580 3900 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-/Times-Roman-iso ff 300.00 scf sf
-6825 3000 m
-gs 1 -1 sc (DoFObjectAccessor<2,2>) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 300.00 scf sf
-6825 4200 m
-gs 1 -1 sc (DoFCellAccessor<2>) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 1480 2700 m 1375 2700 1375 2970 105 arcto 4 {pop} repeat
- 1375 3075 4370 3075 105 arcto 4 {pop} repeat
- 4475 3075 4475 2805 105 arcto 4 {pop} repeat
- 4475 2700 1480 2700 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-/Times-Roman-iso ff 300.00 scf sf
-2925 3000 m
-gs 1 -1 sc (DoFObjectAccessor<1,2>) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 3705 1500 m 3600 1500 3600 1770 105 arcto 4 {pop} repeat
- 3600 1875 5895 1875 105 arcto 4 {pop} repeat
- 6000 1875 6000 1605 105 arcto 4 {pop} repeat
- 6000 1500 3705 1500 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-% Polyline
-n 7455 1500 m 7350 1500 7350 1770 105 arcto 4 {pop} repeat
- 7350 1875 9345 1875 105 arcto 4 {pop} repeat
- 9450 1875 9450 1605 105 arcto 4 {pop} repeat
- 9450 1500 7455 1500 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-% Polyline
-n 255 1500 m 150 1500 150 1770 105 arcto 4 {pop} repeat
- 150 1875 3045 1875 105 arcto 4 {pop} repeat
- 3150 1875 3150 1605 105 arcto 4 {pop} repeat
- 3150 1500 255 1500 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-% Polyline
-15.000 slw
-n 4800 1875 m 2800 2700 l gs col0 s gr
-% Polyline
-n 1200 1875 m 2800 2700 l gs col0 s gr
-% Polyline
-n 4800 1875 m 6800 2700 l gs col0 s gr
-% Polyline
-n 8400 1875 m 6800 2700 l gs col0 s gr
-/Times-Roman-iso ff 375.00 scf sf
-4800 600 m
-gs 1 -1 sc (Class Hierarchy for the 2-dimensional Case, Part 2) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 300.00 scf sf
-4800 1800 m
-gs 1 -1 sc (DoFAccessor<2>) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 300.00 scf sf
-8400 1800 m
-gs 1 -1 sc (CellAccessor<2>) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 300.00 scf sf
-1650 1800 m
-gs 1 -1 sc (TriaObjectAccessor<1,2>) dup sw pop 2 div neg 0 rm col0 sh gr
-$F2psEnd
-rs
diff --git a/deal.II/doc/reports/class-hierarchies/2d-dof.fig b/deal.II/doc/reports/class-hierarchies/2d-dof.fig
deleted file mode 100644
index ba45b2c4b9..0000000000
--- a/deal.II/doc/reports/class-hierarchies/2d-dof.fig
+++ /dev/null
@@ -1,42 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter
-100.00
-Single
-0
-1200 2
-6 5250 2700 8400 4275
-2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
- 6825 3075 6825 3900
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 8375 3075 5275 3075 5275 2700 8375 2700 8375 3075
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 8175 4275 8175 3900 5475 3900 5475 4275 8175 4275
-4 1 0 0 0 0 20 0.0000 4 255 2940 6825 3000 DoFObjectAccessor<2,2>\001
-4 1 0 0 0 0 20 0.0000 4 195 2460 6825 4200 DoFCellAccessor<2>\001
--6
-6 1350 2700 4500 3075
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 4475 3075 1375 3075 1375 2700 4475 2700 4475 3075
-4 1 0 0 0 0 20 0.0000 4 255 2940 2925 3000 DoFObjectAccessor<1,2>\001
--6
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 6000 1875 6000 1500 3600 1500 3600 1875 6000 1875
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 9450 1875 9450 1500 7350 1500 7350 1875 9450 1875
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 3150 1875 150 1875 150 1500 3150 1500 3150 1875
-2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
- 4800 1875 2800 2700
-2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
- 1200 1875 2800 2700
-2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
- 4800 1875 6800 2700
-2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
- 8400 1875 6800 2700
-4 1 0 0 0 0 25 0.0000 4 345 7590 4800 600 Class Hierarchy for the 2-dimensional Case, Part 2\001
-4 1 0 0 0 0 20 0.0000 4 195 1995 4800 1800 DoFAccessor<2>\001
-4 1 0 0 0 0 20 0.0000 4 195 1950 8400 1800 CellAccessor<2>\001
-4 1 0 0 0 0 20 0.0000 4 255 2925 1650 1800 TriaObjectAccessor<1,2>\001
diff --git a/deal.II/doc/reports/class-hierarchies/2d-dof.jpg b/deal.II/doc/reports/class-hierarchies/2d-dof.jpg
deleted file mode 100644
index caf1cc2217..0000000000
Binary files a/deal.II/doc/reports/class-hierarchies/2d-dof.jpg and /dev/null differ
diff --git a/deal.II/doc/reports/class-hierarchies/2d-tria.eps b/deal.II/doc/reports/class-hierarchies/2d-tria.eps
deleted file mode 100644
index ec95b92e0d..0000000000
--- a/deal.II/doc/reports/class-hierarchies/2d-tria.eps
+++ /dev/null
@@ -1,181 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: 2d-tria.eps
-%%Creator: fig2dev Version 3.2 Patchlevel 1
-%%CreationDate: Sun Dec 19 15:59:56 1999
-%%For: wolf@adaptive (Wolfgang Bangerth)
-%%Orientation: Portrait
-%%BoundingBox: 0 0 552 239
-%%Pages: 0
-%%BeginSetup
-%%EndSetup
-%%Magnification: 1.0000
-%%EndComments
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--15.0 258.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
- bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
- 4 -2 roll mul srgb} bind def
-/reencdict 12 dict def /ReEncode { reencdict begin
-/newcodesandnames exch def /newfontname exch def /basefontname exch def
-/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def
-basefontdict { exch dup /FID ne { dup /Encoding eq
-{ exch dup length array copy newfont 3 1 roll put }
-{ exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall
-newfont /FontName newfontname put newcodesandnames aload pop
-128 1 255 { newfont /Encoding get exch /.notdef put } for
-newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat
-newfontname newfont definefont pop end } def
-/isovec [
-8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde
-8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis
-8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron
-8#220 /dotlessi 8#230 /oe 8#231 /OE
-8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling
-8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis
-8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot
-8#255 /endash 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus
-8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph
-8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine
-8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf
-8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute
-8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring
-8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute
-8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute
-8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve
-8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply
-8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex
-8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave
-8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring
-8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute
-8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute
-8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve
-8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide
-8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex
-8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def
-/Times-Roman /Times-Roman-iso isovec ReEncode
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-%%EndProlog
-
-$F2psBegin
-10 setmiterlimit
-n -1000 5287 m -1000 -1000 l 10437 -1000 l 10437 5287 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-7.500 slw
-n 3705 1500 m 3600 1500 3600 1770 105 arcto 4 {pop} repeat
- 3600 1875 5895 1875 105 arcto 4 {pop} repeat
- 6000 1875 6000 1605 105 arcto 4 {pop} repeat
- 6000 1500 3705 1500 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-% Polyline
-15.000 slw
-n 4800 1875 m 1800 2700 l gs col0 s gr
-% Polyline
-n 4800 1875 m 7800 2700 l gs col0 s gr
-% Polyline
-n 7800 3075 m 7800 3900 l gs col0 s gr
-% Polyline
-7.500 slw
-n 6855 3900 m 6750 3900 6750 4170 105 arcto 4 {pop} repeat
- 6750 4275 8745 4275 105 arcto 4 {pop} repeat
- 8850 4275 8850 4005 105 arcto 4 {pop} repeat
- 8850 3900 6855 3900 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-% Polyline
-n 380 2700 m 275 2700 275 2970 105 arcto 4 {pop} repeat
- 275 3075 3245 3075 105 arcto 4 {pop} repeat
- 3350 3075 3350 2805 105 arcto 4 {pop} repeat
- 3350 2700 380 2700 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-% Polyline
-n 6330 2700 m 6225 2700 6225 2970 105 arcto 4 {pop} repeat
- 6225 3075 9320 3075 105 arcto 4 {pop} repeat
- 9425 3075 9425 2805 105 arcto 4 {pop} repeat
- 9425 2700 6330 2700 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-/Times-Roman-iso ff 300.00 scf sf
-4800 1800 m
-gs 1 -1 sc (TriaAccessor<2>) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 375.00 scf sf
-4800 600 m
-gs 1 -1 sc (Class Hierarchy for the 2-dimensional Case, Part 1) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 300.00 scf sf
-1800 3000 m
-gs 1 -1 sc (TriaObjectAccessor<1,2>) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 300.00 scf sf
-7800 3000 m
-gs 1 -1 sc (TriaObjectAccessor<2,2>) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 300.00 scf sf
-7800 4200 m
-gs 1 -1 sc (CellAccessor<2>) dup sw pop 2 div neg 0 rm col0 sh gr
-$F2psEnd
-rs
diff --git a/deal.II/doc/reports/class-hierarchies/2d-tria.fig b/deal.II/doc/reports/class-hierarchies/2d-tria.fig
deleted file mode 100644
index b5276f025b..0000000000
--- a/deal.II/doc/reports/class-hierarchies/2d-tria.fig
+++ /dev/null
@@ -1,28 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter
-100.00
-Single
-0
-1200 2
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 6000 1875 6000 1500 3600 1500 3600 1875 6000 1875
-2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
- 4800 1875 1800 2700
-2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
- 4800 1875 7800 2700
-2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
- 7800 3075 7800 3900
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 8850 4275 8850 3900 6750 3900 6750 4275 8850 4275
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 3350 3075 275 3075 275 2700 3350 2700 3350 3075
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 9425 3075 6225 3075 6225 2700 9425 2700 9425 3075
-4 1 0 0 0 0 20 0.0000 4 195 1980 4800 1800 TriaAccessor<2>\001
-4 1 0 0 0 0 25 0.0000 4 345 7590 4800 600 Class Hierarchy for the 2-dimensional Case, Part 1\001
-4 1 0 0 0 0 20 0.0000 4 255 2925 1800 3000 TriaObjectAccessor<1,2>\001
-4 1 0 0 0 0 20 0.0000 4 255 2925 7800 3000 TriaObjectAccessor<2,2>\001
-4 1 0 0 0 0 20 0.0000 4 195 1950 7800 4200 CellAccessor<2>\001
diff --git a/deal.II/doc/reports/class-hierarchies/2d-tria.jpg b/deal.II/doc/reports/class-hierarchies/2d-tria.jpg
deleted file mode 100644
index 93a7c4dfe8..0000000000
Binary files a/deal.II/doc/reports/class-hierarchies/2d-tria.jpg and /dev/null differ
diff --git a/deal.II/doc/reports/class-hierarchies/3d-dof.eps b/deal.II/doc/reports/class-hierarchies/3d-dof.eps
deleted file mode 100644
index 7dffc7bcab..0000000000
--- a/deal.II/doc/reports/class-hierarchies/3d-dof.eps
+++ /dev/null
@@ -1,219 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: 3d-dof.eps
-%%Creator: fig2dev Version 3.2 Patchlevel 1
-%%CreationDate: Sun Dec 19 16:33:48 1999
-%%For: wolf@adaptive (Wolfgang Bangerth)
-%%Orientation: Portrait
-%%BoundingBox: 0 0 592 239
-%%Pages: 0
-%%BeginSetup
-%%EndSetup
-%%Magnification: 1.0000
-%%EndComments
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--12.0 258.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
- bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
- 4 -2 roll mul srgb} bind def
-/reencdict 12 dict def /ReEncode { reencdict begin
-/newcodesandnames exch def /newfontname exch def /basefontname exch def
-/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def
-basefontdict { exch dup /FID ne { dup /Encoding eq
-{ exch dup length array copy newfont 3 1 roll put }
-{ exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall
-newfont /FontName newfontname put newcodesandnames aload pop
-128 1 255 { newfont /Encoding get exch /.notdef put } for
-newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat
-newfontname newfont definefont pop end } def
-/isovec [
-8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde
-8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis
-8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron
-8#220 /dotlessi 8#230 /oe 8#231 /OE
-8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling
-8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis
-8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot
-8#255 /endash 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus
-8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph
-8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine
-8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf
-8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute
-8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring
-8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute
-8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute
-8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve
-8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply
-8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex
-8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave
-8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring
-8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute
-8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute
-8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve
-8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide
-8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex
-8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def
-/Times-Roman /Times-Roman-iso isovec ReEncode
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-%%EndProlog
-
-$F2psBegin
-10 setmiterlimit
-n -1000 5287 m -1000 -1000 l 11062 -1000 l 11062 5287 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-15.000 slw
-n 1500 1125 m 1875 2700 l 6525 1875 l gs col0 s gr
-% Polyline
-n 3375 1575 m 5250 2700 l 6525 1875 l gs col0 s gr
-% Polyline
-n 6525 1875 m 8400 2700 l 8925 1350 l gs col0 s gr
-% Polyline
-7.500 slw
-n 5430 1500 m 5325 1500 5325 1770 105 arcto 4 {pop} repeat
- 5325 1875 7620 1875 105 arcto 4 {pop} repeat
- 7725 1875 7725 1605 105 arcto 4 {pop} repeat
- 7725 1500 5430 1500 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-/Times-Roman-iso ff 300.00 scf sf
-6525 1800 m
-gs 1 -1 sc (DoFAccessor<3>) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 330 750 m 225 750 225 1020 105 arcto 4 {pop} repeat
- 225 1125 3120 1125 105 arcto 4 {pop} repeat
- 3225 1125 3225 855 105 arcto 4 {pop} repeat
- 3225 750 330 750 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-/Times-Roman-iso ff 300.00 scf sf
-1725 1050 m
-gs 1 -1 sc (TriaObjectAccessor<1,3>) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 2130 1200 m 2025 1200 2025 1470 105 arcto 4 {pop} repeat
- 2025 1575 4920 1575 105 arcto 4 {pop} repeat
- 5025 1575 5025 1305 105 arcto 4 {pop} repeat
- 5025 1200 2130 1200 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-/Times-Roman-iso ff 300.00 scf sf
-3525 1500 m
-gs 1 -1 sc (TriaObjectAccessor<1,3>) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 8055 975 m 7950 975 7950 1245 105 arcto 4 {pop} repeat
- 7950 1350 9945 1350 105 arcto 4 {pop} repeat
- 10050 1350 10050 1080 105 arcto 4 {pop} repeat
- 10050 975 8055 975 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-/Times-Roman-iso ff 300.00 scf sf
-9000 1275 m
-gs 1 -1 sc (CellAccessor<3>) dup sw pop 2 div neg 0 rm col0 sh gr
-% Polyline
-n 3805 2700 m 3700 2700 3700 2970 105 arcto 4 {pop} repeat
- 3700 3075 6695 3075 105 arcto 4 {pop} repeat
- 6800 3075 6800 2805 105 arcto 4 {pop} repeat
- 6800 2700 3805 2700 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-% Polyline
-n 580 2700 m 475 2700 475 2970 105 arcto 4 {pop} repeat
- 475 3075 3470 3075 105 arcto 4 {pop} repeat
- 3575 3075 3575 2805 105 arcto 4 {pop} repeat
- 3575 2700 580 2700 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-% Polyline
-n 6980 2700 m 6875 2700 6875 2970 105 arcto 4 {pop} repeat
- 6875 3075 9870 3075 105 arcto 4 {pop} repeat
- 9975 3075 9975 2805 105 arcto 4 {pop} repeat
- 9975 2700 6980 2700 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-% Polyline
-n 7155 3900 m 7050 3900 7050 4170 105 arcto 4 {pop} repeat
- 7050 4275 9645 4275 105 arcto 4 {pop} repeat
- 9750 4275 9750 4005 105 arcto 4 {pop} repeat
- 9750 3900 7155 3900 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-% Polyline
-15.000 slw
-n 8400 3075 m 8400 3900 l gs col0 s gr
-/Times-Roman-iso ff 300.00 scf sf
-2025 3000 m
-gs 1 -1 sc (DoFObjectAccessor<1,3>) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 300.00 scf sf
-5250 3000 m
-gs 1 -1 sc (DoFObjectAccessor<2,3>) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 300.00 scf sf
-8400 3000 m
-gs 1 -1 sc (DoFObjectAccessor<3,3>) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 300.00 scf sf
-8400 4200 m
-gs 1 -1 sc (DoFCellAccessor<3>) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 375.00 scf sf
-4800 600 m
-gs 1 -1 sc (Class Hierarchy for the 3-dimensional Case, Part 2) dup sw pop 2 div neg 0 rm col0 sh gr
-$F2psEnd
-rs
diff --git a/deal.II/doc/reports/class-hierarchies/3d-dof.fig b/deal.II/doc/reports/class-hierarchies/3d-dof.fig
deleted file mode 100644
index fc810f6e1a..0000000000
--- a/deal.II/doc/reports/class-hierarchies/3d-dof.fig
+++ /dev/null
@@ -1,54 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter
-100.00
-Single
-0
-1200 2
-6 5325 1500 7725 1875
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 7725 1875 7725 1500 5325 1500 5325 1875 7725 1875
-4 1 0 0 0 0 20 0.0000 4 195 1995 6525 1800 DoFAccessor<3>\001
--6
-6 225 750 3225 1125
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 3225 1125 225 1125 225 750 3225 750 3225 1125
-4 1 0 0 0 0 20 0.0000 4 255 2925 1725 1050 TriaObjectAccessor<1,3>\001
--6
-6 2025 1200 5025 1575
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 5025 1575 2025 1575 2025 1200 5025 1200 5025 1575
-4 1 0 0 0 0 20 0.0000 4 255 2925 3525 1500 TriaObjectAccessor<1,3>\001
--6
-6 7950 975 10050 1350
-6 7950 975 10050 1350
-6 7950 975 10050 1350
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 10050 1350 10050 975 7950 975 7950 1350 10050 1350
--6
--6
-4 1 0 0 0 0 20 0.0000 4 195 1950 9000 1275 CellAccessor<3>\001
--6
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 6800 3075 3700 3075 3700 2700 6800 2700 6800 3075
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 3575 3075 475 3075 475 2700 3575 2700 3575 3075
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 9975 3075 6875 3075 6875 2700 9975 2700 9975 3075
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 9750 4275 9750 3900 7050 3900 7050 4275 9750 4275
-2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
- 8400 3075 8400 3900
-2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3
- 1500 1125 1875 2700 6525 1875
-2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3
- 3375 1575 5250 2700 6525 1875
-2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3
- 6525 1875 8400 2700 8925 1350
-4 1 0 0 0 0 20 0.0000 4 255 2940 2025 3000 DoFObjectAccessor<1,3>\001
-4 1 0 0 0 0 20 0.0000 4 255 2940 5250 3000 DoFObjectAccessor<2,3>\001
-4 1 0 0 0 0 20 0.0000 4 255 2940 8400 3000 DoFObjectAccessor<3,3>\001
-4 1 0 0 0 0 20 0.0000 4 195 2460 8400 4200 DoFCellAccessor<3>\001
-4 1 0 0 0 0 25 0.0000 4 345 7590 4800 600 Class Hierarchy for the 3-dimensional Case, Part 2\001
diff --git a/deal.II/doc/reports/class-hierarchies/3d-dof.jpg b/deal.II/doc/reports/class-hierarchies/3d-dof.jpg
deleted file mode 100644
index b69962dbfe..0000000000
Binary files a/deal.II/doc/reports/class-hierarchies/3d-dof.jpg and /dev/null differ
diff --git a/deal.II/doc/reports/class-hierarchies/3d-tria.eps b/deal.II/doc/reports/class-hierarchies/3d-tria.eps
deleted file mode 100644
index 75ea1372b8..0000000000
--- a/deal.II/doc/reports/class-hierarchies/3d-tria.eps
+++ /dev/null
@@ -1,193 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: 3d-tria.eps
-%%Creator: fig2dev Version 3.2 Patchlevel 1
-%%CreationDate: Sun Dec 19 16:06:42 1999
-%%For: wolf@adaptive (Wolfgang Bangerth)
-%%Orientation: Portrait
-%%BoundingBox: 0 0 576 239
-%%Pages: 0
-%%BeginSetup
-%%EndSetup
-%%Magnification: 1.0000
-%%EndComments
-/$F2psDict 200 dict def
-$F2psDict begin
-$F2psDict /mtrx matrix put
-/col-1 {0 setgray} bind def
-/col0 {0.000 0.000 0.000 srgb} bind def
-/col1 {0.000 0.000 1.000 srgb} bind def
-/col2 {0.000 1.000 0.000 srgb} bind def
-/col3 {0.000 1.000 1.000 srgb} bind def
-/col4 {1.000 0.000 0.000 srgb} bind def
-/col5 {1.000 0.000 1.000 srgb} bind def
-/col6 {1.000 1.000 0.000 srgb} bind def
-/col7 {1.000 1.000 1.000 srgb} bind def
-/col8 {0.000 0.000 0.560 srgb} bind def
-/col9 {0.000 0.000 0.690 srgb} bind def
-/col10 {0.000 0.000 0.820 srgb} bind def
-/col11 {0.530 0.810 1.000 srgb} bind def
-/col12 {0.000 0.560 0.000 srgb} bind def
-/col13 {0.000 0.690 0.000 srgb} bind def
-/col14 {0.000 0.820 0.000 srgb} bind def
-/col15 {0.000 0.560 0.560 srgb} bind def
-/col16 {0.000 0.690 0.690 srgb} bind def
-/col17 {0.000 0.820 0.820 srgb} bind def
-/col18 {0.560 0.000 0.000 srgb} bind def
-/col19 {0.690 0.000 0.000 srgb} bind def
-/col20 {0.820 0.000 0.000 srgb} bind def
-/col21 {0.560 0.000 0.560 srgb} bind def
-/col22 {0.690 0.000 0.690 srgb} bind def
-/col23 {0.820 0.000 0.820 srgb} bind def
-/col24 {0.500 0.190 0.000 srgb} bind def
-/col25 {0.630 0.250 0.000 srgb} bind def
-/col26 {0.750 0.380 0.000 srgb} bind def
-/col27 {1.000 0.500 0.500 srgb} bind def
-/col28 {1.000 0.630 0.630 srgb} bind def
-/col29 {1.000 0.750 0.750 srgb} bind def
-/col30 {1.000 0.880 0.880 srgb} bind def
-/col31 {1.000 0.840 0.000 srgb} bind def
-
-end
-save
--15.0 258.0 translate
-1 -1 scale
-
-/cp {closepath} bind def
-/ef {eofill} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth} bind def
-/tr {translate} bind def
-/tnt {dup dup currentrgbcolor
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add
- 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
- bind def
-/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
- 4 -2 roll mul srgb} bind def
-/reencdict 12 dict def /ReEncode { reencdict begin
-/newcodesandnames exch def /newfontname exch def /basefontname exch def
-/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def
-basefontdict { exch dup /FID ne { dup /Encoding eq
-{ exch dup length array copy newfont 3 1 roll put }
-{ exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall
-newfont /FontName newfontname put newcodesandnames aload pop
-128 1 255 { newfont /Encoding get exch /.notdef put } for
-newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat
-newfontname newfont definefont pop end } def
-/isovec [
-8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde
-8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis
-8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron
-8#220 /dotlessi 8#230 /oe 8#231 /OE
-8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling
-8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis
-8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot
-8#255 /endash 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus
-8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph
-8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine
-8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf
-8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute
-8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring
-8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute
-8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute
-8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve
-8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply
-8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex
-8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave
-8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring
-8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute
-8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute
-8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve
-8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide
-8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex
-8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def
-/Times-Roman /Times-Roman-iso isovec ReEncode
-/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
-/$F2psEnd {$F2psEnteredState restore end} def
-%%EndProlog
-
-$F2psBegin
-10 setmiterlimit
-n -1000 5287 m -1000 -1000 l 10837 -1000 l 10837 5287 l cp clip
- 0.06000 0.06000 sc
-% Polyline
-15.000 slw
-n 5100 1875 m 5100 2700 l gs col0 s gr
-% Polyline
-7.500 slw
-n 380 2700 m 275 2700 275 2970 105 arcto 4 {pop} repeat
- 275 3075 3245 3075 105 arcto 4 {pop} repeat
- 3350 3075 3350 2805 105 arcto 4 {pop} repeat
- 3350 2700 380 2700 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-% Polyline
-n 3480 2700 m 3375 2700 3375 2970 105 arcto 4 {pop} repeat
- 3375 3075 6470 3075 105 arcto 4 {pop} repeat
- 6575 3075 6575 2805 105 arcto 4 {pop} repeat
- 6575 2700 3480 2700 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-% Polyline
-n 6730 2700 m 6625 2700 6625 2970 105 arcto 4 {pop} repeat
- 6625 3075 9720 3075 105 arcto 4 {pop} repeat
- 9825 3075 9825 2805 105 arcto 4 {pop} repeat
- 9825 2700 6730 2700 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-% Polyline
-n 4005 1500 m 3900 1500 3900 1770 105 arcto 4 {pop} repeat
- 3900 1875 6195 1875 105 arcto 4 {pop} repeat
- 6300 1875 6300 1605 105 arcto 4 {pop} repeat
- 6300 1500 4005 1500 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-% Polyline
-15.000 slw
-n 5100 1875 m 1800 2700 l gs col0 s gr
-% Polyline
-n 5100 1875 m 8200 2700 l gs col0 s gr
-% Polyline
-n 8250 3075 m 8250 3900 l gs col0 s gr
-% Polyline
-7.500 slw
-n 7305 3900 m 7200 3900 7200 4170 105 arcto 4 {pop} repeat
- 7200 4275 9195 4275 105 arcto 4 {pop} repeat
- 9300 4275 9300 4005 105 arcto 4 {pop} repeat
- 9300 3900 7305 3900 105 arcto 4 {pop} repeat
- cp gs col0 s gr
-/Times-Roman-iso ff 300.00 scf sf
-1800 3000 m
-gs 1 -1 sc (TriaObjectAccessor<1,3>) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 300.00 scf sf
-8250 3000 m
-gs 1 -1 sc (TriaObjectAccessor<3,3>) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 300.00 scf sf
-5100 1800 m
-gs 1 -1 sc (TriaAccessor<3>) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 300.00 scf sf
-8250 4200 m
-gs 1 -1 sc (CellAccessor<3>) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 300.00 scf sf
-5025 3000 m
-gs 1 -1 sc (TriaObjectAccessor<2,3>) dup sw pop 2 div neg 0 rm col0 sh gr
-/Times-Roman-iso ff 375.00 scf sf
-4800 600 m
-gs 1 -1 sc (Class Hierarchy for the 3-dimensional Case, Part 1) dup sw pop 2 div neg 0 rm col0 sh gr
-$F2psEnd
-rs
diff --git a/deal.II/doc/reports/class-hierarchies/3d-tria.fig b/deal.II/doc/reports/class-hierarchies/3d-tria.fig
deleted file mode 100644
index 784a1a4b70..0000000000
--- a/deal.II/doc/reports/class-hierarchies/3d-tria.fig
+++ /dev/null
@@ -1,33 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter
-100.00
-Single
-0
-1200 2
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 3350 3075 275 3075 275 2700 3350 2700 3350 3075
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 6575 3075 3375 3075 3375 2700 6575 2700 6575 3075
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 9825 3075 6625 3075 6625 2700 9825 2700 9825 3075
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 6300 1875 6300 1500 3900 1500 3900 1875 6300 1875
-2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
- 5100 1875 1800 2700
-2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
- 5100 1875 8200 2700
-2 1 0 2 0 7 0 0 -1 0.000 0 0 -1 0 0 2
- 8250 3075 8250 3900
-2 4 0 1 0 7 0 0 -1 0.000 0 0 7 0 0 5
- 9300 4275 9300 3900 7200 3900 7200 4275 9300 4275
-2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2
- 5100 1875 5100 2700
-4 1 0 0 0 0 20 0.0000 4 255 2925 1800 3000 TriaObjectAccessor<1,3>\001
-4 1 0 0 0 0 20 0.0000 4 255 2925 8250 3000 TriaObjectAccessor<3,3>\001
-4 1 0 0 0 0 20 0.0000 4 195 1980 5100 1800 TriaAccessor<3>\001
-4 1 0 0 0 0 20 0.0000 4 195 1950 8250 4200 CellAccessor<3>\001
-4 1 0 0 0 0 20 0.0000 4 255 2925 5025 3000 TriaObjectAccessor<2,3>\001
-4 1 0 0 0 0 25 0.0000 4 345 7590 4800 600 Class Hierarchy for the 3-dimensional Case, Part 1\001
diff --git a/deal.II/doc/reports/class-hierarchies/3d-tria.jpg b/deal.II/doc/reports/class-hierarchies/3d-tria.jpg
deleted file mode 100644
index 6aa0d0b821..0000000000
Binary files a/deal.II/doc/reports/class-hierarchies/3d-tria.jpg and /dev/null differ
diff --git a/deal.II/doc/reports/class-hierarchies/index.html b/deal.II/doc/reports/class-hierarchies/index.html
deleted file mode 100644
index f2c3ac547e..0000000000
--- a/deal.II/doc/reports/class-hierarchies/index.html
+++ /dev/null
@@ -1,996 +0,0 @@
-
-
-
-
- The deal.II Homepage
-
-
-
-
-
-
-
-Description of the C++ class hierarchy for the
-accessor classes
-
-
-
-
- Wolfgang Bangerth, 1998, 1999, 2000
-
-
-
-
-The class hierarchy of the accessor classes used to retrieve and store
-data in the triangulation and degree of freedom handler objects is one
-of the more complicated parts of the library. It makes heavy use of
-class templates with integers as template parameters as well as of
-explicit specialization of classes and member functions. Therefore,
-it is not so easy to see the connections and inheritance relations
-within this part of the class tree; this document tries to shed a bit
-of light onto this.
-
-
-
-Furthermore, it lists the member functions that can be queried to
-obtain information from an iterator.
-
-When using adative finite elements, the data structures often are
-extremely complex, requiring multiply indirected access and complex
-relationships between the different places where data is stored. The
-traditional way to handle this is to put all data which belongs
-together somehow into a structure or object; however, sometimes this
-can not be done efficiently, leading to either higher memory
-consumption (when you have to store many small data pieces and because
-you have to store a lot of pointers to other objects) or higher coding
-requirements (when you want to follow all those pointers to the object
-you desire).
-
-
-
-Therefore, we took over a concept which was already used in the C++
-standard template library, namely iterators and accessors. An accessor
-is an object that looks like if it had all the information stored but
-really only delegates the access to the right places; in fact, within
-this library, accessor store almost no information but know where to
-get everything from the complex and nested data structures the
-triangulation object offers. They have a simple interface which allows
-to extract any desired information from the triangulation and
-therefore makes access much easier and safer in three ways: first it
-performs range and parameter checking when in debugging mode; second,
-it encapsulates the access to the real data from the user, hiding the
-true data structures and thus allowing them without changing the user
-programs as well as those parts of the library which only act through
-accessors; and third by reducing the coding errors because of reduced
-complexity, since the chains of indirect access are replaces by simple
-commands.
-
-
-
-Iterators are a related concept: while accessors act as if they were
-structures with data contained in them, iterators act as if they were
-pointers pointing to accessors. You can dereference them using the
--> and * operators as with any other pointer, but they have more
-functionality. Essentially, they have overloaded ++ and -- operators,
-which allow the next or previous object pointed to to be just about
-anywhere in memory. A good introductory example are the iterators of
-the STL list<T> class, which act on a linked list
-as if it were a contiguous array. The iterators in this library go
-even a step further: they do not point to different objects but rather
-tell the associated accessor object which data to look at
-next.
-
-
-
-Additionally, there are different versions of the iterators which
-behave differently when being incremented or decremented: while
-raw iterators let the associated accessor point to any of the
-objects it is made for, normal iterators always point to
-objects which are in use. Usually, you will not want to see cells or
-lines which are there but are unused by the triangulation (these cells
-are somewhat like holes in the arrays of the triangulation; such
-things happen when unrefining a cell, the freed memory is then kept
-for a while because of better efficiency), so you will almost never
-want to use raw iterators; they are mostly there for internal use in
-the library. Normal iterators are almost like raw iterators, but
-whenever you call the ++ or -- operator, the look at what they are
-pointing at and skip all unused elements by increasing or decreasing
-the pointer as often as necessary to reach the next used object.
-
-
-
-Finally, there are active iterators, which are the most
-important ones. They are like normal iterators but only point to
-active cells or lines. By active we mean that they have no children;
-in the context in which this library is used, this is equivalent to
-the fact that we do computations on these cells, lines or
-whatever. Active iterators are normal iterators which skip over all
-non-active cells, lines, etc when being incremented or decremented.
-
-
-
-
-
-
-The triangulation accessor hierarchy
-
-
-
-The triangulation accessors are used to retrieve and store data in the
-triangulation. There exist accessors for lines in one and higher
-dimensions, accessors for quads in two and higher dimensions, and so
-on. The general naming scheme is as follows:
-
-
TriaAccessor<dim> is a general base class
- which is of not much interest.
-
TriaObjectAccessor<objectdim,spacedim> denotes
- an accessor for an object with dimension
- objectdim in a spacedim dimensional
- space. It is derived from TriaAccessor<spacedim>.
-
CellAccessor<dim> presents the special
- properties that a cell has. It is therefore derived from
- TriaObjectAccessor<spacedimdim,spacedim>.
-
-
-
-
-Their inheritance trees in the different space dimensions therefore
-look like this:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Some of the data is only useful if an object is a cell. For example,
-neighborship is only accessible for cells, while faces (e.g. lines in
-2D) can't access their neighbors (neither the adjacent cells, nor the
-other faces it touches). Therefore, the CellAccessor classes are
-derived from whatever object a cell is in the respective dimension,
-i.e. from lines in 1D, from quads in 2D, and so on.
-
-
-
-
-
-
-Typedefs of the Triangulation class to iterators and accessors
-
-
-
-The Triangulation<1> class declares the following data
-types which involve accessors:
-
-Since in this space dimension, quads are cells and lines are the faces
-of cells, the appropriate face and cell iterators are declared in
-terms of the underlying accessor types.
-
-
-
-
-In three space dimensions, the following types are declared by the
-Triangulation<3> class:
-
-Since in this space dimension, hexes are cells and quads are the faces
-of cells, the appropriate face and cell iterators are declared in
-terms of the underlying accessor types.
-
-
-
-
-
-
Functions offered by triangulation accessors
-
-
-We briefly state a short list of the functions offered by the
-triangulation accessors. For a more complete discussion of these
-functions, please refer to the online
-API
-documentation of the `grid' classes. These functions can be
-accessed by iterator->function() if iterator
-is a cell-, face-, hex-, quad-, or line-iterator. Some functions are
-not available for all iterator types, which is noted for the
-individual entries.
-
-
-
-
- level ()
-
-
-
- Return the hierarchical refinement level on
- which this object lives.
-
-
-
-
- index ()
-
-
-
- Return the index within the hierarchical refinement level on
- which this object lives.
-
-
-
-
- get_triangulation ()
-
-
-
- Return a reference to the triangulation to which this object belongs.
-
-
-
-
- vertex_index (vertex_number)
-
-
-
- Return the global index of one of the vertices of this object.
-
-
-
-
- vertex (vertex_number)
-
-
-
- Return the position of the respective vertex in space.
-
-
-
-
- used ()
-
-
-
- Return whether the object is used. The return value is
- true for all iterators that are either normal iterators
- or active iterators, only raw iterators can return
- false. Since raw iterators are only used in the
- interiors of the library, you will not usually need this function.
-
-
-
-
- set_used () / clear_used ()
-
-
-
- Set or clear the flag that describes whether the object is used by
- the triangulation. Only for internal use.
-
-
-
-
- user_flag_set ()
-
-
-
- Return whether the user flag is set.
-
-
-
-
- set_user_flag () / clear_user_flag ()
-
-
-
- Set or clear the flag that might be used by a user to indicate that
- something should happen with this object.
-
- Set or clear the user flag for this cell and all its descendants.
-
-
-
-
- user_pointer ()
-
-
-
- Query the pointer belonging to this object which may be used by
- the user to store additional information with this object.
-
-
-
-
- set_user_pointer () / clear_user_pointer ()
-
-
-
- Set or clear a pointer belonging to this object which may be used by
- the user to store additional information with this object.
-
-
-
-
- child (child_number)
-
-
-
- Return an iterator to one of the children of this object.
-
-
-
-
- child_index (child_number)
-
-
-
- Return the index of the child within the next finer level of the
- triangulation.
-
-
-
-
- set_children (index), clear_children ()
-
-
-
- Only for internal use.
-
-
-
-
- has_children ()
-
-
-
- Return whether an object has children, i.e. whether it is further
- refined. If it has children, then it is not active.
-
-
-
-
- max_refinement_depth ()
-
-
-
- Return how often this cell or one of its children is refined.
-
-
-
-
- boundary_indicator
-
-
-
- Return the number of the boundary at which this object lies, if the
- object has a dimension less than the space dimension.
-
-
-
-
- set_boundary_indicator (boundary_id)
-
-
-
- Set the number of the boundary to which this object belongs.
-
-
-
-
- at_boundary ()
-
-
-
- Return whether this object is at the boundary (if the dimension of
- the object is less than the space dimension), or one of its faces is
- at the boundary for cells.
-
-
-
-
- has_boundary_lines ()
-
-
-
- Return whether one of the lines bounding this cell is at the
- boundary. For 1d and 2d this is equivalent to at_boundary,
- in 3d, there are cases where bounding lines of a hex are at the
- boundary, while the faces are in the interior. (Only for cell
- iterators.)
-
-
-
-
- diameter ()
-
-
-
- Return the diameter of the object.
-
-
-
-
- center ()
-
-
-
- Return the coordinates of the center of the object.
-
-
-
-
- barycenter ()
-
-
-
- Return the coordinates of the barycenter of the object.
-
-
-
-
- measure ()
-
-
-
- Return the length, area, or volume of an object, depending on the
- dimension of the object.
-
-
-
-
- point_inside (point)
-
-
-
- Return whether the given point is inside this cell, or rather the
- (bi-, tri-)linearly mapped image of the unit cell with the vertices
- of this cell. (Only for cell iterators.)
-
-
-
-
- number_of_children ()
-
-
-
- Accumulated number of children and their children.
-
-
-
-
- line (line_number)
-
-
-
- Return an iterator to one of the bounding lines of this object. (Only
- for iterators to quadrilaterals and hexahedra.)
-
-
-
-
- line_index (line_number)
-
-
-
- Return the index of one of the bounding lines of this object. The
- level index is the same as that of the present object. (Only
- for iterators to quadrilaterals and hexahedra.)
-
-
-
-
- quad (quad_number)
-
-
-
- Return an iterator to one of the bounding quadrilaterals of this
- object. (Only for iterators to hexahedra.)
-
-
-
-
- line_index (line_number)
-
-
-
- Return the index of one of the bounding quadrilaterals of this
- object. The level index is the same as that of the present
- object. (Only for iterators to hexahedra.)
-
-
-
-
- neighbor (neighbor_number)
-
-
-
- Return iterator to one of the neighbors. (Only for cell iterators.)
-
- Return number and level of one of the neighbors. (Only for cell
- iterators.)
-
-
-
-
- set_neighbor ()
-
-
-
- Set a neighbor. Only for internal use. (Only for cell iterators.)
-
-
-
-
- neighbor_of_neighbor (neighbor_number)
-
-
-
- Return the how-manyth neighbor the present cell is of the neighbor
- specified by the argument. (Only for cell iterators.)
-
-
-
-
- at_boundary (face_number)
-
-
-
- Return whether this cell's given face is at the boundary. (Only for
- cell iterators.)
-
-
-
-
- refine_flag_set ()
-
-
-
- Return whether the refinement flag is set or not for the present
- cell. (Only for cell iterators.)
-
-
-
-
- set_refine_flag () / clear_refine_flag ()
-
-
-
- Set/clear the flag indicating refinement. (Only for cell iterators.)
-
-
-
-
- coarsen_flag_set ()
-
-
-
- Query whether the flag indicating coarsening is set for this
- object. (Only for cell iterators.)
-
-
-
-
- set_coarsen_flag () / claer_coarsen_flag ()
-
-
-
- Set/clear the flag indicating coarsening. (Only for cell iterators.)
-
-
-
-
- face (face_number)
-
-
-
- Return an iterator to one of the faces of this cell, if dimension is
- greater than one. (Only for cell iterators.)
-
-
-
-
- material_id ()
-
-
-
- Return the material number of this cell. (Only for cell iterators.)
-
-
-
-
- set_material_id (id)
-
-
-
- Set the material number of this cell. (Only for cell iterators.)
-
-
-
-
- active ()
-
-
-
- Return whether this cell is active, i.e. has no children. (Only for
- cell iterators.)
-
-
-
-
-
-
-
-The degree of freedom accessor hierarchy
-
-
-
-The DoFAccessor classes provide access to the degree of freedom
-information associated with cells, lines, etc. The inheritance
-relationship is much the same as for the triangulation accessor
-classes, as can be seen from the following pictures.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-The main difference to the triangulation accessor hierarchy is that we
-want the DoF accessors to provide the information about the degrees of
-freedom, but for convenience also that of the triangulation. This way,
-we can get all the information from one object rather than needing two
-which work in parallel, and the class hierarchy shown above does
-exactly this.
-
-
-
-For the named reason, it is necessary to derive the
-DoFObjectAccessor<1,dim> from the
-TriaObjectAccessor<1,dim> class of the
-triangulation accessor hierarchy, as well as the
-DoFObjectAccessor<2,dim> from the
-TriaObjectAccessor<2,dim>. However, we would also
-like to include the functionality added by the CellAccessor class;
-this is done through some template magic: when in one space dimension,
-the DoFObjectAccessor<1,1> is derived from
-CellAccessor<1>, while when in higher dimensions, it is derived
-from DoFObjectAccessor<1,dim>; the same applies for
-the DoFObjectAccessor<2,dim> class. Note that this
-way, CellAccessor is always a base class to DoFCellAccessor and the
-inheritance lattice is dimension dependant; the exact way of achieving
-this is complicated but not of interest here.
-
-
-
-
-
-Typedefs of the DoFHandler class to iterators and accessors
-
-
-
-The typedefs done by the DoFHandler class are much alike those done by
-the Triangulation class. They could be summarized as follows:
-
-Since degree of freedom accessors are derived from triangulation
-accessors, they inherit the functionality of these accessors, but add
-some of their own. We only list the additional functionality
-below. For a full reference, including data types of parameters and
-return values, please refer to the general
-API
-documentation of the `DoF' classes.
-
-
-
-
-
- dof_index (dof_number)
-
-
-
- Return the global index of one of the DoFs on this object.
-
-
-
-
- set_dof_index (dof_number, index)
-
-
-
- Set the index of a DoF. Only for internal use.
-
-
-
-
- vertex_dof_index (vertex_number, dof_number)
-
-
-
- Return the index of one of the DoFs on one of the vertices of this
- object.
-
-
-
-
- set_vertex_dof_index (...)
-
-
-
- Set the vertex DoF index. Only for internal use.
-
-
-
-
- get_dof_indices (vector_of_indices)
-
-
-
- Return a vector of the indices of the DoFs on this object.
-
-
-
-
- get_dof_values (global_values, local_values)
-
-
-
- Extract and return the values of the DoFs on this object from a data
- vector defined on all DoFs.
-
-
-
-
- set_dof_values (local_values, global_values)
-
-
-
- Reverse operation: take values of DoFs on this object, and set them
- into a global data vector.
-
- Add the elements of local_source, defining values of the degrees of
- freedom on this object, to the elements of the global data
- vector. The two parameters may be either vectors or matrices.
-
- Interpolate the global field to this cell. If this cell is active,
- then this is the restriction of the global field to this cell,
- but when this cell is not active then it is the interpolation of the
- restriction of the field to the child cells and the interpolation to
- the present one. (For cell iterators only.)
-
- Inverse operation: interpolate the local values to the children (if
- this cell is not active) and set the respective values in the global
- vector. (For cell iterators only.)
-