/pylith

PyLith is a finite element code for the solution of dynamic and quasi-static tectonic deformation problems.

Primary LanguageC++MIT LicenseMIT

PyLith

MIT License DOI

Build status

  • Master: Build Status
  • Maint: Build Status
  • Next: Build Status

Description

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

Features

  • Quasi-static (implicit) and dynamic (explicit) time-stepping
  • Cell types include triangles, quadrilaterals, hexahedra, and tetrahedra
  • Linear elastic, linear and generalized Maxwell viscoelastic, power-law viscoelastic, and Drucker-Prager elastoplastic materials
  • Infinitesimal and small strain elasticity formulations
  • Fault interfaces using cohesive cells
    • Prescribed slip with multiple, potentially overlapping earthquake ruptures and aseismic creep
    • Spontaneous slip with slip-weakening friction and Dieterich rate- and state-friction fault constitutive models
  • Time-dependent Dirichlet (displacement/velocity) boundary conditions
  • Time-dependent Neumann (traction) boundary conditions
  • Time-dependent point forces
  • Absorbing boundary conditions
  • Gravitational body forces
  • VTK and HDF5/Xdmf output of solution, fault information, and state variables
  • Templates for adding your own bulk rheologies, fault constitutive models, and interfacing with a custom seismic velocity model.
  • User-friendly computation of static 3-D Green's functions

Release Notes

See CHANGES for a complete list of changes for each release.

Authors

  • Brad Aagaard, Earthquake Science Center, USGS, USA
  • Matthew Knepley, Computational and Applied Mathematics, Rice University, USA
  • Charles Williams, Tectonophysics, GNS Science, New Zealand