== !PyLith Development Plans == Software development plans for !PyLith === Version 1.6 (by June training session) === ==== OPTIMIZATION ==== * Multiple fields in a single Sieve section done[[br]] At this point, only used for parameters of fault constitutive models. ==== GENERAL ==== * HDF5 output done [[br]] Output into a single HDF5 file or an HDF5 file with raw binary files for the datasets. Datasets are written using MPI I/O if available in both cases. Add !.Xdmf metadata files associated with HDF5 files to permit reading of HDF5 files with !ParaView and Visit. * Uniform global refinement done (98%) ==== QUASI-STATIC ==== * Added 2-D plane strain versions of the 3-D generalized Maxwell viscoelastic rheology. done ==== DYNAMIC ==== * Numerical damping via viscosity done[[br]] Added numerical damping via a viscosity parameter that is independent of the bulk constitutive model. The viscosity is applied during the time integration. ==== COMPUTATIONAL SCIENCE ==== * None === Version 1.7 (Fall 2011) === ==== OPTIMIZATION ==== * Multiple fields in a single Sieve section intermediate (0%) * Parameters for bulk constitutive models * Parameters and fields related to fault implementation[[br]] Will reduce memory use and provide speedup due to better use of memory cache. ==== CLEANUP ==== * Separate elastic solution into elasticPrestep() function easy (0%) * Add --initialize_only property to Problem easy (0%) [[br]] Permit users to stop simulation before time stepping in order to diagnose parameter settings. ==== GENERAL ==== * Refactor initial fault tractions easy (5%) [[br]] Create Nucleation object with spatial and temporal perturbation of tractions from initial value ==== QUASI-STATIC ==== * Add strain hardening/softening to Drucker-Prager elastoplastic models. ==== DYNAMIC ==== * Compute stable time step for explicit time integration easy (5%) * Attenuation via generalized Maxwell model (bulk and shear relaxation) intermediate (50%) ==== COMPUTATIONAL SCIENCE ==== * Scalable mesh distribution intermediate (0%) [[br]] Permit running large problems where the mesh cannot fit on a single compute node. * Accelerate FE integrations using GPUs difficult (25%) [[br]] Will provide significant speedup to simulations run by many users because most are running on desktop machines that have GPUs. === Version 2.0 === ==== OPTIMIZATION ==== * TBD ==== CLEANUP ==== * TBD ==== GENERAL ==== * Moment tensor point sources[[br]] 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. difficult ==== QUASI-STATIC ==== * Time-step based on strain rate intermediate * Pressure field for incompressible elasticity problems expert ==== DYNAMIC ==== * TBD ==== COMPUTATIONAL SCIENCE ==== * Use KD tree search algorithm to allow output of time histories at an arbitrary location difficult * Use interpolated meshes (cells, faces, edges, vertices) to permit higher order basis functions expert * Support for arbitrary number of solution fields (e.g., displacement, temperature, pressure) expert * Adjust integrations to support multi-physics calculations. === Beyond Version 2.0 === ==== OPTIMIZATION ==== * TBD ==== CLEANUP ==== * TBD ==== GENERAL ==== * Combined prescribed slip / spontaneous rupture fault condition[[br]] 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. ==== QUASI-STATIC ==== * TBD ==== DYNAMIC ==== * TBD ==== COMPUTATIONAL SCIENCE ==== * TBD