You are here: Home / Resources / Software: Download / PyLith / About


By Brad Aagaard (primary-developer)1, Charles A. Williams (primary-developer)2, Matthew Knepley (primary-developer)3

1. United States Geological Survey 2. GNS Science 3. University of Buffalo

Published on


PyLith is a finite-element code for dynamic and quasistatic simulations of crustal deformation, primarily earthquakes and volcanoes.

Binary packages are available for macOS and Linux. Detailed installation instructions for the binary packages are in the PyLith manual. Use the PyLith Installer to install from source. We also offer a Docker image (see the PyLith Install Manual for instructions) for development or running PyLith within a portable, virtual Linux environment. Windows 10 users should install the Windows Subsystem for Linux and use the Linux x86_64 binary.

Release Notes

PyLith 4.1 adds several new examples, a utility for visualizing PyLith output, improved preconditioners for elasticity and poroelasticity, and many bugfixes. Refer to PyLith v4.1.2 release notes for more information.


  • Multiphysics
    • Elasticity for linear isotropic materials and linear Maxwell, generalized Maxwell, and power law viscoelastic models
    • Incompressible elasticity for linear isotropic materials
    • Prescribed slip for quasistatic and dynamic simulations
  • Higher order basis functions
    Allow user to select order of basis functions independent of the mesh (which defines the geometry). This permits higher resolution for a given mesh.
  • PETSc time-stepping (TS) algorithms
  • Static Green's functions with user-specified discretization of fault slip impulses
  • Import finite-element meshes from Cubit (Exodus II), and Gmsh
  • Modular approach for initial conditions
  • Output of subfields with user-defined basis order
  • Simulation metadata with command line utility for searching metadata
  • Testing with the Method of Manufactured Solutions
  • Extensive suite of examples

Features no longer supported

  • We removed support for reading LaGriT mesh files in version 4.0.0. Gmsh provides an open-source alternative with a graphical user interface.

Primary Developers

  • Brad Aagaard
  • Matthew Knepley
  • Charles Williams

Download v4.1.2

Binary Packages

  • Linux x86_64 (glibc 2.12 and later)
  • macOS x86_64 (macOS 10.15 and later; works on x86_64 and arm64 processors)
  • macOS arm64 (macOS 11.0 and later; only works on arm64 processors)

Source Code

If you need to build PyLith from source, we strongly recommand that you use the PyLith Installer utility to configure and build the PyLith code and its dependencies. If you use the installer you do not need to download the PyLith and PETSc tarballs; the installer will download them automatically.

Sponsored by

Current PyLith development is supported by the CIG, and internal GNS Science and U.S. Geological Survey funding. Pyre development was funded by the Department of Energy’s Advanced Simulation and Computing program and the National Science Foundation’s Information Technology Research (ITR) program.

This material is based upon work supported by the National Science Foundation under Grants No. 0313238, 0745391, 1150901, and EAR-1550901. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.