PyLith Development Plans

 Software development plans for PyLith

Version 1.8.1 (by mid-late April)

Bug fixes

  • Improve solver for rate-state friction and explicit time stepping. difficult [50%]
  • Remove duplicate impulses in parallel Green's function simulations. done

Version 2.0 (by June workshop)

Computational science

  • Replace Sieve implementation of finite-element data structures with more efficient DMPlex implementation. expert [80%]

    DMPlex implementation is better integrated within PETSc. Smaller memory usage. Developed to support multiphysics and higher order discretizations.

  • Higher order basis functions expert [0%]

    Allow user to select order of basis functions independent of the mesh (which defines the geometry). This permits higher resolution for a given mesh.

Version 2.1 (Fall or Winter 2013)

Major features

  • Earthquake cycle modeling difficult

    Same mesh for dynamic and quasi-static parts (dynamic -> quasi-static, quasi-static -> dynamic, complete cycle)

Minor features

  • Create strain hardening/softening 2-D and 3-D Drucker-Prager elastoplastic models. intermediate
  • Attenuation via generalized Maxwell model (bulk and shear relaxation) intermediate [50%]
  • Moment tensor point sources via equivalent body forces difficult [5%]

    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.

Candidate Features for Version 2.2 (Spring 2014)

Major features

  • Multiphysics
    1. Incompressible elasticity via a pressure field expert
    2. Elasticity + heat flow expert
    3. Elasticity + fluid flow expert

Minor features

  • Time-step based on strain rate intermediate
  • Accelerate FE integrations using GPUs expert [5%]

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

Features for Future Releases

Major features

  • Earthquake Cycle Modeling
    1. 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.

Minor features

  • 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