Skip to content

Releases: geodynamics/pylith

PyLith v3.0.0

09 Jun 05:37
658a959

Choose a tag to compare

DOI

Version 3.0.0 includes major changes to the underlying finite-element formulation and implementation in order to support a more flexible specification of the governing equations and higher order basis functions.
These changes affect how simulations are defined.
Parameter files for previous versions will need to be updated; the changes are too complex for a simple translation table.
Some features present in v2.2.2, such as spontaneous rupture and finite strain, have not yet been implemented in the new formulation.

Features

  • Multiphysics
    • Elasticity for linear isotropic materials and linear Maxwell, generalized Maxwell, and power law viscoelastic models
    • Incompressible elasticity for linear isotropic materials
    • Prescribed slip for quasistatic and dynamic simulations
  • Higher order basis functions
    Allow user to select order of basis functions independent of the mesh (which defines the geometry). This permits higher resolution for a given mesh.
  • Switch to using PETSc time-stepping (TS) algorithms
    Replace simple Python-based time-stepping implementations with PETSc time-stepping algorithms that provide support for higher order discretization in time and real adaptive time stepping.
  • Static Green's functions with user-specified discretization of fault slip impulses
  • Import finite-element meshes from Cubit (Exodus II), Gmsh, and LaGriT
  • Modular approach for initial conditions
  • Output of subfields with user-defined basis order
  • Simulation metadata with command line utility for searching metadata
  • Convert to Python 3
  • Convert LaTeX documentation to Sphinx + MyST
  • Testing with the Method of Manufactured Solutions
  • New suite of examples, including examples using incompressible elasticity and poroelasticity
  • Automatically assign label value for fault cohesive cells (id setting is obsolete).
  • Use description for descriptive labels and label and label_value for tagging entities. PyLith's use oflabel and label_value now corresponds to PETSc labels and label values.

Deprecated features

  • We plan to discontinue support for reading LaGriT mesh files in version 3.2. Gmsh provides an open-source alternative with a graphical user interface.

Binary packages

The binary packages are 700 Mb and 1.1 Gb. We will be working to remove unnecessary files. One of the main reasons for the large size is that we include all of the geographic projection datum information used by the Proj library; we will test the feasibility of having the download these data files as a separate step.

Known issues

  • Running in parallel has a few minor bugs due to communication mismatches and over-aggressive error checking. We will be fixing these in the next week.
  • We will be updating the 3D subduction zone example (examples/subduction-3d) to v3.0.0 in the next week, including providing the input mesh file; in the meantime do not attempt to run this example.
  • We have included Gmsh in the binary packages. For Linux, there are additional libraries that must be installed for Gmsh to run; these are associated with the graphical user interface. Most Linux distributions include these in a default installation.

Contributors

  • Brad Aagaard
  • Matthew Knepley
  • Charles Williams
  • Robert Walker
  • Chris Mills
  • Shengduo Liu
  • Thea Ragon
  • Alex Berne
  • Jed Brown
  • Rey Koki
  • Kali Allison
  • Lorraine Hwang

PyLith v2.2.2

02 Jul 16:26
9d1e656

Choose a tag to compare

DOI

  • Bug fixes

    • Fix several typos in the manual.

    • Fix order of deallocation of data members in ElasticMaterial to prevent a segmentation fault, thereby allowing error messages to be shown when throwing an exception.

    • Fix tests for MPI and PETSc version info for more use cases.

    • Ensure all Python script are executable and use nemesis is used instead of python for correct paths to modules on Darwin.

  • Added ability to write residual to an HDF5 file during solves. This is intended for debugging and is enabled at runtime using --journal.debug.formulation=1. The residual will be written to residual.h5. To generate the associated .xdmf file run pylith_genxdmd -f residual.h5.

  • Updated to PETSc 3.10.2

PyLith v3.0.0beta2

11 Jun 05:46

Choose a tag to compare

PyLith v3.0.0beta2 Pre-release
Pre-release
  • Through-going faults work!
  • Fix for h5py/six for Linux binary.

PyLith v3.0.0beta1

10 Jun 05:21

Choose a tag to compare

PyLith v3.0.0beta1 Pre-release
Pre-release
Tagged v3.0.0beta1

PyLith v2.2.1

06 Sep 20:29

Choose a tag to compare

DOI

  • Added new examples.

    • examples/3d/subduction: New suite of examples for a 3-D subduction zone. This intermediate level suite of examples illustrates a wide range of PyLith features for quasi-static simulations.

    • examples/2d/subduction: Added quasi-static spontaneous rupture earthquake cycle examples (Steps 5 and 6) for slip-weakening and rate- and state-friction.

    • These new examples make use of ParaView Python scripts to facilitate using ParaView with PyLith.

  • Improved the PyLith manual

    • Added diagram to guide users on which installation method best meets their needs.

    • Added instructions for how to use the Windows Subsystem for Linux to install the PyLith Linux binary on systems running Windows 10.

  • Fixed bug in generating Xdmf files for 2-D vector output. Converted Xdmf generator from C++ to Python for more robust generation of Xdmf files from Python scripts.

  • Updated spatialdata to v1.9.10. Improved error messages when reading SimpleDB and SimpleGridDB files.

  • Updated PyLith parameter viewer to v1.1.0. Application and documentation are now available on line at https://geodynamics.github.io/pylith_parameters. Small fix to insure hierarchy path listed matches the one for PyLith.

  • Updated PETSc to v3.7.6. See the PETSc documentation for a summary of all of the changes.

  • Switched to using CentOS 6.9 for Linux binary builds to insure compatibility with glibc 2.12 and later.

PyLith v2.2.1rc1

25 Jun 16:17

Choose a tag to compare

PyLith v2.2.1rc1 Pre-release
Pre-release

Release Candidate 1

  • Added new examples.

    • examples/3d/subduction: New suite of examples for a 3-D subduction zone.

    • examples/2d/subduction: Added spontaneous rupture examples for slip-weakening and rate- and state-friction.

  • Fixed bug in generating Xdmf files for 2-D vector output.

  • Updated PETSc to v3.7.6.

PyLith v2.2.0

28 Mar 18:12

Choose a tag to compare

DOI

  • Added a browser-based parameter viewer for interactive viewing of all PyLith parameters and version information. See Section 4.10 PyLith Parameter Viewer of the PyLith user manual.

  • Adjusted packaging of the binary distributions so that they can be used to extend PyLith and/or integrate other code with PyLith.

  • Converted the user manual from Lyx to LaTeX and added syntax highlighting of parameter and spatial database files. Fixed several typos.

  • Fixed bug that sometimes resulted in an inconsistent fault orientation when running in parallel. The bug appears to have been introduced in v2.0.

  • Fixed two bugs in output of solution at points that sometimes happened in parallel simulations. The errors include:

    • The order of the station names does not match the order of the points. The point data is written in parallel by process order, so the points for process 0 are written first, then those for process 1, etc. This often results in reordering of the points. The station names were written in the original order.

    • The output values for some points are incorrect. The wrong cells were being used in the interpolation.

  • Updated PETSc to v3.7.5.

PyLith v2.1.4

21 Oct 22:54

Choose a tag to compare

DOI

  • Added --version command line argument to display version information for PyLith and its dependencies.
  • Improved information displayed with the --help command line argument.
  • Added --include-citations command line argument to display publications to cite when publishing results from computations using PyLith. General PyLith references are also displayed with the --version command line argument.
  • Allow use of NetCDF versions greater than 4.1.3. Switch from using C++ API to C API.
  • Fixed bug in Pythia associated with validation of parameters being done before help could be displayed.
  • Fixed typos in manual for gravity and point forces.
  • Added integration with Travis for automated testing.

PyLith v2.1.3

20 Jun 14:12

Choose a tag to compare

Release Notes v2.1.3

  • Add generate_statedb.py and postseismic.pvsm files missing from examples/2d/gravity.
  • Update handling of fault intersection when creating boundary condition nodesets in examples/meshing/surface_nurbs/subduction.
  • Fixes to Darwin binary package.
    • Fix linking of netCDF4 Python module.
    • Fix linking and executable mode permissions for Python scripts in binary by using nemesis so relative links are valid.

PyLith v2.1.2

16 Jun 18:38

Choose a tag to compare

Release Notes

  • Bugfixes for finite-strain formulation.
    • Added output of the Cauchy stresses (cauchy_stress). The second Pioloa-Kirchoff stresses are output via the stress field.
    • Material properties and state variables were not retrieved properly when updating state variables.
  • Bugfixes for setting initial stress and state variables for viscoelastic materials. The deviatoric stress state is carried forward using the state variables, so the initial deviatoric stress should not be considered when computing the stresses.
  • Created new examples showing how to use gravity, initial stress, and finite-strain in 2-D (examples/2d/gravity).
  • Reintroduced check (that had been inadvertently removed in v2.x) for ambiguous description of fault surface based on groups of vertices defining faces of cells.
  • Flush the output of the progress monitor so progress reports are updated promptly.
  • Updates to the user manual.
    • Added section on the debugging examples covered in recent tutorials.
    • Added tables describing the spatial database values for each material.
    • Included a more complete discussion of the finite-strain formulation.
  • PETSc
    • Updated to PETSc v3.7.2 (knepley/pylith branch).
    • Fixed Trilinos/ML configuration and code so that it can be built without a Fortran compiler.