# PyLith Development Plan, April 2019 ## Version 3.0 (June 2019) * Multiphysics ![expert](images/expert.png) [30%] * Implement modular approach for specifying governing equations and computing residuals and Jacobians. ![expert](images/expert.png) * Incompressible elasticity via a pressure field ![intermediate](images/intermediate.png) [20%] * Higher order basis functions ![difficult](images/difficult.png) [100%] 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. ![intermediate](images/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. * Modular approach for initial conditions ![intermediate](images/intermediate.png) * Testing via Method of Manufactured Solutions ![difficult](images/difficult.png) ## Version 3.1 * Improve fault formulation for spontaneous rupture ![expert](images/expert.png) [10%] Removes inner solve associated with updating Lagrange multipliers. This will significantly accelerate the nonlinear solve. * Add additional multiphysics implementations and rheologies ![intermediate](images/intermediate.png) * Poroelasticity [5%] ## Version 3.2 * Convert to Python 3 ![difficult](images/difficult.png) * Drucker-Prager bulk rheology with relaxation to yield surface ![intermediate](images/intermediate.png) * Elasticity + heat flow ![intermediate](images/intermediate.png) * Reorganize output for time-dependent Green's functions and adjoints ![intermediate](images/intermediate.png) * Multilevel nonlinear solve ![expert](images/expert.png) * Radial basis functions for spatial databases ![difficult](images/difficult.png) ## Version 4.0 * 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 [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 * 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. * Data assimilation Use flexibility of multiphysics implementation to support inclusion of data assimilation * Minor features * 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.