From 0979740d13423f409fa3d8bee1a5deb019d82cb8 Mon Sep 17 00:00:00 2001
From: Christoph Grueninger <christoph.grueninger@iws.uni-stuttgart.de>
Date: Wed, 19 Mar 2014 07:14:21 +0000
Subject: [PATCH] [handbook] Update install instructions.

Remove list of Ubuntu packages, add link to
user wiki instead.
This fixes FS#205.


git-svn-id: svn://svn.iws.uni-stuttgart.de/DUMUX/dumux/trunk@12638 2fb0f335-1f38-0410-981e-8018bf24f1b0
---
 doc/handbook/dumux-handbook.bib        |   6 ++
 doc/handbook/dumux-handbook.tex        |   6 +-
 doc/handbook/install.tex               | 138 ++++++++++---------------
 doc/handbook/spatialdiscretization.tex |   4 +-
 4 files changed, 64 insertions(+), 90 deletions(-)

diff --git a/doc/handbook/dumux-handbook.bib b/doc/handbook/dumux-handbook.bib
index a232f3a171..42e6aed67e 100644
--- a/doc/handbook/dumux-handbook.bib
+++ b/doc/handbook/dumux-handbook.bib
@@ -973,6 +973,12 @@
   key = {DUNE-USER-WIKI}
 }
 
+@MISC{DUNE-WIKI-PREREQUISITE-SOFTWARE,
+  title = {{DUNE} user wiki, prerequisite software:
+           \url{http://users.dune-project.org/projects/main-wiki/wiki/Installation_prerequisite_software}},
+  key = {DUNE-WIKI-PREREQUISITE-SOFTWARE}
+}
+
 @MISC{FENICS-HP,
   title = {The {FEniCS} Project: \url{http://www.fenicsproject.org/}},
   key = {FENICS}
diff --git a/doc/handbook/dumux-handbook.tex b/doc/handbook/dumux-handbook.tex
index 2ca4d78b74..dfe9f810f3 100644
--- a/doc/handbook/dumux-handbook.tex
+++ b/doc/handbook/dumux-handbook.tex
@@ -1,6 +1,7 @@
 \documentclass[11pt,a4paper,headinclude,footinclude,DIV16]{scrreprt}
 \usepackage[automark]{scrpage2}
 \usepackage[ansinew]{inputenc}
+\usepackage[english]{babel}
 \usepackage{amsmath}
 \usepackage{amsfonts}
 \usepackage{amssymb}
@@ -41,7 +42,6 @@
 \lstset{showstringspaces=false,
  breaklines=true}
 
-\usepackage{hyperref}
 \usepackage{makeidx}
 \usepackage{graphicx}
 \usepackage{xspace}
@@ -68,9 +68,9 @@
 }
 \usepackage{layout}
 
-\usepackage[english]{babel}
+\usepackage{hyperref}
 
-\DeclareGraphicsExtensions{.eps, .jpg}
+\DeclareGraphicsExtensions{.pdf, .jpg}
 
 % Dune logo
 \newcommand{\Dune}{{DUNE}\xspace}
diff --git a/doc/handbook/install.tex b/doc/handbook/install.tex
index 412fb8ba58..fdf5afc347 100644
--- a/doc/handbook/install.tex
+++ b/doc/handbook/install.tex
@@ -13,7 +13,6 @@ Details regarding the installation of \Dune are provided on the \Dune website \c
 If you are interested in more details about the build system that is used,
 they can be found in the {\Dune} Buildsystem Howto \cite{DUNE-BS}.
 
-
 All \Dune modules, including \Dumux, get extracted into a common directory, as it is done in an ordinary \Dune installation. 
 We refer to that directory abstractly as {\Dune} root directory or, in short, as {\Dune}-Root. 
 If it is used as directory's path of a shell command it is typed as \texttt{\Dune-Root}. 
@@ -33,132 +32,101 @@ by the shell-command \texttt{dunecontrol} which is part of the \Dune build syste
 \section{Prerequisites} \label{sec:prerequisites}
 The GNU tool chain of \texttt{g++}  and the tools of the GNU build system \cite{GNU-BS}, also known as GNU autotools
 (\texttt{autoconf}, \texttt{automake}, \texttt{autogen}, \texttt{libtool}), as well as \texttt{make}
-must be available in a recent version. For example Ubuntu Linux provides these tools with the
-packages \texttt{autoconf}, \texttt{automake}, \texttt{libtool}
-and the \Cplusplus compiler \texttt{g++} and \texttt{make} are contained in \texttt{build-essential}. Packages required for Ubuntu users are listed in Table \ref{tbl:ubuntu-pkg}. For the installation of \Dumux using \texttt{dune-pdelab}, \texttt{dune-multidomain}, \texttt{dune-multidomaingrid} and the external packages UG and SuperLU on SUSE, the package \texttt{csh} was not required. Some of the package names differ from Ubuntu to SUSE, so that \texttt{boost-devel}, \texttt{gcc-c++} and \texttt{make} have to be installed (Nov. 2012).
-
-At the time of writing this manual, it is expected that \texttt{g++} of version $\geqslant$ 4.5.0, \texttt{automake} of version $\geqslant$ 1.9,
-\texttt{autoconf} of version $\geqslant$ 2.65, \texttt{autogen} of version $\geqslant$ 5.9.7,  \texttt{libtool} of version $\geqslant$ 2.2.6
-and GNU \texttt{make} version $\geqslant$ 3.81 should do their job for building \Dumux.
+must be available in a recent version. For a list of prerequisite software packages to install,see
+\cite{DUNE-WIKI-PREREQUISITE-SOFTWARE}.
 
 The building of included documentation like this handbook requires \LaTeX{} and auxiliary tools
-like \texttt{dvipdf} and \texttt{bibtex}. One usually chooses a \LaTeX{} distribution like \texttt{texlive} for this purpose.
+\texttt{bibtex}. One usually chooses a \LaTeX{} distribution like \texttt{texlive} for this purpose.
 It is possible to switch off the building of the documentation by setting the switch \texttt{--disable-documentation} 
-in the \texttt{CONFIGURE\_FLAGS} of the building options (see Chapter \ref{buildIt}).
+in the \texttt{CONFIGURE\_FLAGS} of the building options, see Chapter \ref{buildIt}.
 Additional parts of documentation are contained within the source code files as special formatted comments.
-Extracting them can be done using \texttt{doxygen} (version $\geqslant$ 1.7.2 works). 
-See for this optional step Section \ref{sec:build-doxy-doc}.
+Extracting them can be done using \texttt{doxygen}, cf. Section \ref{sec:build-doxy-doc}.
 
 Depending on whether you are going to use external libraries and modules for additional \Dune features, 
 additional software packages may be required. Some hints on that are given in Section \ref{sec:external-modules-libraries}.
 
-For the extraction of the content of tar files, the GNU version of \texttt{tar} is used.
-The Subversion (svn) software repositories can be accessed with help of a subversion client.
-
-\begin{table}
-\centering
-\caption{Ubuntu package names for Ubuntu 12.04}
-\begin{tabular}{llll}
-\toprule
-\textbf{purpose} & \textbf{package names} \\
-\midrule
-general: & subversion & git & gfortran \\
-& automake & build-essential & libboost-all-dev \\
-& doxygen & csh\\
-\midrule
-for alberta: & freeglut3-dev &  \\
-\midrule
-for parallel use: & openmpi-common & mpi-default-bin & mpi-default-dev \\
-\midrule
-for ug parallel: & flex & bison & \\
-\midrule
-for alberta parallel: & libblas-dev &\\
-\midrule
-for debugging: & valgrind &\\
-\bottomrule
-\end{tabular}
-\label{tbl:ubuntu-pkg}
-\end{table}
+Subversion (SVN) and a Git clients must be installed to download modules from Subversion and Git repositories.
 
 \section{Obtaining source code for \Dune and \Dumux}
-As stated above, the \Dumux release 2.2.0 and trunk (developer tree) are based on the \Dune release 2.2.0, 
-comprising the core modules \texttt{dune-common}, \texttt{dune-grid}, \texttt{dune-geometry}, \texttt{dune-istl} and \texttt{dune-localfunctions}.
-% and the external dune module \texttt{dune-pdelab}.
-For working with \Dumux, these modules are required.
+As stated above, the \Dumux release and trunk (developer tree) are based on the most recent
+\Dune release 2.3, comprising the core modules dune-common, dune-geometry, dune-grid,
+dune-istl and dune-localfunctions. For working with \Dumux, these modules are required. The
+external module dune-PDELab is recommended and required for several \Dumux features.
 
 Two possibilities exist to get the source code of \Dune and \Dumux.
-Firstly, \Dune and \Dumux can be downloaded as tar files from the respective \Dune and \Dumux website. They have to be extracted as described in the next paragraph.
+Firstly, \Dune and \Dumux can be downloaded as tar files from the respective \Dune and \Dumux website.
+They have to be extracted as described in the next paragraph.
 Secondly, a method to obtain the most recent source code (or, more generally, any of its previous revisions) by direct access 
-via Internet to the software repositories of the revision control system is described in the subsequent part. 
+to the software repositories of the revision control system is described in the subsequent part. 
 
 However, if a user does not want to use the most recent version,
-certain version tags (i.\,e. special names), version numbers and even software branches are means 
+certain version tags or branches (i.\,e. special names) are means 
 of the software revision control system to provide access to different versions of the software.
 
 \paragraph{Obtaining the software by installing tar files}
 The slightly old-fashionedly named tape-archive-file, shortly named tar file or tarball, is a common file format for distributing collections of files contained within these archives.
 The extraction from the tar files is done as follows: 
-Download the tarballs from the respective \Dune (version 2.2.0) and \Dumux websites to a certain folder in your file system.
-Create the {\Dune} root directory, named DUMUX in the example below. Then extract the content of the tar files, e.\,g. with the command-line program \texttt{tar}.
+Download the tarballs from the respective \Dune (version 2.3) and \Dumux websites to a certain folder in your file system.
+Create the {\Dune} root directory, named \texttt{dune} in the example below.
+Then extract the content of the tar files, e.\,g. with the command-line program \texttt{tar}.
 This can be achieved by the following shell commands. Replace \texttt{path\_to\_tarball} with the directory name where the downloaded files are actually located.
-After extraction, the actual name of the \emph{dumux root directory} is \texttt{dumux-2.2}. 
+After extraction, the actual name of the \emph{dumux root directory} is \texttt{dumux-2.5}
+(or whatever version you downloaded).
 
 \begin{lstlisting}[style=Bash]
-$ mkdir DUMUX
-$ cd DUMUX
-$ tar xzvf path_to_tarball_of/dune-common-2.2.0.tar.gz 
-$ tar xzvf path_to_tarball_of/dune-grid-2.2.0.tar.gz 
-$ tar xzvf path_to_tarball_of/dune-geometry-2.2.0.tar.gz 
-$ tar xzvf path_to_tarball_of/dune-istl-2.2.0.tar.gz 
-$ tar xzvf path_to_tarball_of/dune-localfunctions-2.2.0.tar.gz 
-$ tar xzvf path_to_tarball_of/dumux-2.2.tar.gz
+$ mkdir dune
+$ cd dune
+$ tar xzvf path_to_tarball_of/dune-common-2.3.0.tar.gz 
+$ tar xzvf path_to_tarball_of/dune-geometry-2.3.0.tar.gz 
+$ tar xzvf path_to_tarball_of/dune-grid-2.3.0.tar.gz 
+$ tar xzvf path_to_tarball_of/dune-istl-2.3.0.tar.gz 
+$ tar xzvf path_to_tarball_of/dune-localfunctions-2.3.0.tar.gz 
+$ tar xzvf path_to_tarball_of/dumux-2.5.tar.gz
 \end{lstlisting}
 
-Furthermore, if you wish to install the optional \Dune Grid-Howto which provides a tutorial on the Dune grid interface:
-
-\begin{lstlisting}[style=Bash]
-$ tar xzvf path_to_tarball_of/dune-grid-howto-2.2.0.tar.gz
-\end{lstlisting}
+Furthermore, if you wish to install the optional \Dune Grid-Howto which provides a tutorial
+on the Dune grid interface, act similar.
 
 \paragraph{Obtaining \Dune and \Dumux from software repositories} 
-
 Direct access to a software revision control system for downloading code can be of advantage for the user later on. 
-It can be easier for him to keep up with code changes and to receive important bug fixes using the update command of the revision control system. 
-\Dune and \Dumux use Apache Subversion for their software repositories. To access them a certain program is needed which is referred to here shortly as subversion client. 
-In our description, we use the subversion client of the Apache Subversion software itself, which is a command-line tool named \texttt{svn}. 
-It is available for most Linux and Unix distributions as software package.
+It can be easier for him to keep up with code changes and to receive important bug fixes using
+the update or pull command of the revision control system. \Dune uses Git and \Dumux uses Apache
+Subversion for their software repositories. To access them a certain programs are needed which
+is referred to here shortly as Subversion client or Git client. In our description, we use the
+Subversion client \texttt{svn} of the Apache Subversion software itself.
 
 In the technical language of Apache Subversion \emph{checking out a certain software version} means nothing more then fetching 
-a local copy from the software repository and laying it out in the file system.  In addition to the software some more files for the use of the software revision control system itself are created. They are kept in directories named \texttt{.svn} and can be found in each subfolder which is under version control.
-If you have developer access to \Dumux, it is also possible to do the opposite, i.\,e. to load up a modified revision of software into the software repository. This is usually termed as \emph{software commit}.
+a local copy from the software repository and laying it out in the file system.
+In addition to the software some more files for the use of the software revision
+control system itself are created. If you have developer access to \Dumux, it is
+also possible to do the opposite, i.\,e. to load up a modified revision of software
+into the software repository. This is usually termed as \emph{commit}.
 
 The installation procedure is done as follows:
-Create a  {\Dune} root directory, named \texttt{DUMUX} in the lines below.
+Create a  {\Dune} root directory, named \texttt{dune} in the lines below.
 Then, enter the previously created directory and check out the desired modules. 
-As you see below, the check-out uses two different servers for getting the sources, one for \Dune and one for {\Dumux}.
-The \Dune modules of the stable 2.2 release branch are checked out as described on the \Dune website \cite{DUNE-DOWNLOAD-GIT}:
+As you see below, the check-out uses two different servers for getting the sources,
+one for \Dune and one for {\Dumux}.
+The \Dune modules of the stable 2.3 release branch are checked out as described
+on the \Dune website \cite{DUNE-DOWNLOAD-GIT}:
 
 \begin{lstlisting}[style=Bash]
 $ mkdir DUMUX
 $ cd DUMUX
-$ git clone http://git.dune-project.org/repositories/dune-common/releases/2.2
-$ git clone http://git.dune-project.org/repositories/dune-geometry/releases/2.2
-$ git clone http://git.dune-project.org/repositories/dune-grid/releases/2.2
-$ git clone http://git.dune-project.org/repositories/dune-istl/releases/2.2
-$ git clone http://git.dune-project.org/repositories/dune-localfunctions/releases/2.2
+$ git clone http://git.dune-project.org/repositories/dune-common/releases/2.3
+$ git clone http://git.dune-project.org/repositories/dune-geometry/releases/2.3
+$ git clone http://git.dune-project.org/repositories/dune-grid/releases/2.3
+$ git clone http://git.dune-project.org/repositories/dune-istl/releases/2.3
+$ git clone http://git.dune-project.org/repositories/dune-localfunctions/releases/2.3
+$ git clone http://git.dune-project.org/repositories/dune-pdelab/releases/1.1
 \end{lstlisting}
 
 The newest and maybe unstable developments are also provided in these repositories and is called \emph{master}.
 Please check the \Dune website \cite{DUNE-DOWNLOAD-GIT} for further information. However, the current \Dumux release
-is based on the stable 2.2 release and it might not compile without further adaptations using the the newest versions of \Dune.
-
-The additional module \texttt{dune-grid-howto} is a tutorial which provides information about the \Dune grid interface.
-It may give you an idea of how some abstractions in \Dune are done.
-The installation of \texttt{dune-grid-howto} is optional and is not required by \Dumux. It is done by: 
+is based on the stable 2.3 release and it might not compile without further adaptations using the the newest versions of \Dune.
 
-\begin{lstlisting}[style=Bash]
-$ git clone http://git.dune-project.org/repositories/dune-grid-howto/releases/2.2
-\end{lstlisting}
+Furthermore, if you wish to install the optional \Dune Grid-Howto which provides a tutorial
+on the Dune grid interface, act similar.
 
 The \texttt{dumux} module is checked out as described below (see also the \Dumux website \cite{DUMUX-HP}).
 Its file tree has to be created in the \Dune-Root directory, where the \Dune modules have also been checked out to. Subsequently, the next command
diff --git a/doc/handbook/spatialdiscretization.tex b/doc/handbook/spatialdiscretization.tex
index b020afb0d3..5fd57dff46 100644
--- a/doc/handbook/spatialdiscretization.tex
+++ b/doc/handbook/spatialdiscretization.tex
@@ -9,7 +9,7 @@ The so called box method unites the advantages of the finite-volume (FV) and fin
 
 First, the model domain $G$ is discretized with a FE mesh consisting of nodes i and corresponding elements $E_k$. Then, a secondary FV mesh is constructed by connecting the midpoints and barycenters of the elements surrounding node i creating a box $B_i$ around node i (see Figure \ref{pc:box}a). 
 
-\begin{figure} [h]
+\begin{figure} [ht]
 \includegraphics[width=0.8\linewidth,keepaspectratio]{PNG/box_disc.png}
 \caption{\label{pc:box} Discretization of the box method}
 \end{figure}
@@ -126,7 +126,7 @@ The consideration of the time discretization and inserting $W_j = 1$ finally lea
 
 \subsection{Cell centered finite volume method - A short introduction}\label{cc}
 
-\begin{figure} [h]
+\begin{figure} [ht]
 \centering
 \includegraphics[width=0.4\linewidth,keepaspectratio]{PNG/cc_disc.png}
 \caption{\label{pc:cc} Discretization of the cell centered finite volume method}
-- 
GitLab