%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% intro.html was generated from this file
-%% with latex2html and some handwork
+%% with latex2html and some hand work
%% (copying out the relevant parts from the
%% generated html file, replacing IMG=
%% by the proper path)
In this example, our aims are the following:
\begin{itemize}
- \item solve the advection equation $-\beta \cdot \nabla u = f$;
+ \item solve the advection equation $\beta \cdot \nabla u = f$;
\item show how we can use multiple threads to get quicker to
the desired results if we have a multi-processor machine;
\item develop a simple refinement criterion.
While the second aim is difficult to describe in general terms without
reference to the code, we will discuss the other two aims in the
following. The use of multiple threads will then be detailed at the
-relevant places within the program.
+relevant places within the program. Furthermore, there exists a report on this
+subject, which is also available online from the ``Documentation'' section of
+the deal.II homepage.
\paragraph{Discretizing the advection equation.}
In the present example program, we shall numerically approximate the
solution of the advection equation
$$
- -\beta \cdot \nabla u = f,
+ \beta \cdot \nabla u = f,
$$
where $\beta$ is a vector field that describes advection direction and
speed (which may be dependent on the space variables), $f$ is a source
as $\vec n$ points outward, the scalar product with $\beta$ can only
be negative if the transport direction $\beta$ points inward, i.e. at
the inflow boundary. The mathematical theory states that we must not
-pose any boundary condition an the outflow part of the boundary.
+pose any boundary condition on the outflow part of the boundary.
As it is stated, the transport equation is not stably solvable using
the standard finite element method, however. The problem is that
-
(\beta\cdot \vec n u_h, v_h)_{\partial\Omega_-}
=
- (f, v_h + \delta \beta\cdot\nabla v_h).
+ (f, v_h + \delta \beta\cdot\nabla v_h)_\Omega
-
- (\beta\cdot \vec n g, v_h)_{\partial\Omega_-}
+ (\beta\cdot \vec n g, v_h)_{\partial\Omega_-}.
$$
Note that we have included the inflow boundary values into the weak
form, and that the respective terms to the left hand side operator are
(\beta\cdot \vec n \varphi_i, \varphi_j)_{\partial\Omega_-},
$$
with basis functions $\varphi_i,\varphi_j$. However, this is a
-pitfall that happens to every numerical analysist at least once
+pitfall that happens to every numerical analyst at least once
(including the author): we have here expanded the solution
$u_h = u_i \varphi_i$, but if we do so, we will have to solve the
problem
There remains the solution of this linear system of equations. As the
resulting matrix is no more symmetric positive definite, we can't
-employ the usual CG method any more. Suitable for the solution is
+employ the usual CG method any more. Suitable for the solution of
systems as the one at hand is the BiCGStab (bi-conjugate gradients
stabilized) method, which is also available in deal.II, so we will use
it.
&=&
\left\{
\begin{array}{ll}
- \frac 1{10 s^d} &
- \text{for $|\vec x-\vec x_0|<s$}, \\
- 0 & \text{else},
+ \frac 1{10 s^d} &
+ \text{for $|\vec x-\vec x_0|<s$}, \\
+ 0 & \text{else},
\end{array}
\right.
\qquad\qquad
diagonal direction from lower left to upper right, but with a wiggle
structure superimposed.
\item The right hand side adds to the field generated by the inflow
-boundary conditions a bulb in the lower left corner, which is the
+boundary conditions a bulb in the lower left corner, which is then
transported along.
\item The inflow boundary conditions impose a weighted sinusoidal
-structure that is transorted along with the flow field. Since $|\vec
+structure that is transported along with the flow field. Since $|\vec
x|\ge 1$ on the boundary, the weighting term never gets very large.
\end{itemize}
$$
where $[\partial n u_h]$ denotes the jump of the normal derivatives
across a face $\gamma\subset\partial K$ of the cell $K$. It can be
-shown that this error indicator uses a discrete analogon of the second
+shown that this error indicator uses a discrete analogue of the second
derivatives, weighted by a power of the cell size that is adjusted to
the linear elements assumed to be in use here:
$$
Laplace's equation), so the error indicator described above is not
really applicable. We will thus develop an indicator that is based on
a discrete approximation of the gradient. Although the gradient often
-does not exist, this is the only criterion available to us, and the
-only one as long as we use continuous elements as in the present
+does not exist, this is the only criterion available to us, at least
+as long as we use continuous elements as in the present
example. To start with, we note that given two cells $K$, $K'$ of
which the centers are connected by the vector $\vec y_{KK'}$, we can
approximate the directional derivative of a function $u$ as follows: