
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Copyright (c) 2003-2016 by The University of Queensland
% http://www.uq.edu.au
%
% Primary Business: Queensland, Australia
% Licensed under the Apache License, version 2.0
% http://www.apache.org/licenses/LICENSE-2.0
%
% Development until 2012 by Earth Systems Science Computational Center (ESSCC)
% Development 2012-2013 by School of Earth Sciences
% Development from 2014 by Centre for Geoscience Computing (GeoComp)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\documentclass{esysdoc}
\usepackage{makeidx} %already in the esysdoc class but putting it here prompts kile to run makeidx

% grab the handy definitions and \usepackage statements etc
\input{user_defs}
\usepackage{upquote} %used to prevent LaTeX from mucking up '
\usepackage{graphicx, subfigure}

\input{verinfo}
% \newcommand{\hackscore}{_}

% title, author, etc stuff
\title{\emph{esys-Escript} User's Guide:\\ Solving Partial Differential Equations\\ with Escript and Finley}
\author{Lutz Gross\etal~(Editor)}
\authoraddress{
Centre for Geoscience Computing (GeoComp) \\
School of Earth Sciences \\
The University of Queensland \\
Brisbane, Australia \\
%Email: \email{esys@esscc.uq.edu.au}
}
\date{\reldate}
\release{\relver}
%\release{development}

\makeindex

% the actual start of the document
\begin{document}

\maketitle

% This must be after the make title or latex markup will end up in the title
\ifpdf
\pdfinfo{
/Author (Lutz Gross et al. (Editor))
/Title (esys-Escript User's Guide)
/Keywords (escript, PDEs)
}
\fi


\input{copyrights}
\input{docguide}

\begin{abstract}\pdfbookmark[0]{Abstract}{abstract}%
\escript is a \PYTHON-based environment for implementing mathematical models, in particular those based on coupled, non-linear, time-dependent partial differential equations.
It consists of five major components:
\begin{itemize}
\item \escript core library
\item finite element solvers \finley, \dudley, \ripley, and \speckley (which
    use fast vendor-supplied solvers or the included \PASO linear solver library)
\item the meshing interface \pycad
\item a model library
\item an inversion module.
\end{itemize}

All \escript modules should work under both \PYTHON 2 and \PYTHON 3, see
Appendix~\ref{app:py3}.
The current version supports parallelization through \MPI for distributed
memory, \OPENMP for shared memory on CPUs, as well as \CUDA for some GPU-based
solvers.

This release comes with some significant changes and new features.
Please see Appendix~\ref{app:changes} for a detailed list.

If you use this software in your research, then we would appreciate (but do not
require) a citation.
Some relevant references can be found in Appendix~\ref{app:ourrefs}.
\end{abstract}

\input{currentdev}
\cleardoublepage\pdfbookmark[0]{Contents}{contents}%
\tableofcontents

\include{TutorialPDE}
\include{execute}
\include{escript}
\include{linearPDE}
\include{pycad}
\include{Models}
\include{finley}
\include{ripley}
\include{speckley}
\include{weipa}
\include{symbolic}
%\include{subworlds}

\esysappendix %So hyperef builds table of contents links properly 

%\input{modelframe}
\include{appendix}

\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{\indexname}
\printindex

\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{Bibliography}
\bibliographystyle{plain}
\bibliography{esys}

\end{document}
