You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGES.md
+71-25Lines changed: 71 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,19 +10,25 @@ The version numbers are in the form `MAJOR.MINOR.PATCH`, where major releases in
10
10
***Changed**
11
11
* ASCII mesh format
12
12
* Changed `group` to `vertex-group`; remove `group``type`.
13
-
* Use the VTU (XML) format for VTK files instead of the legacy ASCII format.
14
13
* Renamed `VertexGroup` to `BoundaryGroup` in `meshio.gmsh_utils` and changed default behavior to not be recursive (generate "face" groups, not "vertex" groups).
14
+
* Use the VTU (XML) format for VTK files instead of the legacy ASCII format.
15
15
* Material `description` property is no longer used; a deprecation warning is printed to stdout if it is specified. This feature will be removed in v6.0.
16
16
* Internal labels for meshes and fields are now derived from the Pyre component name and identifier.
17
-
* Update PETSc to 3.22.3
17
+
* Update PETSc to 3.23.1
18
18
***Added**
19
-
* Improve documentation for pylith_eqinfo and illustrate its use in examples.
19
+
* Improved documentation for `pylith_eqinfo` and illustrate use in `examples/strikdslip-2d`, `examples/crustal-strikeslip-2d`, and `examples/crustal-strikeslip-3d`.
20
+
* Add `pylith_convertmesh` for converting Cubit and Gmsh files to the PETSc HDF5 mesh format.
20
21
* Add support for specifying boundary conditions using marked boundaries rather than vertices.
21
22
*`MeshIOAscii`: Use `face-group` for specifying boundary conditions via cell and `face` vertices.
22
23
*`MeshIOCubit`: Read sidesets from ExodusII files (generated by Cubit).
23
-
*`Gmsh`: Create physical groups only at the dimension of the boundary.
24
-
25
-
## Version 4.2.0
24
+
*`MeshIOPetsc`
25
+
*`Gmsh`: Create physical groups only at the dimension of the boundary.
26
+
* Add compatibility for reading PETSc HDF5 format
27
+
***Fixed**
28
+
* Account for processes without cells in initial condition patch when verifying configuration.
29
+
* Fix pythia import in `pylith_eqinfo`.
30
+
31
+
## Version 4.2.0 (2025-01-15)
26
32
27
33
***Changed**
28
34
* Updated `examples/strikeslip-2d` Steps 4-7 to use a more realistic slip distribution and mesh refinement in output.
@@ -40,7 +46,7 @@ The version numbers are in the form `MAJOR.MINOR.PATCH`, where major releases in
40
46
* Updated `TimeDependentAuxiliaryFactory::updateAuxiliaryField()` to account for some processes potentially not having points in a boundary condition (`auxiliaryFieldArray == NULL_PTR`).
41
47
* Updated autoconf numpy macros for compatibility with location of include files in numpy version 2.x.
42
48
43
-
## Version 4.1.3 (2024/07/31)
49
+
## Version 4.1.3 (2024-07-31)
44
50
45
51
***Added**
46
52
* Expanded the section of the manual discussing mesh generation with Cubit and Gmsh. Added a list of useful functions in the Cubit and Gmsh Python interfaces.
@@ -53,7 +59,7 @@ The version numbers are in the form `MAJOR.MINOR.PATCH`, where major releases in
53
59
* Include all necessary files from `examples/subduction-3d` in source and binary packages.
54
60
* Fix typos in documentation and update Components section of User Guide (sync with code).
55
61
56
-
## Version 4.1.2 (2024/06/12)
62
+
## Version 4.1.2 (2024-06-12)
57
63
58
64
***Fixed**
59
65
* Fix inconsistency in normal direction on fault surfaces. Orientation was correct but direction was flipped at some locations. This affected local slip direction and the resulting deformation close to the fault.
@@ -65,13 +71,13 @@ The version numbers are in the form `MAJOR.MINOR.PATCH`, where major releases in
65
71
* Charles Williams {w=16px}[0000-0001-7435-9196](https://orcid.org/0000-0001-7435-9196)
66
72
* Grant Block {w=16px}[0009-0003-3402-0923](https://orcid.org/0009-0003-3402-0923)
67
73
68
-
## Version 4.1.1 (2024/06/09)
74
+
## Version 4.1.1 (2024-06-09)
69
75
70
76
***Fixed**
71
77
* Improved setup of variable block Jacobian preconditioner used for elasticity with faults to reduce runtime.
72
78
* Fix several typos and update a few diagrams in the documentation.
73
79
74
-
## Version 4.1.0 (2024/06/05)
80
+
## Version 4.1.0 (2024-06-05)
75
81
76
82
***Changed**
77
83
* Improved the default preconditioners for poroelasticity for improved scalability.
@@ -103,7 +109,7 @@ The version numbers are in the form `MAJOR.MINOR.PATCH`, where major releases in
* Changed name of fault Lagrange multiplier field for solution component in Python from `lagrange_fault` to `lagrange_multiplier_fault` to match name of solution field in C++.
@@ -140,7 +146,7 @@ The version numbers are in the form `MAJOR.MINOR.PATCH`, where major releases in
Version 3.0.0 includes major changes to the underlying finite-element formulation and implementation in order to support a more flexible specification of the governing equations and higher order basis functions.
254
260
These changes affect how simulations are defined.
@@ -329,7 +335,7 @@ For Linux there are additional libraries that must be installed for Gmsh to run;
* Added a browser-based parameter viewer for interactive viewing of all PyLith parameters and version information. See Section 4.10 PyLith Parameter Viewer of the PyLith user manual.
375
381
@@ -390,7 +396,7 @@ For Linux there are additional libraries that must be installed for Gmsh to run;
Buried edges of faults are handled differently in v2.0. A separate nodeset/pset should be created and contain the vertices on the buried edges of the fault. See the Section 6.4.2 of the PyLith manual for more information.
No changes are needed in .cfg files to switch from v1.8.0 to v1.9.0. Version 1.9.0 does includes some changes to the friction and material model interfaces, so extensions do require changes. See the templates for details.
* Running simulations with more than a million cells and large faults in parallel can result in severe memory imbalances among processors. Some processors around the fault may use 10x more memory than processors away from the fault. We expect this problem to disappear in v1.7 when we switch to new, more efficient Sieve implementation.
The custom line search used with the PETSc nonlinear solver (SNES)has difficulty handling some loading cases. In cases where the direction of the line search tends to be nearly orthogonal to the residual, the rate of convergence in the SNES iterations is extremely slow. In other cases the nonlinear solver gets stuck in a local minimum. We plan to improve the line search algorithm in a future release in order to resolve this issue and improve the rate of convergence in spontaneous rupture simulations.
* PyLith 1.5.2 requires FIAT version 0.9.9 or later and an updated PETSc development version. It also requires users to update to the latest spatialdata version for compatibility of the SWIG generated files. These are included in the binary distribution, but users building PyLith from source will need to update FIAT, PETSc, and spatialdata.
@@ -927,6 +951,8 @@ No changes in parameters are required. Version 1.6.1 does require users to speci
927
951
* Fixed bug where buffer for output of initial stresses for dynamic (spontaneous) rupture.
@@ -936,6 +962,8 @@ No changes in parameters are required. Version 1.6.1 does require users to speci
936
962
* Fixed partitioning of cohesive cells. Cohesive cells were ignored during partitioning of the mesh, so they were randomly distributed among processors.
* Added stages to PETSc logging (`--petsc.log_summary`) to collect event logging into groups.
@@ -1032,6 +1062,8 @@ A number of changes to the code require updating old parameter settings for use
1032
1062
* Fixed assembling of Jacobian, residual, and fault sections across processors. This bug caused errors in the computation of the change in tractions over the fault surface.
@@ -1051,6 +1083,8 @@ A number of changes to the code require updating old parameter settings for use
1051
1083
The implementation of different options for controlling the time step requires adjusting input parameters from those used with PyLith 1.2. The time stepping is specified under the time-stepping formulation rather than the problem (i.e., one level deeper).
@@ -1083,18 +1117,24 @@ The implementation of different options for controlling the time step requires a
1083
1117
There are two new features in PyLith version 1.2 that require users to adjust input parameters from those used with PyLith 1.1. A dynamic array of kinematic rupture replaces a single kinematic rupture on a fault. Additionally, the default slip time function is now a step-function. This eliminates the need to specify a peak slip rate for quasi-static simulations. When using PyLith version 1.2 with a problem previously setup for PyLith 1.1, look for warnings about unknown components and settings in the screen output at the beginning of a run.
@@ -1152,6 +1192,8 @@ There are two new features in PyLith version 1.2 that require users to adjust in
1152
1192
There are two new features in PyLith version 1.1 that require users to adjust input parameters from those used with PyLith 1.0. The elimination of containers in favor of the dynamic arrays of components present in the latest version of Pyre requires switching from setting the container to specifying the array of components on the command line or .cfg file. Additionally, the new implementation of output requires a completely new set of parameters. When using PyLith version 1.1 with a problem previously setup for PyLith 1.0, look for warnings about unknown components and settings in the output at the beginning of a run.
* Performance optimizations have significantly reduced runtime and memory use relative to version 1.0.1. The default quadrature order for tetrahedral cells is now 1, which is appropriate for the default basis functions.
@@ -1173,6 +1215,8 @@ There are two new features in PyLith version 1.1 that require users to adjust in
1173
1215
* Fault "up" and "normal" directions remained as string arrays when passed to the module, instead of being converted to float arrays.
0 commit comments