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

2014-2019 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, Feb 2014 ==
2 Priorities for !PyLith software development, such as new features and enhancements. This a draft for community comment (Feb 20, 2014).
3
4 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.
5
6 === Version 2.0 (early March 2014) ===
7 Status: We have almost everything working. We are in the process of fixing a few bugs related to creating cohesive cells and running in parallel.
8
9 # Replace C++ Sieve implementation of finite-element data structures with C DMPlex implementation. [[Image(expert.png, 40px)]] 99%
10 * DMPlex provides a simpler, more efficient implementation of the finite-element data structures that conforms to the PETSc data management (DM) interface. This provides tighter integration with the rest of PETSc. Additionally, this rewrite of the data structures results in a more efficient memory layout, resulting in better performance.
11 # Switch from using Subversion to Git for version control. [[Image(done.png, 25px)]]
12 # Add ability to recursively refine a mesh. [[Image(done.png, 25px)]]
13 === Version 2.1 (by Jun 2014) ===
14 This is the version that will be available for use at the June 2014 workshop. We are behind schedule for getting multiphysics done by then, and because this is a fixed deadline, we will probably aim to get some additional less ambitious features completed. Allowing different startup cases could slip to version 2.2.
15
16 # Improve fault formulation for spontaneous rupture [[Image(intermediate.png, 25px)]] 10%
17 * Removes inner solve associated with updating Lagrange multipliers. This will significantly accelerate the nonlinear solve.
18 # Higher order basis functions [[Image(expert.png, 40px)]] 0%
19 * Allow user to select order of basis functions independent of the mesh (which defines the geometry). This permits higher resolution for a given mesh.
20 # Reorganize top-level code to conform to layout needed for multiphysics [[Image(difficult.png, 25px)]] 0%
21 * Setup modular approach for specifying governing equations and computing residuals and Jacobians.
22 # Reorganize top-level code to allow different startup cases [[Image(intermediate.png, 25px)]] 0%
23 * Elastic prestep
24 * User-specified initial solution
25 * Checkpoint via special spatial database?
26 # Radial basis functions for spatial databases [[Image(intermediate.png, 25px)]] 0%
27 # Improved handling of buried fault edges [[Image(intermediate.png, 25px)]] 25%
28 === Version 2.2 (Summer/Fall 2014) ===
29 # Multiphysics
30 * Incompressible elasticity via a pressure field [[Image(difficult.png, 25px)]]
31 * Elasticity + heat flow [[Image(difficult.png, 25px)]]
32 * Elasticity + fluid flow [[Image(difficult.png, 25px)]]
33 # GUI interface for specifying parameters
34 # Switch to using PETSc time-stepping (TS) algorithms. [[Image(intermediate.png, 25px)]] 0%
35 * 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.
36 # Multilevel nonlinear solve
37 === Version 2.3 (Spring 2015) ===
38 # Earthquake cycle modeling [[Image(difficult.png, 25px)]]
39 * Same mesh for dynamic and quasi-static parts (dynamic → quasi-static, quasi-static → dynamic, complete cycle)
40 # Create strain hardening/softening 2-D and 3-D Drucker-Prager elastoplastic models. [[Image(intermediate.png, 25px)]]
41 # Moment tensor point sources via equivalent body forces [[Image(difficult.png, 25px)]] 5%
42 * 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.
43 === Features for Future Releases ===
44 ==== Major features ====
45 # Earthquake Cycle Modeling
46 * Different meshes for dynamic and quasi-static parts [[Image(expert.png, 40px)]]
47 * 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.
48 # Data assimilation
49 * Use flexibility of multiphysics organization to support inclusion of data assimilation [[Image(expert.png, 40px)]]
50 ==== Minor features ====
51 # Use KD tree search algorithm to allow output of time histories at an arbitrary location [[Image(difficult.png, 25px)]]
52 # Combined prescribed slip / spontaneous rupture fault condition [[Image(difficult.png, 25px)]]
53 * 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.
54 -
# Use threading to accelerate integrations on multi-core machines. [[Image(difficult.png, 25px)]]
+
# Use threading to accelerate integrations on multi-core machines. [[Image(difficult.png, 25px)]]
55 +
56 +
57 +
----
58 +
==== difficulty rating system ====
59 +
60 +
||[[Image(intermediate.png, 25px)]] intermediate
61 +
62 +
||[[Image(difficult.png, 25px)]] difficult
63 +
64 +
||[[Image(expert.png, 40px)]] expert
65 +
66 +
||[[Image(done.png, 25px)]] done ||
67 +
68 +
''based on the ski trail rating system''