1 

2 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
3 
% 
4 
% Copyright (c) 20032009 by University of Queensland 
5 
% Earth Systems Science Computational Center (ESSCC) 
6 
% http://www.uq.edu.au/esscc 
7 
% 
8 
% Primary Business: Queensland, Australia 
9 
% Licensed under the Open Software License version 3.0 
10 
% http://www.opensource.org/licenses/osl3.0.php 
11 
% 
12 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
13 

14 
flexibility on modeling 
15 
\chapter{Introduction} 
16 
\label{CHAP INTRO} 
17 
\section{Why \esc?} 
18 
\esc is an environment for mathematical modeling based on partial differential equations (PDEs). 
19 
By using the mathematical language of PDEs 
20 
it provides a highlevel of abstraction from the underlying numerical schemes (e.g. finite elements (FEM)) and their implementations (eg. from aspects of parallelization) so in their work user can concentrate on the modelling aspects. 
21 
Modelling codes are portable from desktop computers upto supercomputers\footnote{\esc suports distributed memory architectures with multcore processors through MPI and threading.} with no modifications to the code. \esc is 
22 
integrated into the interpretive programming languge python\footnote{see \url{www.python.org} } which gives users direct access a large number 
23 
of software tool for linear algebra, visualization, image processing, data plotting, and many others. 
24 

25 
If you start a mathematical modelling project, what are the benefits for you using \esc as a software 
26 
platform for your project? Using an existing environment such as \esc rather than starting from scratch saves software development time as fundamental problems eg. to find appropriate data structures and numerical algorithms have already been solved and their implemenation has heavily tested. Even if the environment may not provide the user with the fastest algorithms for his/her problem, in most cases the overall time of implementing and testing an optimal algorithm is exceeding the time for using tested software. This is a particular advantage if a simulation code has relatively short lifetime, for instance when used for a publication, in a thesis. When it comes to solving partial differential equations \esc provides the ad vantage that is especially design for PDEs rather than beeing an addon to a linear algebra focued system (e.g. MATLAB). The \esc approach gives the user a cleaner 
27 
environment to work with and provides better efficiency when dealing with PDE coefficients such as permeabilty. 
28 
For instance, the user does not need to worry about the data type of permeabilty while implementing the model: 
29 
If a model has been tested with constant permeabilty the unchanged code can be run with variable permeabilty set from a data base or as a spatically dependent variable eg. through temperature dependence. This capability of \esc bases on the fact that \esc is 
30 
using the language of PDEs (rather than linear algebra) to describe a model. As it turned out the \esc approach can efficiently be applied even in bigger software projects as it leads to clearer structure for the code by separting modelling issues from lowlevel numerical and code performance issues but at the same time allows implementing complex model coupling on a higherlevel. Moreover, 
31 
the usage of python as development platform for \esc greatly simplifies the development of models from a user prospectiv as 
32 
python is intuitive and easy to learn even for users with little experience in program and on the other hand provides direct 
33 
access to a very large number of tools making python an attractive tool for experienced programmers. 
34 

35 
\section{How to use the Cookbook} 
36 
This manual is written with the intention to give new users a practical introduction for using \esc to solve a given problem. It is recommended that a new user works through 
37 
the introduction chapter~\ref{CHAP INTRO} and the first chapter~\ref{CHAP HEAT DIFF} which present the neccessary basic knowledge and a set of simple examples which cover basic expertise for using \esc Other chapters 
38 
will cover aspects users hit when solving problems with intention to provide ready to use solutions. 
39 
All of the \esc scripts associated with this document are available from the examples folder. 
40 

41 
\input{quickstart} 
42 
\input{escpybas} 
43 
\input{einsteinETA} 
44 
\input{PDEsintro} 