User Tools

Site Tools


software:pylith:plans:2015

This is an old revision of the document!


PyLith Development Plans, Mar 2015

Priorities for PyLith software development, such as new features and enhancements. This a draft for community comment (Mar 6, 2015).

This plan attempts to balance meeting short-term objectives of delivering high priority, new features and meeting long-term objectives of extending the code to solve a broader range of scientific problems.

Current development has slowed because Brad Aagaard (who is not funded by CIG) is unable to devote much time to PyLith development as a result of a substantial increase of other obligations.

Version 2.2 (Target: Jun 2015)

  1. Improve fault formulation for spontaneous rupture [10%]
    • Removes inner solve associated with updating Lagrange multipliers. This will significantly accelerate the nonlinear solve.
  2. Add viscoelastic Drucker-Prager bulk rheology

Version 2.3 (late 2015)

  1. Higher order basis functions [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.
  2. Reorganize top-level code to conform to layout needed for multiphysics [0%]
    • Setup modular approach for specifying governing equations and computing residuals and Jacobians.
  3. Reorganize top-level code to allow different startup cases [0%]
    • Elastic prestep
    • User-specified initial solution
    • Checkpoint via special spatial database?
  4. Add multigrid nonlinear solver
  5. Radial basis functions for spatial databases [0%]

Version 3.0 (Spring 2016)

  1. Multiphysics
    1. Incompressible elasticity via a pressure field
    2. Elasticity + heat flow
    3. Elasticity + fluid flow
  2. GUI interface for specifying parameters
  3. Switch to using PETSc time-stepping (TS) algorithms. [0%]
    • Replace simple Python-based time-stepping implementations with PETSc time-stepping algorithms that provide support for higher order discretization in time and real adaptive time stepping.
  4. Multilevel nonlinear solve

Version 3.1 (Spring 2015)

  1. Earthquake cycle modeling
    • Same mesh for dynamic and quasi-static parts (dynamic → quasi-static, quasi-static → dynamic, complete cycle)
  2. Create strain hardening/softening 2-D and 3-D Drucker-Prager elastoplastic models.
  3. Moment tensor point sources via equivalent body forces [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.

Features for Future Releases

  • Major features
    1. Earthquake Cycle Modeling
      • Different meshes for dynamic and quasi-static parts
        • 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.
    2. Data assimilation
      • Use flexibility of multiphysics organization to support inclusion of data assimilation
  • Minor features
    1. Use KD tree search algorithm to allow output of time histories at an arbitrary location
    2. Combined prescribed slip / spontaneous rupture fault condition
      • 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.
    3. Use threading to accelerate integrations on multi-core machines.
software/pylith/plans/2015.1425658203.txt.gz · Last modified: 2015/03/06 16:10 by baagaard