# Diff of /trunk/doc/cookbook/intro.tex

revision 2604 by ahallam, Thu Jun 25 05:00:57 2009 UTC revision 2605 by gross, Wed Aug 12 22:30:47 2009 UTC
# Line 11  Line 11
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 high-level 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 mult-core 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 add-on 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 low-level numerical and code performance issues but at the same time allows implementing complex model coupling on a higher-level. 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}

Legend:
 Removed from v.2604 changed lines Added in v.2605