A Python implementation of the spectral element method

## Project description

Note: This software is in a pre-alpha state.

The main documentation for this package is located at www.sempy.org , but this page offers a minimal set of information to get started using Sempy.

Sempy is a numerical software package designed to solve partial differential equations arising from the analysis of fluid flow and heat transfer. It is written in Python and carries the intuitive syntax of this language. Furthermore, computational meshes can be imported from the Gmsh mesh generator, making Sempy flexible towards handling complex geometries.

### Getting started

The quickest way to get started using the Sempy package is to install it with easy_install This can be achieved by e.g. typing:

```\$ easy_install sempy
```

on the command line. This requires an internet connection to work. Another possibility is to download the latest version as a zip or tar.gz file and then install it with:

```\$ python setup.py install
```

It might be necessary to use super user privileges on the above commands. For instance:

```\$ sudo easy_install sempy
```

Aslo, it might be necessary to run:

```\$ sudo easy_install --upgrade sempy
```

on a regular basis to obtain updated versions.

### An example script

Solve the Poisson problem with a simple script:

```import sempy

X = sempy.Space( filename = 'square', n = 4, dim = 2 )
A = sempy.operators.Laplacian( X ).matrix

f = sempy.Function( X, basis_coeff = 1.0 )
b = sempy.operators.Mass( X ).action_local( f.basis_coeff )
u = sempy.Function( X, basis_coeff = 0.0 )

[v, flag] = sempy.linsolvers.Krylov().solve( A, b, u.glob() )
u.basis_coeff = X.mapping_q( v )
u.plot()
```

## Project details 