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
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
vizdirectory missing from
examples/subduction-2din 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.
- Add discussion of translating boundary value problem information to parameter settings. Add more code blocks to manual.
- Add discussion of
- Added PyQT5 Python module for interactive plotting with matplotlib.
- Update PyLith Parameter Viewer to v2.0.1 (fix errors in packaging).
- 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.
Note: We are preparing to release v3.0.3 soon. We have fixed several bugs related to running in parallel, but we still have some issues to address.
- Brad Aagaard
- Matthew Knepley
- Charles Williams