Skip to content

Commit

Permalink
Merge pull request #523 from geodynamics/baagaard/feature-version-3.0.2
Browse files Browse the repository at this point in the history
Set version to 3.0.2. Updates for release.
  • Loading branch information
baagaard-usgs authored Aug 23, 2022
2 parents 9bbb13d + fb3104f commit ae1f8f1
Show file tree
Hide file tree
Showing 18 changed files with 102 additions and 21 deletions.
31 changes: 31 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,36 @@
See <https://github.com/geodynamics/pylith/commits/main> for the complete log of changes made to PyLith.

## Version 3.0.2

This is a bug fix release with no new features or changes to the user interface.

* Add check of PyLith version against version requirements specified in metadata of parameter files.
* Update defaults to better match most use cases.
* Use nonlinear solver.
* Basis order is 1 for solution fields.
* Basis order is 0 for Cauchy stress and strain.
* Use ML algebraic multigrid preconditioner (from Trilinos) instead of GAMG preconditioner for more robust solves. This is a temporary change until we find better GAMG settings.
* Update PETSc to v3.17.3.
* Remove obsolete LaTeX documentation.
* Bug fixes
* Add `viz` directory missing from `examples/subduction-2d` in source distribution.
* Project output fields using correct PETSc routine (`DMProjectFieldLabel()`). Fixes memory access bugs in both serial and parallel.
* Fix build warnings.
* Fix reordering that causes errors when importing Gmsh files.
* Documentation
* Add discussion of translating boundary value problem information to parameter settings. Add more code blocks to manual.
* Add discussion of `examples/troubleshooting-2d` to manual.

### Binary packages

* Added PyQT5 Python module for interactive plotting with matplotlib.
* Update PyLith Parameter Viewer to v2.0.1 (fix errors in packaging).

### Known issues

* The default PETSc options provide a computationally expensive preconditioner when solving incompressible elasticity problems in parallel. We expect to have a more optimal preconditioner in the next release.
* You may still encounter a few bugs when running in parallel; they appear to cases with specific partitioning of the mesh in relation to one or more faults.

## Version 3.0.1

This is a bug fix release with no new features or changes to the user interface.
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.6667614.svg)](https://doi.org/10.5281/zenodo.6667614)
[![DOI](https://www.zenodo.org/badge/DOI/10.5281/zenodo.6914592.svg)](https://doi.org/10.5281/zenodo.6914592)
[![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
4 changes: 2 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ dnl ----------------------------------------------------------------------
dnl Process this file with autoconf to produce a configure script.

AC_PREREQ(2.59)
AC_INIT([PyLith], [3.0.1], [https://geodynamics.org/resources/pylith])
AC_INIT([PyLith], [3.0.2], [https://geodynamics.org/resources/pylith])
AC_CONFIG_AUX_DIR([./aux-config])
AC_CONFIG_HEADER([portinfo])
AC_CONFIG_MACRO_DIR([m4])
Expand Down Expand Up @@ -179,7 +179,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.6667614"], [Define PyLith doi])
AC_DEFINE_UNQUOTED([PYLITH_DOI], ["10.5281/zenodo.6914592"], [Define PyLith doi])

dnl ENDIANNESS
AC_C_BIGENDIAN
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 = '3.0.1'
release = '3.0.2'


# -- General configuration ---------------------------------------------------
Expand Down
4 changes: 2 additions & 2 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 discussed the development of PyLith:

To cite the software and manual, use:

- Aagaard, B., M. Knepley, C. Williams (2022), *PyLith v3.0.1.* Davis, CA: Computational Infrastructure of Geodynamics. DOI: 10.5281/zenodo.6667614.
- Aagaard, B., M. Knepley, C. Williams (2022), *PyLith v3.0.2.* Davis, CA: Computational Infrastructure of Geodynamics. DOI: 10.5281/zenodo.6914592.

- Aagaard, B., M. Knepley, C. Williams (2022), *PyLith Manual, Version 3.0.1.* Davis, CA: Computational Infrastructure of Geodynamics. https://pylith.readthedocs.io/en/v3.0.1
- Aagaard, B., M. Knepley, C. Williams (2022), *PyLith Manual, Version 3.0.2.* Davis, CA: Computational Infrastructure of Geodynamics. https://pylith.readthedocs.io/en/v3.0.2

## 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 @@ -49,10 +49,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-3.0.1-linux-x86_64.tar.gz
$ tar -xzf pylith-3.0.2-linux-x86_64.tar.gz
# macOS
$ tar -xzf pylith-3.0.1-macOS-11.6.6-x86_64.tar.gz
$ tar -xzf pylith-3.0.2-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 @@ -66,20 +66,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.

```
curl -L -O https://github.com/geodynamics/pylith/releases/download/v3.0.1/pylith-3.0.1-macOS-11.6.6-x86_64.tar.gz
curl -L -O https://github.com/geodynamics/pylith/releases/download/v3.0.2/pylith-3.0.2-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):

```
# Show extended attributes
xattr ./pylith-3.0.1-macOS-11.6.6-x86_64
xattr ./pylith-3.0.2-macOS-10.15-x86_64
# Output should be
com.apple.quarantine
# Remove quarantine attributes
sudo xattr -r -d com.apple.quarantine ./pylith-3.0.1-macOS-11.6.6-x86_64
sudo xattr -r -d com.apple.quarantine ./pylith-3.0.2-macOS-10.15-x86_64
```
:::

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

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-3.0.1/examples` while in the source distribution, they are located in `pylith-3.0.1/examples`.
In the binary distribution, the examples are located in `src/pylith-3.0.2/examples` while in the source distribution, they are located in `pylith-3.0.2/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
2 changes: 1 addition & 1 deletion examples/reverse-2d/step06_twofaults_elastic.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ base = [pylithapp.cfg]
description = Reverse prescribed slip on main and splay fault with zero displacement Dirichlet boundary condition.
authors = [Charles Williams, Brad Aagaard]
keywords = [reverse slip, prescribed slip, multiple faults]
arguments = [step06_twofaults_elastic.cfg, solver_fault.cfg]
arguments = [step06_twofaults_elastic.cfg]
version = 1.0.0
pylith_version = [>=3.0, <4.0]

Expand Down
1 change: 1 addition & 0 deletions examples/subduction-3d/step06_slowslip.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ description = Slow slip on a patch in the middle of the top of the slab.
keywords = [prescribed slip, slow slip, generate spatial database]
arguments = [step06_slowslip.cfg, mat_elastic.cfg]
version = 2.0.0
pylith_version = [>3.0]

features = [
Quasi-static simulation,
Expand Down
2 changes: 1 addition & 1 deletion examples/subduction-3d/step07a_leftlateral.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ base = [pylithapp.cfg, greensfns.cfg, mat_elastic.cfg]
description = "Generate static Green's functions for left-lateral slip on the subduction interface."
arguments = [step07a_leftlateral.cfg, mat_elastic.cfg]
version = 2.0.0
pylith_version = [>=2.0, <3.0]
pylith_version = [>3.0]

features = [
pylith.meshio.OutputSolnPoints,
Expand Down
2 changes: 1 addition & 1 deletion examples/subduction-3d/step07b_reverse.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ base = [pylithapp.cfg, greensfns.cfg, mat_elastic.cfg]
description = "Generate static Green's functions for reverse slip on the subduction interface."
arguments = [step07b_reverse.cfg, mat_elastic.cfg]
version = 2.0.0
pylith_version = [>=2.0, <3.0]
pylith_version = [>3.0]

features = [
pylith.meshio.OutputSolnPoints,
Expand Down
1 change: 1 addition & 0 deletions examples/subduction-3d/step08a_gravity_refstate.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ description = Gravitational body forces with reference state.
keywords = [gravitational body forces, reference state]
arguments = [step08a_gravity_refstate.cfg, mat_elastic.cfg]
version = 2.0.0
pylith_version = [>3.0]

features = [
Static simulation,
Expand Down
1 change: 1 addition & 0 deletions examples/subduction-3d/step08b_gravity_incompressible.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ description = Gravitational body forces with incompressible elasticity.
keywords = [gravitational body forces, incompressible elasticity, field split conditioner, Schur complemenet preconditioner]
arguments = [step08b_gravity_incompressible.cfg, mat_elastic_incompressible.cfg]
version = 2.0.0
pylith_version = [>3.0]

features = [
Static simulation,
Expand Down
2 changes: 1 addition & 1 deletion examples/subduction-3d/step08c_gravity_viscoelastic.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ description = Gravitational body forces with viscoelasticity, reference state, a
keywords = [gravitational body forces, reference state, small strain formulation]
arguments = [step08c_gravity_viscoelastic.cfg, mat_viscoelastic.cfg]
version = 1.0.0
pylith_version = [>=2.0, <3.0]
pylith_version = [>3.0]

features = [
Quasi-static simulation,
Expand Down
2 changes: 1 addition & 1 deletion examples/troubleshooting-2d/step06_twofaults.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ base = [pylithapp.cfg]
description = Reverse prescribed slip on main and splay fault with zero displacement Dirichlet boundary condition.
authors = [Charles Williams]
keywords = [reverse slip, prescribed slip, multiple faults]
arguments = [step06_twofaults.cfg, solver_fault.cfg]
arguments = [step06_twofaults.cfg]
version = 1.0.0
pylith_version = [>=3.0, <4.0]

Expand Down
3 changes: 2 additions & 1 deletion release-notes/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@ EXTRA_DIST = \
announce_v2.2.0.txt \
announce_v2.2.1.txt \
announce_v3.0.0.txt \
announce_v3.0.1.txt
announce_v3.0.1.txt \
announce_v3.0.2.txt


# End of file
46 changes: 46 additions & 0 deletions release-notes/announce_v3.0.2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# PyLith v3.0.2 now available

I am pleased to announce the release of PyLith 3.0.2, a finite-element code designed to solve dynamic elastic problems and quasistatic 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/v3.0.2>

## Release Notes

This is a bug fix release with no new features or changes to the user interface.

* Add check of PyLith version against version requirements specified in metadata of parameter files.
* Update defaults to better match most use cases.
* Use nonlinear solver.
* Basis order is 1 for solution fields.
* Basis order is 0 for Cauchy stress and strain.
* Use ML algebraic multigrid preconditioner (from Trilinos) instead of GAMG preconditioner for more robust solves. This is a temporary change until we find better GAMG settings.
* Update PETSc to v3.17.3.
* Remove obsolete LaTeX documentation.
* Bug fixes
* Add `viz` directory missing from `examples/subduction-2d` in source distribution.
* Project output fields using correct PETSc routine (`DMProjectFieldLabel()`). Fixes memory access bugs in both serial and parallel.
* Fix build warnings.
* Fix reordering that causes errors when importing Gmsh files.
* Documentation
* Add discussion of translating boundary value problem information to parameter settings. Add more code blocks to manual.
* Add discussion of `examples/troubleshooting-2d` to manual.

### Binary packages

* Added PyQT5 Python module for interactive plotting with matplotlib.
* Update PyLith Parameter Viewer to v2.0.1 (fix errors in packaging).

### Known issues

* The default PETSc options provide a computationally expensive preconditioner when solving incompressible elasticity problems in parallel. We expect to have a more optimal preconditioner in the next release.
* You may still encounter a few bugs when running in parallel; they appear to cases with specific partitioning of the mesh in relation to one or more faults.

## Contributors

* Brad Aagaard
* Matthew Knepley
* Charles Williams
4 changes: 2 additions & 2 deletions release-notes/checklist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@ TAG

RELEASE

* Create release from tag on GitHub.
* Reserve DOI at zenodo and update DOI in README.md, configure.ac, and preface.md.

* Get DOI at zenodo and update DOI in README.md, configure.ac, and userguide.tex.
* Create release from tag on GitHub.

* Upload source tarballs to GitHub.

Expand Down
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 = 3.0.1
version = 3.0.2
author = Brad Aagaard, Matthew Knepley, Charles Williams
author_email = [email protected], [email protected], [email protected]
description = Finite-element software for modeling crustal deformation with an emphasis on earthquake faulting.
Expand Down

0 comments on commit ae1f8f1

Please sign in to comment.