Skip to content

zy911k24/esys-escript

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6,084 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Latest release: 6.1.0

The latest release is esys-escript 6.1.0.

Highlights:

  • Trilinos upgraded from v14 to v17.0.0 (bundled source, built in-tree).
  • New SolverFramework API replacing the SO_PACKAGE_PASO / SO_PACKAGE_TRILINOS constants.
  • Major MPI-correctness fixes in Speckley, Ripley and the Trilinos wrapper; the test suite now runs cleanly under MPI, OpenMP, and combined configurations.
  • HDF5 dumping/loading for Data (including complex and mesh data); the netCDF dependency has been removed.
  • InterpolationTable class for 1-D / 2-D / 3-D table-based interpolation, including complex-valued tables.
  • macOS arm64 (Apple Silicon) build support including Trilinos with MueLu and METIS via Homebrew.
  • GitHub Actions CI extended across multiple Linux distributions and macOS.

See RELEASE_NOTES for the full change list.

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, paraview, mayavi and others
  • platform is Linux; there is limited support for MacOS and Windows

Access:

Source code is available at https://github.com/LutzGross/esys-escript.github.io.

A version of the documentation for the current master brunch is available here.

Questions & Bugs

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

Linux or MacOS Installation from Source

Please inspect the installation guide for information on a specific Linux distribution.

Debian Distribution

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

Anaconda Installation Version 5 (needs validation)

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

Online documentation for master branch is available here.

Reference

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

License

Copyright (c) 2003-2026 by the esys.escript Group. The majority of the files contained in this distribution are licensed under the Apache License, version 2.0, http://www.apache.org/licenses/LICENSE-2.0, see LICENSE.

Contributors

Esys-escript has started in 2003 as one of the first projects that made systemic use of the Python language for large-scale scientific computing. It is the product of years of work by many people with funding from Australian Commonwealth, see CREDITS.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C++ 56.6%
  • Python 15.9%
  • C 9.3%
  • MATLAB 9.2%
  • Fortran 2.5%
  • Wolfram Language 1.8%
  • Other 4.7%