# esys-escript

esys-escript is a programming tool for implementing mathematical models in python using the finite element method (FEM). As users do not access the data structures it is very easy to use and scripts can run on desktop computers as well as highly parallel supercomputer without changes. Application areas for escript include earth mantle convection, geophysical inversion, earthquakes, porous media flow, reactive transport, plate subduction, erosion, 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. Escript is used through python and is suitable for rapid prototyping (e.g for a student project or thesis) as well as for large software projects. Scripts are executed in parallel using MPI, OpenMP and hybrid mode processing over 50 million unknowns on several thousand cores on a parallel computer.

esys-escript now includes the esys.downunder module for 3D inversion of geophysical data sets. The current version supports gravity, magnetic and joint inversion.

### Main Features:

- python based user interface
- two- and three-dimensional finite and spectral element simulations
- specialized geophysical inversion module
- support for VTK and SILO file format
- unstructured meshes from gmsh
- parallelization with OpenMP and MPI support
- Flux Controlled Transport solver (FEM-FCT)
- visualization with VisIt
- support for Linux and Mac

Further documentation can be found here.

The source code can be directed from the official escript github repository using the command:

git clone https://github.com/esys-escript/esys-escript.github.io.git

Please consult the installation guide as well as the other documentation.

### The project is funded by:

- AuScope National Collaborative Research Infrastructure Strategy (NCRIS) (until end of 2019)
- Australian Geophysical Observing System (AGOS) (ended 2014).
- School of Earth Sciences at the University of Queensland.

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

@article{SchaaGrossDuPlessis2016,
author={Schaa, R. and Gross, L. and Du Plessis, J.},
year =2016,
title={PDE-based geophysical modelling using finite elements: examples from 3D resistivity and 2D magnetotellurics},
journal = {Journal of Geophysics and Engineering},
volume=13,
issue=2,
pages={S59-S73},
doi = {doi:10.1088/1742-2132/13/2/S59
}
or
@article{GROSS2006,
author = {L. Gross and L. Bourgouin and A. J. Hale and H.-B Muhlhaus},
title = {Interface Modeling in Incompressible Media using Level Sets in Escript},
journal = {Physics of the Earth and Planetary Interiors},
year = 2007,
volume = {163},
pages = {23--34},
month = {Aug.},
doi = {doi:10.1016/j.pepi.2007.04.004},
}
Contributors: Lutz Gross, Joel Fenwick, Adam Ellery, Andrea Codd, Cihan Altinay, Simon Shaw, Jaco Du Plessis, Ralf Schaa, Peter Hornby, Thomas Poulet, Lin Gao, Artak Amirbekyan, Ken Steube