.... [*]
You may be more familiar with the Laplace operator being written as $ \nabla^2$, and written in the form

$\displaystyle \nabla^2 u = \nabla^t \cdot \nabla u = \frac{\partial^2 u}{\partial x\hackscore 0^2} + \frac{\partial^2 u}{\partial x\hackscore 1^2}$    

and Equation (1.1) as

$\displaystyle -\nabla^2 u = f$    

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.... [*]
Some readers may familiar with the notation $ \frac{\partial u}{\partial n} = n\hackscore{i} u\hackscore{,i}
$ for the normal derivative.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... command[*]
escript is not available under Windows yet. If you run under windows you can just use the python command and the OMP_NUM_THREADS environment variable to control the number of threads.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... grid[*]
Users of Debian 5(Lenny) please note: this example makes use of the griddata method in matplotlib.mlab. This method is not part of version 0.98.1 which is available with Lenny. If you wish to use contour plots, you may need to install a later version. Users of Ubuntu 8.10 or later should be fine.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... Interface!MPI\xspace[*]
The phrase 'safe under MPI ' means that a program will produce correct results when run on more than one processor under MPI .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... present.[*]
There is a difference in esys.escript of being not present and set to zero. As not present coefficients are not processed, it is more efficient to leave a coefficient undefined instead of assigning zero to it.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... way [*]
Please, note that this is not a complete code. The complete code can be found in ``helmholtz.py''.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...xc[*]
In fact the finite element node which is closest to the given position. The usage of Locator is MPI save.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... command[*]
The escript launcher is not supported under MS Windows yet.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...FirstSteps[*]
For this discussion, it is assumed that escript is included in your PATH environment. See installation guide for details.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... nodes[*]
For simplicity, we will use the term node to refer to either a node in a super computer or an individual machine in a cluster
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... set[*]
That is, it has a non-empty value.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... time[*]
In case of OpenMP only one copy is running but esys.escript temporarily spawns threads.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...#tex2html_wrap_inline17951#[*]
In some applications the definition of flux used here can be different from the commonly used definition. For instance, if $ T$ is a temperature field the heat flux $ q$ is defined as $ q\hackscore{,i}=-\kappa T\hackscore{,i}$ ($ \kappa$ is diffusifity) which differs from the definition used here by the sign. This needs to be kept in mind when defining natural boundary conditions.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...$ zero$[*]
In fact it is assumed they are not present by assigning the value escript.Data(). The can by used by the solver library to reduce computational costs.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... $ Intel,~Reference~\cite{MKL}$[*]
The MKL library will only be available when the Intel compilation environment is used.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.