PyLith Development Plans, Jun 2016
Priorities for PyLith software development, such as new features and enhancements. This a draft for community comment (Jun 24, 2016).
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 is slower than in the past because Brad Aagaard (who is not funded by CIG) is unable to devote as much time to PyLith development due to a substantial increase of other obligations.
Version 3.0 (Spring 2017)
- Multiphysics 15%
- Higher order basis functions 20%
- Allow user to select order of basis functions independent of the mesh (which defines the geometry). This permits higher resolution for a given mesh.
- Switch to using PETSc time-stepping (TS) algorithms. 25%
- 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.
- Improve fault formulation for spontaneous rupture 10%
- Removes inner solve associated with updating Lagrange multipliers. This will significantly accelerate the nonlinear solve.
- Add Drucker-Prager with relaxation to yield surface bulk rheology 0%
Version 3.1 (late 2017)
- Reorganize top-level code to allow different startup cases 0%
- Elastic prestep
- User-specified initial solution
- Checkpoint via special spatial database?
- Reorganization for time-dependent Green’s functions and adjoints
- Multilevel nonlinear solve
- Radial basis functions for spatial databases 0%
Version 4.0 (TBD)
- Earthquake cycle modeling
- Same mesh for dynamic and quasi-static parts (dynamic -> quasi-static, quasi-static -> dynamic, complete cycle)
- Create strain hardening/softening 2-D and 3-D Drucker-Prager elastoplastic models.
- 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
- Earthquake Cycle Modeling
- Data assimilation
- GUI interface for specifying parameters 25%
- Begin implementation of data assimilation capabilities via adjoint equation.
- 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.
- Use threading to accelerate integrations on multi-core machines.
difficulty rating system
based on the ski trail rating system