\section{Installation of \ALBERTA and file organization}%
\label{S:install}%

\subsection{Installation}%
\idx{installation|(}

%Enclosed on CD you will find a gzipped archive file
%\code{alberta2-2.0.tar.gz} for a UNIX/Linux operating system. 
The \ALBERTA-distribution comes in form a compressed tar archives
\bv\begin{verbatim}
alberta-VERSION.tar.bz2
\end{verbatim}\ev
or
\bv\begin{verbatim}
alberta-VERSION.tar.gz,
\end{verbatim}\ev
where \code{VERSION} has to be replaced by the respective version of
the distribution, as you might have guessed. It includes all sources
of \ALBERTA, the model implementations of the examples described in
Chapter~\ref{CH:model}, and tools for the installation. \ALBERTA can
only be installed on a Unix-like operating system.

The file \code{alberta-VERSION.tar.\{gz|bz2\}} has to be unpacked.
This creates a sub-directory \code{alberta-VERSIONS/} in the current
directory with all data of \ALBERTA. Changing to this sub-directory,
the installation procedure is fully explained in the \code{README}.
For a platform independent installation the GNU configure tools are
used, documented in the file \code{INSTALL}. Installation options for
the \code{configure} script can be added on the command line and are
described in the \code{README} file or printed with the command
\code{configure --help}.

If \ALBERTA should use one of the visualization packages gltools,
GRAPE, OpenDX, or GMV, these have to be installed first, see the corresponding
web sites 
%%
\bv\begin{flushleft}\small
\url{http://www.wias-berlin.de/software/gltools/}\\
\url{http://www.iam.uni-bonn.de/sfb256/grape/}\\
\url{http://www-xdiv.lanl.gov/XCM/gmv/GMVHome.html}\\
\url{http://www.opendx.org/}
\end{flushleft}\ev
%%
for obtaining the software. Paths to their installation directories
must be passed as arguments to the \code{configure} script. As a hint:
the simplest way is to install add-on packages following the layout
advocated by the GNU tools, i.e. libraries go to \code{PREFIX/lib/},
header files to \code{PREFIX/include/} and so on, where \code{PREFIX}
stands for a leading path-component common to all installation
directories. There is also support for other visualization packages,
but the packages mentioned above have to be installed prior to the
\ALBERTA package, because \ALBERTA needs access to header-files and
software libraries that come with those packages to use them.
\idx{installation|)}

\subsection{File organization}%
\idx{file organization|(} Using the \ALBERTA library, the global
dimension $n$ enters in an application only as a symbolic constant
\code{DIM\_OF\_WORLD}. Thus, the code is usually the same, regardless
of the dimension of the ambient space. Nevertheless, the object files
do depend on the dimension, since \code{DIM\_OF\_WORLD} is
preprocessor macro constant (defining the length of vectors, e.g.).
Hence, all object files have to be rebuilt, when changing the
dimension. To make sure that this is done automatically we use the
following file organization, which is also reflected in the structure
of \code{DEMO/src/} sub-directory with the implementation of the model
problems. We use the sub-directories
%%
\bv\begin{verbatim}
 ./1d/ ./2d/ ./3d/ ./4d/ ./5d/ ./Common/
\end{verbatim}\ev
for organizing files. The directory \code{Common/} contains all source
files and header files that do not (or only slightly) depend on the
dimension. The directories \code{1d/}, \code{2d/}, \code{3d/},
\code{4d/} and \code{5d/} contain dimension-dependent data, like macro
triangulations files and parameter files. Finally, a
dimension-dependent \code{Makefile} is automatically created in
\code{DEMO/src/*d} during installation of \ALBERTA. These
\code{Makefile}s contain all information about \ALBERTA header files
and all libraries used. In the 1d, 2d, or 3d sub-directories, the
programs of the model problems for the corresponding space dimension
are then generated by executing \code{make ellipt}, \code{make
  nonlin}, and \code{make heat}. There are additional demo programs,
some of them are tied to a specific value of \DOW. This is described
in the file \code{README} in the top-level directory of the
demo-package.
%%
\idx{file organization|)}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "alberta-man"
%%% End: 

