PyLith Development Plans, Nov 2016
Priorities for PyLith software development, such as new features and enhancements. This a draft for community comment (Nov 7, 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.
Version 3.0 (Spring 2017)
- Multiphysics 30%
- Higher order basis functions {(Image(difficult.png 25px) failed - File not found) 25%
- 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.
- Allow full specification of the initial conditions (solution and state variables) 0%
- Update user manual
- Convert from LyX to LaTeX for ease of maintenance and editing. {{easy.png}} 0%
- Reorganize for multiphysics implementation. 5%
- Reorganize examples. 0%
- 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 (late 2017)
- GUI interface for specifying simulation parameters (Image(difficult.png 25px) failed - File not found)
- Add additional multiphysics implementations and rheologies
- Reorganize output for time-dependent Green’s functions and adjoints
- Multilevel nonlinear solve
- Radial basis functions for spatial databases
- Convert to Python 3 and Pyre 1.0.
Version 4.0 (TBD)
- Earthquake cycle modeling {(Image(difficult.png 25px) failed - File not found)
- 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 (Image(difficult.png 25px) failed - File not found) 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
- Earthquake Cycle Modeling
- Data assimilation
Minor features
- Begin implementation of data assimilation capabilities via adjoint equation.
- Combined prescribed slip / spontaneous rupture fault condition (Image(difficult.png 25px) failed - File not found)
- 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. (Image(difficult.png 25px) failed - File not found)
difficulty rating system
intermediate | difficult | expert |
based on the ski trail rating system