3.138.141.202
  • Discoverability Visible
  • Join Policy Invite Only
  • Created 05 Jan 2021

2008-2013 PyLith Dev Plans

Version 2
by (unknown)
Version 3
by (unknown)

Deletions or items before changed

Additions or items after changed

1 == !PyLith Development Plans ==
2 Software development plans for !PyLith.
3
4 === Diagram of Priorities and Feature Dependencies ===
5 The diagram shows the priority of adding features to !PyLith along with their dependencies on each other. The features are color coded to signify whether they are related to computational science or geophysics as well as the amount of effort involved in their implementation. The geophysics features are further categorized by whether they are features of Tecton or new features never present in Tecton (or its successors, !LithoMop and !PyLith 0.8).
6
7 The community has expressed strong support integrating all of the features of Tecton into !PyLith by Dec 2008. The ordering of the priorities balances this community consensus with the desires of the developers. Given the current obligations of the developers (Brad Aagaard, Charles Williams, and Matthew Knepley), a relatively optimistic timeline does not permit implementation of all of Tecton's features until approximately June 2009. Additional CIG developer time and/or development by members of the community would expedite the timeline.
8
9 Diagram of development priorities and dependencies
10
11 === Description ===
12 * Tecton features
13 * multiple earthquake ruptures[[br]]
14 Ability to specify multiple kinematic earthquake ruptures on a fault[[br]]
15 * gravitational body forces[[br]]
16 Include application of gravitational body forces in quasi-static simulations[[br]]
17 * initial stress state[[br]]
18 Provide an initial stress state for cells using a spatial database; does not include state of the system (e.g., plastic strain)[[br]]
19 * nonlinear bulk rheologies[[br]]
20 Support for nonlinear viscoelastic and viscoelastoplastic bulk constitutive models[[br]]
21 * fault friction[[br]]
22 Frictional fault interface condition for cohesive cells[[br]]
23 * Time dependent BCs[[br]]
24 Support for arbitrary temporal modulation (scaling) of the spatial variations in boundary conditions; current support for temporal variations in BCs is limited to a constant rate of change in Dirichlet BCs[[br]]
25 * large deformations == Update mesh geometry (coordinates of vertices) based on deformation[[br]]
26 -
27 * finite strain[[br]]
28 -
Implement finite strain[[br]]
+
Implement finite strain[[br]]
29 * New features[[br]]
30 * adaptive time stepping[[br]]
31 Support for varying the time step automatically based on a suite of criteria (maximum user specified time steps, stable time step based on rheology, and minimum number of time steps between changing time steps)[[br]]
32 * Green's functions[[br]]
33 Optimized formulation and setup for computing Green's functions[[br]]
34 * coupling quasi-static / dynamic[[br]]
35 Coupling of quasi-static interseismic deformation simulations with dynamic coseismic and wave propagation simulations
36 * Computer science features[[br]]
37 * HDF5 output[[br]]
38 Support for parallel HDF5 output; permits efficient platform independent binary output that is easily sliced in time/space (snapshots in time or time histories)[[br]]
39 * uniform global refinement[[br]]
40 Refinement of cells to increase mesh resolution uniformly over the entire domain; necessary for large dynamic problems with hundreds of millions of cells[[br]]
41 * improved PC for kinematic fault condition[[br]]
42 Optimize solution of equations for dynamic time stepping for kinematic fault conditions[[br]]
43 * interface w/PETSc nonlinear solvers[[br]]
44 Interface !PyLith with PETSc's nonlinear solvers[[br]]
45 * SWIG for Python/C++ interface[[br]]
46 Replace Pyrex/Pyrexembed with SWIG; Pyrex/Pyrexembed requires accessing C++ via C which requires ugly coding and increases code maintenance costs; SWIG is designed for object oriented languages and would streamline the Python/C++ interface[[br]]
47 * higher order cells[[br]]
48 Support for using higher order basis functions from linear cells (triangles, quadrilaterals, hexahedra, tetrahedra). Benchmarks show far better performance for linear basis functions for hexahedral cells compared with tetrahedral cells. Quadratic basis functions with tetrahedral cells may provide performance similiar, or possible better than, linear basis functions with hexahedral cells.[[br]]
49 * restart files / checkpointing[[br]]
50 Permit simulations to be restarted from an arbitrary time step. This would be used to save the initial state of a system for Monte Carlo type simulations or continue a long simulation from an intermediate point in time after a system crash.