LutzGross / esys-escript.github.io

Other
30 stars 13 forks source link

esys-escript

esys-escript is a module for implementing mathematical models in Python using the finite element method (FEM). As users do not access the underlying data structures it is very easy to use and scripts can run on desktop computers as well as massive parallel supercomputers without changes. Application areas for esys-escript include geophysical inversion, earthquakes, porous media flow, reactive transport, plate subduction, erosion, earth mantle convection, and tsunamis.

esys-escript is designed as an easy-to-use environment for implementing mathematical models based on non-linear, coupled, time-dependent partial differential equations. It uses the finite element method (FEM) for spatial discretization and data representation and is used through Python. It is suitable for rapid prototyping (e.g. for a student project or thesis) as well as for large software projects. Scripts are executed sequentially, on multi-core platforms via OpenMP and distributed computing clusters using MPI. The hybrid mode of OpenMP and MPI is supported and allows for solving problems with over 200 million unknowns on several thousand cores on a parallel computer.

For geophyscial inversion see also the extensions gambit and fingal.

Main Features:

Further documentation including examples and a user guide for the latest release can be found at https://esys-escript.github.io/

Linux Installation from Source

For the impatient:

For information on a specific Linux distribution, please consult the install guide (install.pdf).

Debian Distribution

Debian packages [python3-escript-mpi] and [python3-escript] are available.

Anaconda Installation

To install esys-escript for anaconda, first run conda and then the command

conda install esys-escript -c conda-forge

At present, this is the recommended way to run esys-escript on Windows.

Using esys-escript

To get started using escript please consult the user guide (user.pdf). All of these documents are available here and at https://esys-escript.github.io/

Click on this button to try out esys-escript in your web browser:

Binder

The project is funded by the

If you publish work that makes use of esys-escript, we would appreciate if you would cite the following reference:

Questions & Bugs

To raise a question or to report a bug please start a github issue.

Contributors

    Lutz Gross
    Adam Ellery
    Andrea Codd
    Joel Fenwick
    Cihan Altinay
    Simon Shaw
    Jaco Du Plessis
    Ralf Schaa
    Peter Hornby
    Thomas Poulet
    Lin Gao
    Artak Amirbekyan
    Ken Steube