
ELLIPT2D: a general purpose 2-D finite element solver 
=====================================================


A. Pletzer and J.C. Mollis (pletzer@pppl.gov)

Version: 1.4 Wed Jun 25 15:18:19 EDT 2003


Prerequisites:

- Python 2.2 or later
- Tkinter
- A C/C++ compiler (except for .exe Windows installer)
- jython with Java/Java3D (optional)


1. Summary
----------

ELLIPT2D is a Python programming environment for solving 2-D elliptic equations 
of the form - div F . grad v + g v = s where F=((fxx,fxy),(fyx,fyy)), g and s 
are user supplied, possibly complex, functions. Boundary conditions can be of 
Dirichlet (v=B), Neumann (n . F . grad v = B) or Robbins type 
(n . F . grad v + A v = B). The trial basis functions are linear over 
triangles with full support for unstructured meshes. 

2. Installation and settings
----------------------------


2.1 Minimal installation
........................

ELLIPT2D is a collection of python scripts. Python must be installed on your
platform with Tkinter activated. Python is free and can be obtained at 
http://www.python.org. Check the installations to find out how to activate
Tkinter (python is automatically distributed with Tkinter on Win32). 
Note that if you have to compile shared libraries (see 2.3) then you will 
also need the Python source distribution (i.e. have access to Python.h and 
other headers). 

The scripts can be accessed anywhere provided the PYTHONPATH environment 
variable is properly set (see below). Alternatively, you can move the scripts 
by hand to /usr/local/lib/python2.2/site-packages, or equivalent. Under
Windows the installation directory is often C:\Python22\Lib\site-packages.


2.2 Triangulation and fast solver
.................................

Type 

python setup.py install

This will also build shared objects (dll on Windows) of

- triangle: A robust triangulation routine from 
http://www.cs.cmu.edu/~quake/triangle.html.


- superlu: A linear sparse matrix solver from http://www.nersc.gov/~xiaoye/SuperLU/. 



3. Tests
--------

Type the following command (under UNIX or Cygwin)

test.sh

This will exercize all the scripts.

4. Graphics
-----------

Simple Tk graphics routines are provided. For high quality visualization,
download openDX from http://www.opendx.org, which is also free, as Ellipt2d
generates results in the DX format. As an alternative, Ellipt2d also 
generates output in the UCD format of Avs/Express (http://www.avs.com). 
Avs/Express is a commercial product. 


5. User guide
-------------

All ellipt2d classes and functions are documented in HTMLdoc. To check the 
content of a python file, run doc.py [-a] <file>.py. 

Examples of ELLIPT2D scripts can be found under Demos.

Enjoy,

Alex.




