- 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. |
+ | * 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 |
+ | # 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'' |