• Stars
    star
    151
  • Rank 246,057 (Top 5 %)
  • Language
    C++
  • License
    Other
  • Created over 11 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

PyLith

DOI MIT License Build Status codecov

Description

PyLith is an open-source finite-element code for dynamic and quasi-static 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

PyLith is continually being improved by a growing, collaborative, and inclusive community. It is primarily developed and maintained by:

  • Brad Aagaard, Geologic Hazards Science Center, U.S. Geological Survey, USA
  • Matthew Knepley, Computer Science and Engineering, University at Buffalo, USA
  • Charles Williams, Tectonophysics, GNS Science, New Zealand

A complete and growing list of the authors that have contributed over the years can be found at GitHub contributors.

Please see the User Guide for complete and acknowledgement and citation information.

More Repositories

1

aspect

A parallel, extensible finite element code to simulate convection in both 2D and 3D models.
C++
220
star
2

sw4

SW4 (Seismic Waves, 4th order) implements substantial capabilities for 3-D seismic modeling, with a free surface condition on the top boundary, absorbing super-grid conditions on the far-field boundaries, and an arbitrary number of point force and/or point moment tensor source terms.
C++
126
star
3

seismic_cpml

SEISMIC_CPML is a set of sixteen open-source Fortran90 programs to solve the two-dimensional or three-dimensional isotropic or anisotropic elastic, viscoelastic or poroelastic wave equation using a finite-difference method with Convolutional or Auxiliary Perfectly Matched Layer (C-PML or ADE-PML) conditions, developed by Dimitri Komatitsch and Roland Martin from CNRS, France.
Fortran
119
star
4

axisem

AxiSEM is a parallel spectral-element method to solve 3D wave propagation in a sphere with axisymmetric or spherically symmetric visco-elastic, acoustic, anisotropic structures.
Fortran
63
star
5

Rayleigh

Rayleigh: Pseudo-spectral MHD
Fortran
59
star
6

burnman

BurnMan is a library for modeling mantle thermodynamics and thermoelasticity constrained by mineral physics experiments.
Python
53
star
7

citcoms

CitcomS is a finite element code designed to solve compressible thermochemical convection problems relevant to Earth's mantle.
C
40
star
8

relax

Relax implements a semi-analytic Fourier-domain solver and equivalent body forces to compute quasi-static relaxation of stress perturbation.
Fortran
25
star
9

mineos

Mineos computes synthetic seismograms in a spherically symmetric non-rotating Earth by summing normal modes.
Fortran
24
star
10

selen

SELEN: a program for solving the "Sea Level Equation".
Fortran
23
star
11

calypso

Calypso performs magnetohydrodynamics (MHD) simulation in a rotating spherical shell, modeled as Boussinesq fluid driven by thermal or compositional buoyancy.
Fortran
14
star
12

best_practices

Software development and training best practices.
TeX
13
star
13

plasti

Plasti is a 2D ALE (Arbitrary Lagrangian Eulerian) code donated to CIG by Sean Willett and Chris Fuller of the University of Washington. The code originated at Dalhousie University in Canada.
Fortran
13
star
14

hc

HC is a global mantle circulation solver following Hager & O'Connell (1981) which can compute velocities, tractions, and geoid for simple density distributions and plate velocities.
C
12
star
15

vq

Virtual Quake is a boundary element code designed to investigate long term fault system behavior and interactions between faults through stress transfer.
C++
12
star
16

pylith_benchmarks

Benchmark data and results for PyLith.
Python
9
star
17

pylith_installer

Installer code for PyLith.
Python
8
star
18

ellipsis3d

Ellipsis3d is a three-dimensional version of the particle-in-cell finite element code Ellipsis, a solid modeling code for visco-elastoplastic materials. The particle-in-cell method combines the strengths of the Lagrangian and Eulerian formulations of mechanics while bypassing their limitations.
C
8
star
19

snac

SNAC (StGermaiN Analysis of Continua) is an updated Lagrangian explicit finite difference code for modeling a finitely deforming elasto-visco-plastic solid in 3D.
C
8
star
20

mag

MAG is a serial version of a rotating spherical convection/magnetoconvection/dynamo code, developed by Gary Glatzmaier and modified by Uli Christensen and Peter Olson.
IDL
7
star
21

software_template

This is an example repository that follows the best software practices of the Computational Infrastructure for Geodynamics (CIG)
Dockerfile
7
star
22

citcomcu

CitcomCU is a finite element parallel code capable of modeling thermochemical convection in a three dimensional domain appropriate for convection within the Earth's mantle.
C
6
star
23

spatialdata

SpatialData provides an interface to Proj.4 (cartographic projections library) for converting coordinates among a variety of geographic projections.
C++
6
star
24

sw4lite

Testing numerical kernels in SW4
C
6
star
25

flexwin

The FLEXWIN software package automates the time-window selection problem for seismologists. It operates on pairs of observed and synthetic single component seismograms, defining windows that cover as much of a given seismogram as possible, while avoiding portions of the waveform that are dominated by noise.
TeX
6
star
26

gale

Gale is a 2D/3D code for the long-term tectonics community. The code solves problems related to orogenesis, rifting, and subduction.
C++
5
star
27

conman

ConMan is a finite element program for the solution of the equations of incompressible, infinite-Prandtl number convection in two dimensions, originally written by Scott King, Arthur Raefsky, and Brad Hager.
Fortran
4
star
28

pythia

Pythia refers to the Pyre framework and a collection of packages that interact with it, such as an interface to the ACIS solid modeling package.
Python
3
star
29

lithomop

LithoMop is a finite element code for the solution of visco-elastic/plastic deformation that was designed for lithospheric modeling problems.
Fortran
3
star
30

pylith_parameters

Web application for viewing and editing PyLith parameters.
JavaScript
2
star
31

autoconf_cig

Autoconf M4 macros for CIG codes
M4
2
star
32

pylith-tutorials

TeX
1
star
33

cigma

The CIG Model Analyzer (Cigma) is a suite of tools that facilitates the comparison of numerical models, and performs error analysis, benchmarking, and code verification.
C++
1
star
34

cig_backend

CIG Backend Code
PHP
1
star