Skip to content

Commit 9769ce9

Browse files
Merge pull request #821 from baagaard-usgs/feature-meshio-hdf5
Add support for specifying surfaces (BCs, faults) using faces and reading meshes in PETSc HDF5 format
2 parents ee2e326 + c512d26 commit 9769ce9

File tree

522 files changed

+10040
-9339
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

522 files changed

+10040
-9339
lines changed

.vscode/c_cpp_properties.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,13 @@
1212
"${env:MPI_INCDIR}",
1313
"${env:HDF5_INCDIR}",
1414
"${env:PROJ_INCDIR}",
15-
"${env:CPPUNIT_INCDIR}",
1615
"${env:CATCH2_INCDIR}",
1716
"${env:PETSC_DIR}/include",
1817
"${env:PETSC_DIR}/${env:PETSC_ARCH}/include"
1918
],
2019
"defines": [],
2120
"macFrameworkPath": [
22-
"/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk/System/Library/Frameworks"
21+
"/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk/System/Library/Frameworks"
2322
],
2423
"cStandard": "c11",
2524
"cppStandard": "c++14",
@@ -37,7 +36,6 @@
3736
"${env:MPI_INCDIR}",
3837
"${env:HDF5_INCDIR}",
3938
"${env:PROJ_INCDIR}",
40-
"${env:CPPUNIT_INCDIR}",
4139
"${env:CATCH2_INCDIR}",
4240
"${env:PETSC_DIR}/include",
4341
"${env:PETSC_DIR}/${env:PETSC_ARCH}/include"

CHANGES.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,20 @@ The version numbers are in the form `MAJOR.MINOR.PATCH`, where major releases in
88
## Version 5.0.0
99

1010
* **Changed**
11+
* ASCII mesh format
12+
* Changed `group` to `vertex-group`; remove `group` `type`.
1113
* Use the VTU (XML) format for VTK files instead of the legacy ASCII format.
14+
* Renamed `VertexGroup` to `BoundaryGroup` in `meshio.gmsh_utils` and changed default behavior to not be recursive (generate "face" groups, not "vertex" groups).
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+
* Internal labels for meshes and fields are now derived from the Pyre component name and identifier.
1217
* Update PETSc to 3.22.3
1318
* **Added**
1419
* Improve documentation for pylith_eqinfo and illustrate its use in examples.
15-
20+
* Add support for specifying boundary conditions using marked boundaries rather than vertices.
21+
* `MeshIOAscii`: Use `face-group` for specifying boundary conditions via cell and `face` vertices.
22+
* `MeshIOCubit`: Read sidesets from ExodusII files (generated by Cubit).
23+
* `Gmsh`: Create physical groups only at the dimension of the boundary.
24+
1625
## Version 4.2.0
1726

1827
* **Changed**

Makefile.am

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ dist_noinst_PYTHON = \
3636
applications/pylith_genxdmf \
3737
applications/pylith_runner \
3838
applications/pylith_viz \
39-
applications/pylith_powerlaw_gendb
39+
applications/pylith_powerlaw_gendb \
40+
applications/pylith_convertmesh
4041

4142

4243
EXTRA_DIST = \

applications/pylith_convertmesh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/usr/bin/env nemesis
2+
"""Application for converting mesh files from one format to another.
3+
"""
4+
5+
6+
if __name__ == "__main__":
7+
from pylith.apps.ConvertMeshApp import ConvertMeshApp
8+
from pythia.pyre.applications import start
9+
start(applicationClass=ConvertMeshApp)
10+
11+
12+
# End of file

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.2.0], [https://geodynamics.org/resources/pylith])
13+
AC_INIT([PyLith], [5.0.0dev], [https://geodynamics.org/resources/pylith])
1414
AC_CONFIG_AUX_DIR([./aux-config])
1515
AC_CONFIG_HEADER([portinfo])
1616
AC_CONFIG_MACRO_DIR([m4])
@@ -114,7 +114,7 @@ AC_CHECK_HEADER([mpi.h], [], [AC_MSG_ERROR([header 'mpi.h' not found])])
114114

115115
dnl PETSC
116116
AC_LANG(C)
117-
CIT_PATH_PETSC([3.22.3])
117+
CIT_PATH_PETSC([3.23.1])
118118
CIT_HEADER_PETSC
119119
CIT_CHECK_LIB_PETSC
120120

docs/conf.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@
1717

1818
# -- Project information -----------------------------------------------------
1919

20-
project = 'PyLith'
21-
copyright = '2010-2025, University of California, Davis'
22-
author = 'Brad T. Aagaard, Matthew G. Knepley, Charles A. Williams'
20+
project = "PyLith"
21+
copyright = "2010-2025, University of California, Davis"
22+
author = "Brad T. Aagaard, Matthew G. Knepley, Charles A. Williams"
2323

2424
# The full version, including alpha/beta/rc tags
25-
release = '4.2.0'
25+
release = "5.0.0dev"
2626

2727

2828
# -- General configuration ---------------------------------------------------
@@ -46,7 +46,7 @@
4646
]
4747

4848
# Add any paths that contain templates here, relative to this directory.
49-
templates_path = ['_templates']
49+
templates_path = ["_templates"]
5050

5151
# List of patterns, relative to source directory, that match files and
5252
# directories to ignore when looking for source files.
@@ -61,7 +61,7 @@
6161
# a list of builtin themes.
6262
#
6363
html_logo = "_static/images/cig_short_pylith.png"
64-
html_theme = 'pydata_sphinx_theme'
64+
html_theme = "pydata_sphinx_theme"
6565
html_context = {
6666
"default_mode": "light",
6767
"github_user": "geodynamics",
@@ -94,8 +94,8 @@
9494
# Add any paths that contain custom static files (such as style sheets) here,
9595
# relative to this directory. They are copied after the builtin static files,
9696
# so a file named "default.css" will overwrite the builtin "default.css".
97-
html_static_path = ['_static']
97+
html_static_path = ["_static"]
9898
html_css_files = [
99-
'css/custom.css',
99+
"css/custom.css",
100100
]
101101
html_last_updated_fmt = ""

docs/developer/testing/performance-tools.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
(developer-performance-tools)=
22
# Performance Tools
33

4-
:::{note}
5-
New in v4.1.0
6-
:::
4+
*New in v4.1.0.*
75

86
## Overview
97

docs/intro/conventions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ This is a tip, helpful hint, or suggestion.
1414

1515
For features recently added to PyLith, we show the version number when they
1616
were added.
17-
*New in v3.0.0*
17+
*New in v3.0.0.*
1818

1919
## Command Line Arguments
2020

docs/intro/development-plan.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,21 +24,21 @@ Because we strictly follow the [semantic versioning guidelines](https://semver.o
2424
This can happen if realize that we should modify the parameters to improve maintainability or prepare for future changes.
2525
:::
2626

27-
## Version 5.0 (April 2025)
27+
## Version 5.0 (May 2025)
2828

2929
This version will include a few very minor changes to the public API.
3030

31-
* Specify boundary conditions using faces instead of vertices ![expert](images/intermediate.png) [75%]
32-
* Parallel mesh loading ![expert](images/expert.png) [85%]
31+
* Parallel mesh loading ![expert](images/expert.png) [90%]
32+
* Specify boundary conditions using faces instead of vertices ![expert](images/intermediate.png) [100%]
3333
* Update VTK output to use `vtu` files rather than legacy `vtk` files ![easy](images/easy.png) [100%]
3434

35-
## Version 5.1 (June 2025)
35+
## Version 5.1 (August 2025)
3636

3737
* Dynamic prescribed slip with diagonal Jacobian for explicit part of IMEX formulation ![expert](images/expert.png) [80%]
3838
* Add `examples/barwaves-2d` ![expert](images/expert.png) [25%]
3939
* Better preconditioner for incompressible elasticity ![expert](images/expert.png) [80%]
4040

41-
## Version 5.2 (October 2025)
41+
## Version 5.2 (December 2025)
4242

4343
* Spontaneous rupture for quasistatic and dynamic simulations ![expert](images/expert.png) [30%]
4444

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 (2025a), *PyLith v4.2.0.* Davis, CA: Computational Infrastructure of Geodynamics. DOI: 10.5281/zenodo.14635926.
20+
- Aagaard, B., M. Knepley, C. Williams (2025a), *PyLith v5.0.0.* Davis, CA: Computational Infrastructure of Geodynamics. DOI: 10.5281/zenodo.14635926.
2121

22-
- Aagaard, B., M. Knepley, C. Williams (2025b), *PyLith Manual, Version 4.2.0.* Davis, CA: Computational Infrastructure of Geodynamics. https://pylith.readthedocs.io/en/v4.2.0
22+
- Aagaard, B., M. Knepley, C. Williams (2025b), *PyLith Manual, Version 5.0.0.* Davis, CA: Computational Infrastructure of Geodynamics. https://pylith.readthedocs.io/en/v5.0.0
2323

2424
## Publishing Models
2525

@@ -41,7 +41,7 @@ Common output files include the solution fields and state variables in `.h5`, `.
4141

4242
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.
4343

44-
PyLith version 4.2.0 (Aagaard et al., 2013; Aagaard et al., 2025a; Aagaard et al., 2025b) 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.14635926).
44+
PyLith version 5.0.0 (Aagaard et al., 2013; Aagaard et al., 2025a; Aagaard et al., 2025b) 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.14635926).
4545
The project is being actively developed on GitHub and can be accessed via https://github.com/geodynamics/pylith.
4646

4747
## Support

0 commit comments

Comments
 (0)