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

2017 PyLith Dev Plans

Version 3
by (unknown)
Version 4
by (unknown)

Deletions or items before changed

Additions or items after changed

1 == !PyLith Development Plans, May 2017 ==
2
3 Priorities for !PyLith software development, such as new features and enhancements. This a draft for community comment (May 19, 2017).
4
5 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.
6
7 === Version 3.0 (2017) ===
8
9 # Multiphysics [[Image(expert.png, 40px)]] 30%
10 * Implement modular approach for specifying governing equations and computing residuals and Jacobians. [[Image(expert.png, 40px)]]
11 * Incompressible elasticity via a pressure field [[Image(intermediate.png, 25px)]] 20%
12 # Higher order basis functions [[Image(difficult.png, 25px)]] 50%
13 * Allow user to select order of basis functions independent of the mesh (which defines the geometry). This permits higher resolution for a given mesh.
14 # Switch to using PETSc time-stepping (TS) algorithms. [[Image(intermediate.png, 25px)]] 75%
15 * 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.
16 # Update user manual
17 -
* Convert from !LyX to !LaTeX for ease of maintenance and editing. {[[Image(easy.png, 25px)]] 100%
+
* Convert from !LyX to !LaTeX for ease of maintenance and editing. [[Image(easy.png, 25px)]] 100%
18 * Reorganize for multiphysics implementation. [[Image(intermediate.png, 25px)]] 10%
19 * Reorganize examples. [[Image(intermediate.png, 25px)]] 5%
20 * Focus on demonstrating the range of physics and features beginning with simple cases and building towards more complex cases.
21 * Include !ParaView Python scripts for plotting results.
22 * Consider moving examples to Jupyter notebooks; export to PDF files for "print" documentation.
23
24 === Version 3.1 (early 2018) ===
25
26 -
# Improve fault formulation for spontaneous rupture {[[Image(intermediate.png, 25px)]] 10%
+
# Improve fault formulation for spontaneous rupture [[Image(intermediate.png, 25px)]] 10%
27 * Removes inner solve associated with updating Lagrange multipliers. This will significantly accelerate the nonlinear solve.
28 # Allow full specification of the initial conditions (solution and state variables) [[Image(intermediate.png, 25px)]] 0%
29 # Add additional multiphysics implementations and rheologies
30 * Poroelasticity [[Image(difficult.png, 25px)]] 5%
31 # Convert to Python 3 and Pyre 1.0.
32
33 === Version 3.X (TBD) ===
34
35 # Add additional multiphysics implementations and rheologies
36 * Drucker-Prager bulk rheology with relaxation to yield surface [[Image(intermediate.png, 25px)]]
37 * Elasticity + heat flow [[Image(difficult.png, 25px)]]
38 # Reorganize output for time-dependent Green's functions and adjoints [[Image(intermediate.png, 25px)]]
39 # Multilevel nonlinear solve [[Image(expert.png, 40px)]]
40 # Radial basis functions for spatial databases {{intermediate.png}}
41 # Use threading to accelerate integrations on multi-core machines. [[Image(difficult.png, 25px)]]
42
43 === Version 4.0 (TBD) ===
44
45 # Earthquake cycle modeling [[Image(difficult.png, 25px)]]
46 * Same mesh for dynamic and quasi-static parts (dynamic -> quasi-static, quasi-static -> dynamic, complete cycle)
47 # Create strain hardening/softening 2-D and 3-D Drucker-Prager elastoplastic models. [[Image(intermediate.png, 25px)]]
48 # Moment tensor point sources via equivalent body forces [[Image(difficult.png, 25px)]] 5%
49 * 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.
50
51 === Features for Future Releases ===
52
53 ==== Major features ====
54 # Earthquake Cycle Modeling
55 * Different meshes for dynamic and quasi-static parts [[Image(expert.png, 40px)]]
56 * 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.
57 # Data assimilation
58 * Use flexibility of multiphysics implementation to support inclusion of data assimilation [[Image(expert.png, 40px)]]
59
60 ==== Minor features ====
61 # Begin implementation of data assimilation capabilities via adjoint equation.
62 # Combined prescribed slip / spontaneous rupture fault condition [[Image(difficult.png, 25px)]]
63 * 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.
64
65
66 ----
67 ==== difficulty rating system ====
68
69 ||[[Image(easy.png, 25px)]] easy
70 ||[[Image(intermediate.png, 25px)]] intermediate
71
72 ||[[Image(difficult.png, 25px)]] difficult
73
74 ||[[Image(expert.png, 40px)]] expert
75
76 ||
77
78 ''based on the ski trail rating system''