Releases: geodynamics/pylith
v2.0.1
This release fixes some issues with CUBIT/Trelis compatibility in example journal files.
No changes are needed in .cfg files to switch from v2.0.0 to v2.0.1.
Binaries are available from the links below. Detailed installation instructions for the binary packages are in the User Manual.
Migrating from version 1.9 to 2.0
Changes to various C++ objects permitted simplifying the specification of a number of components. The map below indicates the name changes.
CellFilterAvgMesh -> CellFilterAvg
DataWriterVTKMesh -> DataWriterVTK
DataWriterVTKSubMesh -> DataWriterVTK
DataWriterVTKSubSubMesh -> DataWriterVTK
DataWriterHDF5Mesh -> DataWriterHDF5
DataWriterHDF5SubMesh -> DataWriterHDF5
DataWriterHDF5SubSubMesh -> DataWriterHDF5
DataWriterHDF5ExtMesh -> DataWriterHDF5Ext
DataWriterHDF5ExtSubMesh -> DataWriterHDF5Ext
DataWriterHDF5ExtSubSubMesh -> DataWriterHDF5Ext
Running the script:
bash $PYLITH_DIR/doc/developer/update_1.9to2.0.sh
will update all .cfg files in the current directory and all subdirectories with the new names (you will need to replace $PYLITH_DIR with the directory containing the PyLith source code).
PyLith allows use of the Chaco and ParMetis/Metis partitioners. The name of the ParMetis/Metis partitioner was changed from "parmetis" to "metis".
[pylithapp.mesh_generator]
distributor.partitioner = metis
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.
Release Notes - PyLith v2.0.1
- Added example (examples/2d/gravity) for viscoelastic deformation in 2-D with gravitational body forces and small strain formulation.
- Bug fixes
- Improved example journal files for CUBIT/Trelis to improve compability. All journal files should work with CUBIT 14.1 and Trelis 15.0.
- Created examples of IDless journal files in examples/2d/greensfns. These files should work with all recent versions of CUBIT and Trelis.
- Switched journal APREPRO lines to have leading '$' instead of '#' to differentiate from comments.
PyLith v2.0.0
This release fixes several bugs in PyLith v1.9.0 and contains major under-the-hood improvements. We strongly recommend all users of previous PyLith releases switch to this latest release.
A few small changes are needed in .cfg files to switch from v1.9.0 to v2.0.0.
Binaries are available from the links below. Detailed installation instructions for the binary packages are in the User Manual. Use the PyLith Installer to install from source. Detailed building instructions for a few platforms in the INSTALL file bundled with the PyLith Installer.
Migrating from version 1.9 to 2.0
Changes to various C++ objects permitted simplifying the specification of a number of components. The map below indicates the name changes.
CellFilterAvgMesh -> CellFilterAvg
DataWriterVTKMesh -> DataWriterVTK
DataWriterVTKSubMesh -> DataWriterVTK
DataWriterVTKSubSubMesh -> DataWriterVTK
DataWriterHDF5Mesh -> DataWriterHDF5
DataWriterHDF5SubMesh -> DataWriterHDF5
DataWriterHDF5SubSubMesh -> DataWriterHDF5
DataWriterHDF5ExtMesh -> DataWriterHDF5Ext
DataWriterHDF5ExtSubMesh -> DataWriterHDF5Ext
DataWriterHDF5ExtSubSubMesh -> DataWriterHDF5Ext
Running the script:
bash $PYLITH_DIR/doc/developer/update_1.9to2.0.sh
will update all .cfg files in the current directory and all subdirectories with the new names (you will need to replace $PYLITH_DIR with the directory containing the PyLith source code).
PyLith allows use of the Chaco and ParMetis/Metis partitioners. The name of the ParMetis/Metis partitioner was changed from "parmetis" to "metis".
[pylithapp.mesh_generator]
distributor.partitioner = metis
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.
Release Notes - PyLith v2.0.0
-
Replaced C++ Sieve implementation of finite-element data structures
with C DMPlex implementation.DMPlex provides a simpler, more efficient implementation of the finite-element data structures that conforms to the PETSc data management (DM) interface. This provides tighter integration with the rest of PETSc. Additionally, this rewrite of the data structures results in a more efficient memory layout, resulting in better performance.
-
Improved treatment of buried fault edges, so that the slip naturally
tapers to zero along the buried edges.An additional nodeset/pset is used to designate the buried edges of a fault. This allows the cohesive cells to be inserted up to the edge of the fault without splitting the mesh at the fault edge. The slip will naturally taper to zero at along the buried edges as a result of how the cohesive cells are created
-
Switched from using Subversion to Git for version control.
The source code repository changed from a CIG maintained Subversion repository to a Git repository at github.com. The URL for the Git repository is https://github.com/geodynamics/pylith. The installer has been updated accordingly.
-
Added ability to recursively refine a mesh.
Global uniform refinement can now be done recursively. Each refinement reduces the vertex spacing by a factor of two. Using more than one level of refinement should be done carefully as the mesh quality will generally deteriorate with more levels of refinement.
-
Directories for output are created as necessary.
Directories where output files are written will be created if necessary. Previously, the directories would not be created, so that opening the output files in a nonexistent directory would generate an error.
-
Improved error messages.
Error messages originating in PETSc will include a stack trace that includes both PyLith and PETSc code. Previously, only the PETSc code was included. This provides significantly more information for debugging.
-
Improved CUBIT example for mesh sizing functions.
Based on experimentation with CUBIT 14.0, 14.1, and Trelis 15.0, we have improved the CUBIT mesh sizing examples (examples/meshing/cubit_cellsize). We were able to simplify the journal files and use fewer CUBIT commands. The new procedure also eliminates some CUBIT warnings.
-
Several small improvements to various sections of the manual based on feedback and questions from users.
- Added more information about the workflow involved in using PyLith.
- Added a discussion of how to set scales for nondimensionalization.
- Added a discussion of how the stable time step is computed for the
various materials. - Updated and expanded the discussion of using initial state
variables.
-
Bug fixes
- Fixed two MPI related bugs in computing Green's functions in parallel. The number of impulses corresponded to only those on process 0.
- Corrected computation of fault tractions (Lagrange multipliers) on process boundaries for prescribed slip with explicit time stepping.
- Fixed bug when reading in list of output points with just one point.
- Adjusted autoconf Python setup macro to remove temporary sysconfig.pyc file.
- Added check to make sure degree of freedom specified in Dirichlet BC is consistent with spatial dimension of problem.
- Corrected two typos in the manual related to fault opening and tractions in examples/3d/hex8/step20 and updating to the use of cell.dimension for the quadrature scheme with tets.
- Fixed stable time step computed for power-law viscoelastic rheology to match manual.
PyLith v1.9.0
This release fixes several bugs in PyLith v1.8.0. We strongly recommend all users of previous PyLith releases switch to this latest release.
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.
The binaries below are suitable for use on single core/processor computers as well as multi-core or multi-processor computers. They can only be used on a single compute node of a cluster. Detailed installation instructions for the binary packages are in the User Manual. Users wanting to run PyLith on multiple compute nodes of a cluster must build from source. Use the PyLith Installer to install from source. Detailed building instructions for a few platforms in the INSTALL file bundled with the PyLith Installer.
RELEASE NOTES - PyLith v1.9.0
- New features
-
Added Newton-Raphson algorithm for spontaneous rupture simulations with explicit-stepping.
Enforcing the friction criterion in a spontaneous rupture simulation with explicit time-stepping now uses a Newton-Raphson algorithm to find the correct traction increment. This provides a more stable numerical solution and eliminates oscillatory behavior when using rate-state friction.
Added SCEC spontaneous rupture benchmark TPV102 to the benchmark repository. PyLith produces results very similar to several other finite-element codes.
-
- Bug fixes
- Fixed two MPI related bugs in computing Green's functions in parallel. The number of impulses corresponded to only those on process 0 and the output of the impulses for vertices on processor boundaries was inconsistent.
- Corrected computation of fault tractions (Lagrange multipliers) on process boundaries for prescribed slip with explicit time stepping.
- Fixed bug when reading in list of output points with just one point.
- Adjusted autoconf Python setup macro to remove temporary sysconfig.pyc file.
- Added check to make sure degree of freedom specified in Dirichlet BC is consistent with spatial dimension of problem.
- Corrected two typos in the manual related to fault opening and tractions in examples/3d/hex8/step20 and updating to the use of cell.dimension for the quadrature scheme with tetrahedral cells.