You are here: Home / Groups / Short-Term Crustal Dynamics / Wiki / Work Plans / 2017 PyLith Dev Plans
18.221.167.11
  • Discoverability Visible
  • Join Policy Invite Only
  • Created 05 Jan 2021

Work Plans /

2017 PyLith Dev Plans

PyLith Development Plans, May 2017

Priorities for PyLith software development, such as new features and enhancements. This a draft for community comment (May 19, 2017).

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.

Version 3.0 (2017)

  1. Multiphysics expert.png 30%
    • Implement modular approach for specifying governing equations and computing residuals and Jacobians. expert.png
    • Incompressible elasticity via a pressure field intermediate.png 20%
  2. Higher order basis functions difficult.png 50%
    • Allow user to select order of basis functions independent of the mesh (which defines the geometry). This permits higher resolution for a given mesh.
  3. Switch to using PETSc time-stepping (TS) algorithms. intermediate.png 75%
    • 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. Update user manual
    • Convert from LyX to LaTeX for ease of maintenance and editing. easy.png 100%
    • Reorganize for multiphysics implementation. intermediate.png 10%
    • Reorganize examples. intermediate.png 5%
      • Focus on demonstrating the range of physics and features beginning with simple cases and building towards more complex cases.
      • Include ParaView Python scripts for plotting results.
      • Consider moving examples to Jupyter notebooks; export to PDF files for “print” documentation.

Version 3.1 (early 2018)

  1. Improve fault formulation for spontaneous rupture intermediate.png 10%
    • Removes inner solve associated with updating Lagrange multipliers. This will significantly accelerate the nonlinear solve.
  2. Allow full specification of the initial conditions (solution and state variables) intermediate.png 0%
  3. Add additional multiphysics implementations and rheologies
    • Poroelasticity difficult.png 5%
  4. Convert to Python 3 and Pyre 1.0.

Version 3.X (TBD)

  1. Add additional multiphysics implementations and rheologies
    • Drucker-Prager bulk rheology with relaxation to yield surface intermediate.png
    • Elasticity + heat flow difficult.png
  • Reorganize output for time-dependent Green’s functions and adjoints intermediate.png
  • Multilevel nonlinear solve expert.png
  • Radial basis functions for spatial databases {{intermediate.png}}
  • Use threading to accelerate integrations on multi-core machines. difficult.png
  • Version 4.0 (TBD)

    1. Earthquake cycle modeling difficult.png
      • 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. intermediate.png
    3. Moment tensor point sources via equivalent body forces difficult.png 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 expert.png
        • 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 implementation to support inclusion of data assimilation expert.png

    Minor features

    1. Begin implementation of data assimilation capabilities via adjoint equation.
    2. Combined prescribed slip / spontaneous rupture fault condition difficult.png
      • 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.

    difficulty rating system

    easy.png easy intermediate.png intermediate difficult.png difficult expert.png expert

    based on the ski trail rating system

    Created on , Last modified on