\section{Installation of \eWoms} \label{quick-install}

This section describes a way of installing \eWoms that works in most
cases, but depending on your operating system of choice, \Cplusplus
compiler and features which you need, some tweaks are possibly
required. As a pre-requisite it is assumed, that you are using a
recent Linux distribution that has the appropriate development
packages (\Cplusplus compiler, autoconf, automake, libtool and
pkg-config amongst possibly others) installed, but that you did not
install \Dune via distribution provided packages.  If you need more
information, or if you have \Dune already installed, please have a
look at the detailed installation instructions in Section
\ref{install}.

\subsection{Retrieving the code}


You can retrieve all required \Dune modules by either downloading and
unpacking the tarballs for the \Dune-2.2 release followed by
downloading and unpacking the tarball for the \eWoms 2.2 release, or
by retrieving the code directly from their respective source-code
repositories. If you decide to use the first method, make sure to
unpack all tarballs into the same directory; if you prefer the second
method, make sure that you have the \texttt{git} version control
system with the SVN plug-in installed on your computer and enter the
following code snippet into a terminal:
\begin{lstlisting}[style=Bash]
cd $YOUR_DUNE_ROOT_DIRECTORY
for DUNE_MODULE in common geometry grid istl localfunctions; do \
     git svn clone https://svn.dune-project.org/svn/dune-$DUNE_MODULE/branches/release-2.2 $DUNE_MODULE \
done
git clone --branch "release-2.2" git://github.com/OPM/ewoms.git
\end{lstlisting}
%$

\subsection{Building \Dune and \eWoms}
\label{buildIt}

\eWoms is a \Dune module and is recommended to build it using the \Dune
build system~\cite{DUNE-BS}. To simplify things, \eWoms ships with a
few option files for \Dune's build script, \texttt{dunecontrol}. If
you are using \eWoms the first time, we recommend to use the options
optimized for the debugging experience, \texttt{debug.opts}:

\begin{lstlisting}[style=Bash]
cd $YOUR_DUNE_ROOT_DIRECTORY
./dune-common/bin/dunecontrol --opts=ewoms/debug.opts all
\end{lstlisting}
%$

Once you have finished developing and testing your own code on
small-scale problems, re-compile everything with compiler
optimizations enabled before a production run in order to speed things
up by a factor of approximately 10:

\begin{lstlisting}[style=Bash]
cd $YOUR_DUNE_ROOT_DIRECTORY
./dune-common/bin/dunecontrol --opts=ewoms/optim.opts all
\end{lstlisting}
%$

Sometimes it is necessary to have additional options which might be
specific to the operating system of your choice, or if you have
special requirements.  For this reason, the option files mentioned
above should be rather understood as a starting point for your own
option files than as something fixed; feel free to copy and modify
them. To avoid confusion, it is helpful to rename your
customized option files, though.

%%% Local Variables:
%%% mode: latex
%%% TeX-master: "ewoms-handbook"
%%% End:
