PyLith Development Plans

Software development plans for PyLith

Version 1.7 [by June workshop]


  • Output of solution at arbitrary points via interpolation of solution. done
  • Add 2-D plane strain version of the Drucker-Prager elastoplastic rheology. done
  • Add 2-D plane strain version of the power-law viscoelastic rheology. done
  • Elastic pre-step option for time-dependent problems. Remove assumed elastic pre-step at time step 0. done
  • Add --initialize_only property to Problem easy [0%]

    Permit users to stop simulation before time stepping in order to diagnose parameter settings.


  • Static Green's functions for fault slip. done


  • None

Computational science

  • Switch to new Sieve implementation. expert [0%]

    C implementation better integrated with PETSc. Smaller memory usage. Facilitates multiphysics and higher order discretizations.

Version 1.8 (Fall or Winter 2012)


  • Refactor initial fault tractions easy [5%]

    Create Nucleation object with spatial and temporal perturbation of tractions from initial value.


  • Create strain hardening/softening 2-D and 3-D Drucker-Prager elastoplastic models.


  • Compute stable time step for explicit time integration easy [5%]
  • Attenuation via generalized Maxwell model (bulk and shear relaxation) intermediate [50%]

Computational science

  • Accelerate FE integrations using GPUs difficult [25%]

    Will provide significant speedup to simulations run by many users because most are running on desktop machines that have GPUs.

Candidate Features for Version 2.0 (Spring 2013)

Major features

  • Multiphysics
    1. Incompressible elasticity via a pressure field expert
    2. Elasticity + heat flow expert
    3. Elasticity + fluid flow expert
  • Earthquake cycle modeling
    1. Same mesh for dynamic and quasi-static parts difficult
      1. Dynamic -> quasi-static
      2. Quasi-static -> dynamic
      3. Complete cycle
    2. Different meshes for dynamic and quasi-static parts expert

      Requires interpolation of fields between different meshes/discretizations and may require extrapolation of solutions when quasi-static problems span a larger domain than the dynamic problems.

  • Use interpolated meshes (cells, faces, edges, vertices) to permit higher order basis functions expert

Minor features

  • Moment tensor point sources difficult

    Moment tensor point sources provide a mesh independent deformation source that is better suited for Green's function calculations than slip on a fault surface via cohesive cells.

  • Time-step based on strain rate intermediate
  • Pressure field for incompressible elasticity problems expert
  • Use KD tree search algorithm to allow output of time histories at an arbitrary location difficult
  • Combined prescribed slip / spontaneous rupture fault condition difficult

    Use fault constitutive model to control slip on fault except during episodes of prescribed slip. Need some way to describe when to turn on/off prescribed slip.

  • Use threading to accelerate integrations on multi-core machines. difficult
Sign In