11 
% 
% 
12 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
13 


14 
\section{Introduction} 
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 
\editor{This document is not meant to be a comprehensive or definitive manual for the \esc program. It is mearly an introduction to the fundamentals of the software and a gateway to understanding its inner workings and functionality. 
If you start a mathematical modelling project, what are the benefits for you using \esc as a software 
26 
Presented in this document are some examples ranging from very easy to moderately difficult. 
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 
It is recommended that you start from the beggining as each example builds upon the knowledge and learned processes in the previous explained problems. 
environment to work with and provides better efficiency when dealing with PDE coefficients such as permeabilty. 
28 
All of the escript/python scripts associated with this document are available from the examples folder. 
For instance, the user does not need to worry about the data type of permeabilty while implementing the model: 
29 
Section on why people should use escript vs matlab vs their own code. 
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} 