%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Copyright (c) 2003-2018 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)
%
%%%%%%%%%%%XX
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\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{
School of Earth and Environmental 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.
In particular, if you wish to solve PDEs with complex coefficients, please consult the install guide regarding Trilinos support.

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{trilinos}
\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}
