[CIG-ALL] PyLith v2.0.0 released

Brad Aagaard baagaard at usgs.gov
Fri Jun 6 08:39:45 PDT 2014


Greetings,

I am pleased to announce the release of PyLith 2.0.0, a finite-element
code designed to solve dynamic elastic problems and quasi-static
viscoelastic problems in tectonic deformation.

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.

You can download the source code and binaries from

     http://geodynamics.org/cig/software/packages/short/pylith

Detailed installation instructions for the binary packages are in the
User Manual with detailed building instructions for a few platforms in
the INSTALL file bundled with the PyLith Installer utility.


======================================================================
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.



More information about the CIG-ALL mailing list