Skip to content

Commit

Permalink
Merge pull request #768 from baagaard-usgs/prepare-release-4.1.3
Browse files Browse the repository at this point in the history
Prepare release 4.1.3
  • Loading branch information
baagaard-usgs authored Jul 30, 2024
2 parents 318e93e + 4a03aa0 commit 9957404
Show file tree
Hide file tree
Showing 12 changed files with 103 additions and 25 deletions.
10 changes: 9 additions & 1 deletion CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Starting with v3.0.0, we strictly follow the [semantic versioning guidelines](ht
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.
:::

## Version 4.1.3 (2024/07/XX)
## Version 4.1.3 (2024/07/31)

* **Added**
* 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.
Expand All @@ -23,6 +23,14 @@ The version numbers are in the form `MAJOR.MINOR.PATCH`, where major releases in
* **Fixed**
* 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.

### Contributors

* Brad Aagaard ![ORCID iD](/_static/images/ORCIDiD_icon32x32.png){w=16px}[0000-0002-8795-9833](https://orcid.org/0000-0002-8795-9833)
* Matthew Knepley ![ORCID iD](/_static/images/ORCIDiD_icon32x32.png){w=16px}[0000-0002-2292-0735](https://orcid.org/0000-0002-2292-0735)
* Charles Williams ![ORCID iD](/_static/images/ORCIDiD_icon32x32.png){w=16px}[0000-0001-7435-9196](https://orcid.org/0000-0001-7435-9196)
* Grant Block ![ORCID iD](/_static/images/ORCIDiD_icon32x32.png){w=16px}[0009-0003-3402-0923](https://orcid.org/0009-0003-3402-0923)


## Version 4.1.1 (2024/06/09)

* **Fixed**
Expand Down
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ authors:
orcid: "https://orcid.org/0000-0001-7435-9196"
identifiers:
- type: doi
value: 10.5281/zenodo.11624232
value: 10.5281/zenodo.13134616
repository-code: "https://github.com/geodynamics/pylith"
url: "https://geodynamics.org/resources/pylith"
keywords:
Expand All @@ -31,7 +31,7 @@ keywords:
- earthquake
- finite element
license: MIT
version: 4.1.2
version: 4.1.3
date-released: "2024-06-05"
preferred-citation:
type: article
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# PyLith

[![DOI](https://www.zenodo.org/badge/DOI/10.5281/zenodo.11624232.svg)](https://doi.org/10.5281/zenodo.11624232)
[![DOI](https://www.zenodo.org/badge/DOI/10.5281/zenodo.13134616.svg)](https://doi.org/10.5281/zenodo.13134616)
[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/geodynamics/pylith/blob/main/LICENSE.md)
[![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)
[![codecov](https://codecov.io/gh/geodynamics/pylith/branch/master/graph/badge.svg?token=JiwLVB64EF)](https://codecov.io/gh/geodynamics/pylith)
Expand Down
6 changes: 3 additions & 3 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ dnl ============================================================================
dnl Process this file with autoconf to produce a configure script.

AC_PREREQ(2.59)
AC_INIT([PyLith], [4.1.2], [https://geodynamics.org/resources/pylith])
AC_INIT([PyLith], [4.1.3], [https://geodynamics.org/resources/pylith])
AC_CONFIG_AUX_DIR([./aux-config])
AC_CONFIG_HEADER([portinfo])
AC_CONFIG_MACRO_DIR([m4])
Expand Down Expand Up @@ -102,7 +102,7 @@ AC_CHECK_HEADER([mpi.h], [], [AC_MSG_ERROR([header 'mpi.h' not found])])

dnl PETSC
AC_LANG(C)
CIT_PATH_PETSC([3.21.2])
CIT_PATH_PETSC([3.21.3])
CIT_HEADER_PETSC
CIT_CHECK_LIB_PETSC

Expand Down Expand Up @@ -173,7 +173,7 @@ CIT_FUNCTIONSTRING
dnl VERSION
CIG_PKG_GIT(PYLITH)
AC_DEFINE_UNQUOTED([PYLITH_VERSION], ["$PACKAGE_VERSION"], [Define PyLith version])
AC_DEFINE_UNQUOTED([PYLITH_DOI], ["10.5281/zenodo.11624232"], [Define PyLith doi])
AC_DEFINE_UNQUOTED([PYLITH_DOI], ["10.5281/zenodo.13134616"], [Define PyLith doi])

dnl ENDIANNESS
AC_C_BIGENDIAN
Expand Down
4 changes: 4 additions & 0 deletions docs/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ dist_noinst_DATA = \
user/components/materials/AuxSubfieldsIsotropicPowerLaw.md \
user/components/materials/AuxSubfieldsPoroelasticity.md \
user/components/materials/DerivedSubfieldsElasticity.md \
user/components/materials/DerivedSubfieldsPoroelasticity.md \
user/components/materials/Elasticity.md \
user/components/materials/Homogeneous.md \
user/components/materials/IncompressibleElasticity.md \
Expand Down Expand Up @@ -150,6 +151,8 @@ dist_noinst_DATA = \
user/components/problems/SolnDispPresLagrange.md \
user/components/problems/SolnDispPresTracStrain.md \
user/components/problems/SolnDispPresTracStrainVelPdotTdot.md \
user/components/problems/SolnDispPresTracStrainLagrange.md \
user/components/problems/SolnDispPresTracStrainVelPdotTdotLagrange.md \
user/components/problems/SolnDispPresVel.md \
user/components/problems/SolnDispVel.md \
user/components/problems/SolnDispVelLagrange.md \
Expand Down Expand Up @@ -323,6 +326,7 @@ dist_noinst_DATA = \
user/examples/magma-2d/figs/geometry-cubit.pdf \
user/examples/magma-2d/figs/geometry-gmsh.svg \
user/examples/magma-2d/figs/geometry-gmsh.pdf \
user/examples/magma-2d/figs/gmsh-tri.png \
user/examples/magma-2d/figs/cubit-quad.png \
user/examples/magma-2d/figs/cubit-tri.png \
user/examples/magma-2d/figs/step01-diagram.pdf \
Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
author = 'Brad T. Aagaard, Matthew G. Knepley, Charles A. Williams'

# The full version, including alpha/beta/rc tags
release = '4.1.2'
release = '4.1.3'


# -- General configuration ---------------------------------------------------
Expand Down
6 changes: 3 additions & 3 deletions docs/intro/preface.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ The following peer-reviewed paper discusses the development of PyLith:

To cite the software and manual, use:

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

- 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
- Aagaard, B., M. Knepley, C. Williams (2024b), *PyLith Manual, Version 4.1.3.* Davis, CA: Computational Infrastructure of Geodynamics. https://pylith.readthedocs.io/en/v4.1.3

## Publishing Models

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

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.

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).
PyLith version 4.1.3 (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).
The project is being actively developed on GitHub and can be accessed via https://github.com/geodynamics/pylith.

## Support
Expand Down
12 changes: 6 additions & 6 deletions docs/user/install/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,10 @@ On macOS systems you can check the operating system version by clicking on the A
3. Unpack the tarball.
```{code-block} bash
# Linux 64-bit
tar -xzf pylith-4.1.2-linux-x86_64.tar.gz
tar -xzf pylith-4.1.3-linux-x86_64.tar.gz
# macOS
tar -xzf pylith-4.1.2-macOS-10.15-x86_64.tar.gz
tar -xzf pylith-4.1.3-macOS-10.15-x86_64.tar.gz
```
4. Set environment variables.
The provided `setup.sh` script only works if you are using bash shell.
Expand All @@ -65,20 +65,20 @@ Ready to run PyLith.
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.

```{code-block} console
curl -L -O https://github.com/geodynamics/pylith/releases/download/v4.1.2/pylith-4.1.2-macOS-10.15-x86_64.tar.gz
curl -L -O https://github.com/geodynamics/pylith/releases/download/v4.1.3/pylith-4.1.3-macOS-10.15-x86_64.tar.gz
```

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):

```{code-block} bash
# Show extended attributes
xattr ./pylith-4.1.2-macOS-10.15-x86_64
xattr ./pylith-4.1.3-macOS-10.15-x86_64
# Output should be
com.apple.quarantine
# Remove quarantine attributes
sudo xattr -r -d com.apple.quarantine ./pylith-4.1.2-macOS-10.15-x86_64
sudo xattr -r -d com.apple.quarantine ./pylith-4.1.3-macOS-10.15-x86_64
```
:::

Expand Down Expand Up @@ -176,7 +176,7 @@ For each package this utility downloads the source code, configures it, builds i
## Verifying PyLith Installation

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.
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`.
In the binary distribution, the examples are located in `src/pylith-4.1.3/examples` while in the source distribution, they are located in `pylith-4.1.3/examples`.
{ref}`sec-examples` discusses how to run and visualize the results for the examples.
To run the example discussed in Section {ref}`sec-examples-box-2d`:

Expand Down
9 changes: 3 additions & 6 deletions pylith/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
#!/usr/bin/env nemesis
# =================================================================================================
# This code is part of PyLith, developed through the Computational Infrastructure
# for Geodynamics (https://github.com/geodynamics/pylith).
Expand All @@ -8,11 +7,8 @@
#
# See https://mit-license.org/ and LICENSE.md and for license information.
# =================================================================================================
# @file pylith/__init__.py

# @brief Python top-level PyLith module initialization

__version__ = "2.2.1"
__version__ = "4.1.3"

__all__ = ['apps',
'bc',
Expand All @@ -22,9 +18,10 @@
'meshio',
'mpi',
'problems',
'testing',
'topology',
'utils',
'tests',
'viz',
]


Expand Down
3 changes: 2 additions & 1 deletion release-notes/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ EXTRA_DIST = \
announce_v4.0.0.md \
announce_v4.1.0.md \
announce_v4.1.1.md \
announce_v4.1.2.md
announce_v4.1.2.md \
announce_v4.1.3.md


# End of file
68 changes: 68 additions & 0 deletions release-notes/announce_v4.1.3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# PyLith v4.1.3 now available

I am pleased to announce the release of PyLith 4.1.3, a finite-element code designed to solve dynamic elastic problems and quasi-static viscoelastic problems in tectonic deformation.

You can download the source code and binaries from
<https://geodynamics.org/resources/pylith>

Documentation
<https://pylith.readthedocs.org/en/v4.1.3>

## Release Notes

* **Added**
* 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.
* Added a test to verify Gmsh files with entities that are not embedded generate errors when read via `MeshIOPetsc`.
* Expanded section of manual discussing installation on Windows Subsystem for Linux, including components needed to run GUI applications (Gmsh and `pylith_viz`).
* Add Gmsh Python script and corresponding mesh in `examples/magma-2d`.
* **Fixed**
* Added output of fault traction change when computing static Green's functions.
* Turn on PETSc HDF5 collective input and output by default. This resolves errors when using HDF5 1.14 on NFS filesystems.
* Include all necessary files from `examples/subduction-3d` in source and binary packages.
* Fix typos in documentation and update Components section of User Guide (sync with code).

## Version 4.1.2 (2024/06/12)

* **Fixed**
* 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.

## Version 4.1.1 (2024/06/09)

* **Fixed**
* Improved setup of variable block Jacobian preconditioner used for elasticity with faults to reduce runtime.
* Fix several typos and update a few diagrams in the documentation.

### Version 4.1.0 (2024/06/06)

* **Changed**
* Improved the default preconditioners for poroelasticity for improved scalability.
* Improved the default preconditioners for elasticity with faults for improved scalability.
* 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.
* Removed ParaView Python scripts (replaced by `pylith_viz`)
* **Added**
* New 2D and 3D crustal strike-slip faults examples based on the 2019 Ridgecrest earthquake.
* New 2D subduction zone outer-rise faulting example examining poroelastic response to bending stresses.
* New `pylith_viz` utility for plotting PyLith results.
* Updated `examples/strikeslip-2d` and `examples/reverse-2d` to demonstrate use of uniform refinement and higher order discretizations to improve resolution of solution.
* Documentation
* Developer Guide: Added description of the process for adding event logging and evaluating performance, including performance logging.
* Developer Guide: Added checklist for what is needed when contributing examples.
* **Fixed**
* Updated `examples/subduction-3d` Steps 6, 7, and 8 to work with PyLith v3+.
* Fix performance bottleneck when reading Gmsh files.
* Remove extra (wrong) kernels for poroelasticity when using state variables.
* Update Python unit tests setup for compatibility with the current unittest API (use `load_tests()`).

### Known issues

* 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`.
* 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.

## Contributors

* Brad Aagaard ![ORCID iD](/_static/images/ORCIDiD_icon32x32.png){w=16px}[0000-0002-8795-9833](https://orcid.org/0000-0002-8795-9833)
* Matthew Knepley ![ORCID iD](/_static/images/ORCIDiD_icon32x32.png){w=16px}[0000-0002-2292-0735](https://orcid.org/0000-0002-2292-0735)
* Charles Williams ![ORCID iD](/_static/images/ORCIDiD_icon32x32.png){w=16px}[0000-0001-7435-9196](https://orcid.org/0000-0001-7435-9196)
* Daniel Douglas ![ORCID iD](/_static/images/ORCIDiD_icon32x32.png){w=16px}[0000-0002-7871-018X](https://orcid.org/0000-0002-7871-018X)
* Evan Marschall ![ORCID iD](/_static/images/ORCIDiD_icon32x32.png){w=16px}[0009-0003-0916-6656](https://orcid.org/0009-0003-0916-6656)
* Zechao Zhuo ![ORCID iD](/_static/images/ORCIDiD_icon32x32.png){w=16px}[0000-0002-8163-5731](https://orcid.org/0000-0002-8163-5731)
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ tag_date = 0

[metadata]
name = pylith
version = 4.1.2
version = 4.1.3
author = Brad Aagaard, Matthew Knepley, Charles Williams
author_email = baagaard@usgs.gov, knepley@buffalo.edu, c.williams@gns.cri.nz
description = Finite-element software for modeling crustal deformation with an emphasis on earthquake faulting.
Expand Down

0 comments on commit 9957404

Please sign in to comment.