Skip to content

Commit 5ccb0cd

Browse files
Merge pull request #752 from baagaard-usgs/fix-cohesive-cells-orientation
Fix cohesive cells orientation
2 parents 6460d33 + 6a023f2 commit 5ccb0cd

File tree

11 files changed

+79
-17
lines changed

11 files changed

+79
-17
lines changed

CHANGES.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ Starting with v3.0.0, we strictly follow the [semantic versioning guidelines](ht
55
The version numbers are in the form `MAJOR.MINOR.PATCH`, where major releases indicate changes to the public API (parameters), minor releases indicate new functionality that is backward compatible, and patch releases indicate backward compatible bug fixes.
66
:::
77

8+
## Version 4.1.2 (2024/06/12)
9+
10+
* **Fixed**
11+
* 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.
12+
813
## Version 4.1.1 (2024/06/09)
914

1015
* **Fixed**

CITATION.cff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ authors:
2222
orcid: "https://orcid.org/0000-0001-7435-9196"
2323
identifiers:
2424
- type: doi
25-
value: 10.5281/zenodo.11534872
25+
value: 10.5281/zenodo.11624232
2626
repository-code: "https://github.com/geodynamics/pylith"
2727
url: "https://geodynamics.org/resources/pylith"
2828
keywords:
@@ -31,7 +31,7 @@ keywords:
3131
- earthquake
3232
- finite element
3333
license: MIT
34-
version: 4.1.1
34+
version: 4.1.2
3535
date-released: "2024-06-05"
3636
preferred-citation:
3737
type: article

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# PyLith
22

3-
[![DOI](https://www.zenodo.org/badge/DOI/10.5281/zenodo.11534872.svg)](https://doi.org/10.5281/zenodo.11534872)
3+
[![DOI](https://www.zenodo.org/badge/DOI/10.5281/zenodo.11624232.svg)](https://doi.org/10.5281/zenodo.11624232)
44
[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/geodynamics/pylith/blob/main/LICENSE.md)
55
[![Build Status](https://dev.azure.com/baagaard-usgs/pylith/_apis/build/status/geodynamics.pylith?branchName=main)](https://dev.azure.com/baagaard-usgs/pylith/_build/latest?definitionId=2&branchName=main)
66
[![codecov](https://codecov.io/gh/geodynamics/pylith/branch/master/graph/badge.svg?token=JiwLVB64EF)](https://codecov.io/gh/geodynamics/pylith)

configure.ac

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ dnl ============================================================================
1010
dnl Process this file with autoconf to produce a configure script.
1111

1212
AC_PREREQ(2.59)
13-
AC_INIT([PyLith], [4.1.1], [https://geodynamics.org/resources/pylith])
13+
AC_INIT([PyLith], [4.1.2], [https://geodynamics.org/resources/pylith])
1414
AC_CONFIG_AUX_DIR([./aux-config])
1515
AC_CONFIG_HEADER([portinfo])
1616
AC_CONFIG_MACRO_DIR([m4])
@@ -173,7 +173,7 @@ CIT_FUNCTIONSTRING
173173
dnl VERSION
174174
CIG_PKG_GIT(PYLITH)
175175
AC_DEFINE_UNQUOTED([PYLITH_VERSION], ["$PACKAGE_VERSION"], [Define PyLith version])
176-
AC_DEFINE_UNQUOTED([PYLITH_DOI], ["10.5281/zenodo.11534872"], [Define PyLith doi])
176+
AC_DEFINE_UNQUOTED([PYLITH_DOI], ["10.5281/zenodo.11624232"], [Define PyLith doi])
177177

178178
dnl ENDIANNESS
179179
AC_C_BIGENDIAN

docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
author = 'Brad T. Aagaard, Matthew G. Knepley, Charles A. Williams'
2323

2424
# The full version, including alpha/beta/rc tags
25-
release = '4.1.1'
25+
release = '4.1.2'
2626

2727

2828
# -- General configuration ---------------------------------------------------

docs/intro/preface.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ The following peer-reviewed paper discusses the development of PyLith:
1717

1818
To cite the software and manual, use:
1919

20-
- Aagaard, B., M. Knepley, C. Williams (2024a), *PyLith v4.1.1.* Davis, CA: Computational Infrastructure of Geodynamics. DOI: 10.5281/zenodo.11534872.
20+
- Aagaard, B., M. Knepley, C. Williams (2024a), *PyLith v4.1.2.* Davis, CA: Computational Infrastructure of Geodynamics. DOI: 10.5281/zenodo.11624232.
2121

22-
- Aagaard, B., M. Knepley, C. Williams (2024b), *PyLith Manual, Version 4.1.1.* Davis, CA: Computational Infrastructure of Geodynamics. https://pylith.readthedocs.io/en/v4.1.1
22+
- Aagaard, B., M. Knepley, C. Williams (2024b), *PyLith Manual, Version 4.1.2.* Davis, CA: Computational Infrastructure of Geodynamics. https://pylith.readthedocs.io/en/v4.1.2
2323

2424
## Publishing Models
2525

@@ -43,7 +43,7 @@ Common output files include the solution fields and state variables as `.h5`, `.
4343

4444
The configuration files, parameters of the simulation, and solution field for the models in this study are available at DOI (Authors X, Y, Z) under CC BY-NC-SA 4.0.
4545

46-
PyLith version 4.1.1 (Aagaard et al., 2013; Aagaard et al., 2023a; Aagaard et al., 2023b) used in these models is freely available under the MIT license for download through its software landing page https://geodynamics.org/resources/pylith or Zenodo (10.5281/zenodo.11479383).
46+
PyLith version 4.1.2 (Aagaard et al., 2013; Aagaard et al., 2023a; Aagaard et al., 2023b) used in these models is freely available under the MIT license for download through its software landing page https://geodynamics.org/resources/pylith or Zenodo (10.5281/zenodo.11479383).
4747
The project is being actively developed on GitHub and can be accessed via https://github.com/geodynamics/pylith.
4848

4949
## Support

docs/user/install/index.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ On macOS systems you can check the operating system version by clicking on the A
4949
3. Unpack the tarball.
5050
```{code-block} bash
5151
# Linux 64-bit
52-
$ tar -xzf pylith-4.1.1-linux-x86_64.tar.gz
52+
$ tar -xzf pylith-4.1.2-linux-x86_64.tar.gz
5353
5454
# macOS
55-
$ tar -xzf pylith-4.1.1-macOS-10.15-x86_64.tar.gz
55+
$ tar -xzf pylith-4.1.2-macOS-10.15-x86_64.tar.gz
5656
```
5757
4. Set environment variables.
5858
The provided `setup.sh` script only works if you are using bash shell.
@@ -66,20 +66,20 @@ Ready to run PyLith.
6666
To bypass macOS quarantine restrictions, simply use command line program `curl` to download the tarball from within a terminal rather than using a web browser.
6767

6868
```
69-
curl -L -O https://github.com/geodynamics/pylith/releases/download/v4.1.1/pylith-4.1.1-macOS-10.15-x86_64.tar.gz
69+
curl -L -O https://github.com/geodynamics/pylith/releases/download/v4.1.2/pylith-4.1.2-macOS-10.15-x86_64.tar.gz
7070
```
7171

7272
Alternatively, if you do download the tarball using a web browser, after you unpack the tarball you can remove the macOS quarantine flags using the following commands (requires Administrator access):
7373

7474
```
7575
# Show extended attributes
76-
xattr ./pylith-4.1.1-macOS-10.15-x86_64
76+
xattr ./pylith-4.1.2-macOS-10.15-x86_64
7777
7878
# Output should be
7979
com.apple.quarantine
8080
8181
# Remove quarantine attributes
82-
sudo xattr -r -d com.apple.quarantine ./pylith-4.1.1-macOS-10.15-x86_64
82+
sudo xattr -r -d com.apple.quarantine ./pylith-4.1.2-macOS-10.15-x86_64
8383
```
8484
:::
8585

@@ -142,7 +142,7 @@ For each package this utility downloads the source code, configures it, builds i
142142
## Verifying PyLith is Installed Correctly
143143

144144
The easiest way to verify that PyLith has been installed correctly is to run one or more of the examples supplied with the binary and source code.
145-
In the binary distribution, the examples are located in `src/pylith-4.1.1/examples` while in the source distribution, they are located in `pylith-4.1.1/examples`.
145+
In the binary distribution, the examples are located in `src/pylith-4.1.2/examples` while in the source distribution, they are located in `pylith-4.1.2/examples`.
146146
{ref}`sec-examples` discusses how to run and visualize the results for the examples.
147147
To run the example discussed in Section {ref}`sec-examples-box-2d`:
148148

libsrc/pylith/faults/TopologyOps.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ pylith::faults::TopologyOps::create(pylith::topology::Mesh* mesh,
193193
err = ISDestroy(&bdIS);PYLITH_CHECK_ERROR(err);
194194
}
195195
// Completes the set of cells scheduled to be replaced
196+
err = DMPlexOrientLabel(dm, label);PYLITH_CHECK_ERROR(err);
196197
err = DMPlexLabelCohesiveComplete(dm, label, faultBdLabel, faultBdLabelValue, PETSC_FALSE, PETSC_FALSE, faultMesh.getDM());PYLITH_CHECK_ERROR(err);
197198
err = DMPlexConstructCohesiveCells(dm, label, NULL, &sdm);PYLITH_CHECK_ERROR(err);
198199

release-notes/Makefile.am

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ EXTRA_DIST = \
4444
announce_v3.0.3.md \
4545
announce_v4.0.0.md \
4646
announce_v4.1.0.md \
47-
announce_v4.1.1.md
47+
announce_v4.1.1.md \
48+
announce_v4.1.2.md
4849

4950

5051
# End of file

release-notes/announce_v4.1.2.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# PyLith v4.1.2 now available
2+
3+
I am pleased to announce the release of PyLith 4.1.2, a finite-element code designed to solve dynamic elastic problems and quasi-static viscoelastic problems in tectonic deformation.
4+
5+
You can download the source code and binaries from
6+
<https://geodynamics.org/resources/pylith>
7+
8+
Documentation
9+
<https://pylith.readthedocs.org/en/v4.1.2>
10+
11+
## Release Notes
12+
13+
* **Fixed**
14+
* 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.
15+
16+
## Version 4.1.1 (2024/06/09)
17+
18+
* **Fixed**
19+
* Improved setup of variable block Jacobian preconditioner used for elasticity with faults to reduce runtime.
20+
* Fix several typos and update a few diagrams in the documentation.
21+
22+
### Version 4.1.0 (2024/06/06)
23+
24+
* **Changed**
25+
* Improved the default preconditioners for poroelasticity for improved scalability.
26+
* Improved the default preconditioners for elasticity with faults for improved scalability.
27+
* Replaced use of Cubit journal files with Cubit Python scripts for several examples, and use the skeleton sizing function to increase cell size with distance from the fault.
28+
* Removed ParaView Python scripts (replaced by `pylith_viz`)
29+
* **Added**
30+
* New 2D and 3D crustal strike-slip faults examples based on the 2019 Ridgecrest earthquake.
31+
* New 2D subduction zone outer-rise faulting example examining poroelastic response to bending stresses.
32+
* New `pylith_viz` utility for plotting PyLith results.
33+
* Updated `examples/strikeslip-2d` and `examples/reverse-2d` to demonstrate use of uniform refinement and higher order discretizations to improve resolution of solution.
34+
* Documentation
35+
* Developer Guide: Added description of the process for adding event logging and evaluating performance, including performance logging.
36+
* Developer Guide: Added checklist for what is needed when contributing examples.
37+
* **Fixed**
38+
* Updated `examples/subduction-3d` Steps 6, 7, and 8 to work with PyLith v3+.
39+
* Fix performance bottleneck when reading Gmsh files.
40+
* Remove extra (wrong) kernels for poroelasticity when using state variables.
41+
* Update Python unit tests setup for compatibility with the current unittest API (use `load_tests()`).
42+
43+
### Known issues
44+
45+
* The new default preconditioner for simulations using elasticity and faults can cause convergence issues when running in parallel in which fault faces lie on the boundaries between processors. The workaround is to use the previous preconditioner provided in `share/settings/solver_fault_fieldsplit.cfg`.
46+
* The default PETSc options provide a computationally expensive preconditioner when solving incompressible elasticity problems. We expect to have a more optimal preconditioner in the next release.
47+
48+
## Contributors
49+
50+
* Brad Aagaard ![ORCID iD](/_static/images/ORCIDiD_icon32x32.png){w=16px}[0000-0002-8795-9833](https://orcid.org/0000-0002-8795-9833)
51+
* Matthew Knepley ![ORCID iD](/_static/images/ORCIDiD_icon32x32.png){w=16px}[0000-0002-2292-0735](https://orcid.org/0000-0002-2292-0735)
52+
* Charles Williams ![ORCID iD](/_static/images/ORCIDiD_icon32x32.png){w=16px}[0000-0001-7435-9196](https://orcid.org/0000-0001-7435-9196)
53+
* Daniel Douglas ![ORCID iD](/_static/images/ORCIDiD_icon32x32.png){w=16px}[0000-0002-7871-018X](https://orcid.org/0000-0002-7871-018X)
54+
* Evan Marschall ![ORCID iD](/_static/images/ORCIDiD_icon32x32.png){w=16px}[0009-0003-0916-6656](https://orcid.org/0009-0003-0916-6656)
55+
* Zechao Zhuo ![ORCID iD](/_static/images/ORCIDiD_icon32x32.png){w=16px}[0000-0002-8163-5731](https://orcid.org/0000-0002-8163-5731)

0 commit comments

Comments
 (0)