
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 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)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Escript and Python Basics} \label{sec:escpybas}

The \pyt scripting language is a powerful and easy to learn environment with a wide variety of applications. \esc has been developed as a packaged module for \pyt specifically to solve complex partial differential equations. As a result, all the conventions and programming syntax associated with \pyt are coherent with \esc. If you are unfamiliar with \pyt, there are a large number of simple to advanced guides and tutorials available online. These texts should provide an introduction that is comprehensive enough to use \esc. A handful of \pyt tutorials are listed below.
\begin{itemize}
\item \url{http://hetland.org/writing/instant-python.html} is a very crisp introduction. It covers everything you need to get started with \esc.
\item A nice and easy to follow introduction: \url{http://www.sthurlow.com/python/}
\item Another crisp tutorial: \url{http://www.zetcode.com/tutorials/pythontutorial/}. 
 \item A very comprehensive tutorial from the \pyt authors: \url{http://www.python.org/doc/2.5.2/tut/tut.html}. It covers much more than what you will ever need for \esc.
\item Another comprehensive tutorial: \url{http://www.tutorialspoint.com/python/index.htm}
\end{itemize} 

\subsection{The \modesys Modules}
\esc is part of the \esys package. 
Apart from the particle simulation library
\verb|ESyS-Particle|\footnote{see \url{https://launchpad.net/esys-particle}} which is not covered
in this tutorial \esys also includes the following modules
\begin{enumerate}
\item \modescript is the PDE solving module.
\item \modfinley is the discretisation tool and finite element package.
\item \modpycad  is a package for creating irregular shaped domains.
\end{enumerate}
Further explanations of each of these are available in the \esc user guide or in the API documentation\footnote{Available from \url{https://launchpad.net/escript-finley/+download}}. 
\esc is also dependent on a few other open-source packages which are not maintained by the \esc development team. These are \modnumpy (an array and matrix handling package), \modmpl \footnote{\modnumpy and \modmpl are part of the SciPy package, see \url{http://www.scipy.org/}} (a simple plotting tool) and \verb gmsh \footnote{See \url{http://www.geuz.org/gmsh/}} (which is required by \modpycad). These packages (\textbf{except} for \verb gmsh ) are included with the support bundles. 

