[cig-commits] r7570 - short/3D/PyLith/trunk
brad at geodynamics.org
brad at geodynamics.org
Sat Jun 30 18:57:29 PDT 2007
Author: brad
Date: 2007-06-30 18:57:29 -0700 (Sat, 30 Jun 2007)
New Revision: 7570
Modified:
short/3D/PyLith/trunk/README
short/3D/PyLith/trunk/TODO
Log:
Updated for version 1.0.1
Modified: short/3D/PyLith/trunk/README
===================================================================
--- short/3D/PyLith/trunk/README 2007-06-30 02:39:12 UTC (rev 7569)
+++ short/3D/PyLith/trunk/README 2007-07-01 01:57:29 UTC (rev 7570)
@@ -1,4 +1,4 @@
-We are pleased to announce the version 0.8.0 release of PyLith.
+We are pleased to announce the version 1.0.1 release of PyLith.
See the file INSTALL for building and installation instructions.
@@ -9,3 +9,93 @@
cig-short at geodynamics.org
PyLith is free software. See the file COPYING for copying conditions.
+
+This release allows the solution of both quasi-static and dynamic
+problems in one, two, or three dimensions, and represents a complete
+rewrite of the original PyLith. The code runs in either serial or
+parallel mode, and the design allows for relatively easy scripting
+using the Python programming language. Material properties and
+parameters for boundary and fault conditions are specified using a
+spatial database, which permits easy prescription of complex spatial
+variations of properties and parameters. Simulation parameters are
+generally specified through the use of simple ASCII files or the
+command line.
+
+You can download the source code and binaries from
+
+ http://geodynamics.org/cig/software/packages/short/pylith
+
+Installation instructions are in the bundled README and INSTALL
+files, as well as in the User Manual on the web page.
+
+PyLith is under active development and we expect a number of
+additions and improvements in the near future. Likely enhancements
+will include a more complete set of boundary conditions (absorbing
+boundaries for use in dynamic modeling and traction boundary
+conditions for use in quasi-static modeling), additional constitutive
+models for both volume elements and cohesive (fault) elements,
+automatic generation of higher-order elements from linear elements,
+and the generation of Green's functions to be used in inversions.
+Many of these features should be available in Fall 2007.
+
+======================================================================
+RELEASE NOTES
+======================================================================
+
+----------------------------------------------------------------------
+Version 1.0.1
+
+ * Code now includes both dynamic and quasi-static solutions.
+
+ * Completely rewritten in Python and C++, with bindings provided by
+ Pyrex/Pyrexembed.
+
+ * Easier specification of simulations:
+
+ - Parameters are all set using .cfg files (or .pml/command-line).
+
+ - Mesh may be directly imported from CUBIT, LaGriT, or using
+ PyLith mesh ASCII format.
+
+ - Material properties, fault dislocations, and BC are all given
+ using spatial databases, which are independent of mesh
+ discretization.
+
+ * Faults are now implemented using cohesive elements:
+
+ - Easy specification of kinematic fault slip using a spatial
+ database.
+
+ - Cohesive elements generate offsets in the mesh corresponding
+ to fault slip, which increase the accuracy of displacement
+ fields near faults and facilitate visualization of fault slip.
+
+ - Usage of cohesive elements will facilitiate the upcoming
+ addition of fault constitutive relations, where fault slip
+ occurs in response to prescribed physics.
+
+ * Improved implicit time-stepping eliminates need to perform more
+ than one iteration for linear rheologies.
+
+ * Code is now completely modular and object-oriented, which allows
+ much easier addition of new features. Modules may be added
+ without having to recompile the code.
+
+ * Features present in 0.8 that are not present in 1.0 that will be
+ added in the near future.
+
+ - Traction boundary conditions
+
+ - Generalized Maxwell and Power-law Maxwell viscoelastic models
+
+ * Bug fixes
+
+ - Cohesive cells lacked consistent orientation (inconsistent
+ normals) in cases where cells were not ordered one side of the
+ fault and then the other.
+
+ - Final slip of zero resulted in fault slip and slip increments
+ of Nan.
+
+ - Parallel importing of meshes from LaGrit and CUBIT lacked
+ guards against all processors reading the files.
Modified: short/3D/PyLith/trunk/TODO
===================================================================
--- short/3D/PyLith/trunk/TODO 2007-06-30 02:39:12 UTC (rev 7569)
+++ short/3D/PyLith/trunk/TODO 2007-07-01 01:57:29 UTC (rev 7570)
@@ -2,19 +2,25 @@
CURRENT ISSUES
======================================================================
- 0. Orientation of cohesive cells is not consistent over fault
- surface. Unit tests now expose problem. [Matt is working on fixing this]
+ 0. Add unit test to for zero fault slip and slipIncr (should be zero).
- 1. Need check to make sure quadrature scheme is compatible with
+ 1. Add unit test for tri3 and tet4 for cells with only edges or
+ single vertex on fault.
+
+ 2. Need check to make sure quadrature scheme is compatible with
cells in mesh.
- 2. Need better error trapping when using LineParser. State of
+ 3. Need better error trapping when using LineParser. State of
ifstream is insufficient. Need state of istringstream buffer, but it
is often !good() at eof(). Test of !good() and !eof()?
- 3. Need to add in documentation that fault id corresponds to the
- material-id for cohesive cells.
+ 4. Need to add explanation of output and output parameters to
+ manual.
+ 5. Add dependency diagram to manual.
+
+ 6. Better default PETSc settings. (pc_type=asm?)
+
======================================================================
KNOWN DEFICIENCIES
======================================================================
@@ -58,13 +64,11 @@
MAIN PRIORITIES (Brad)
======================================================================
-Create 6x6x4 meshes for examples.
+0. Create 6x6x4 meshes for examples.
CUBIT
Add GUI instructions in journal files.
- LaGriT
- Figure out why fault orientations are not consistent for LaGriT mesh.
-Create meshes for benchmarks
+1. Create meshes for benchmarks
strike-slip
tet (LaGriT)
@@ -73,16 +77,20 @@
tet (LaGriT)
hex (CUBIT)
- FaultCohesiveKin
- unit test for multiple cohesive cells for hex8 mesh
- normal okay with rollover of fault dip?
+2. Reimplement SolutionIO.
-1. Additional unit tests
+ Follow implementation of MeshIO. SolutionIO implements extracting
+ data from Sieve and calls virtual functions to write data.
- b. ElasticityExplicit and ElasticityImplicit
- i. multiple materials
- ii. partially constrained DOF
+ a. Reimplement SolutionIOVTK
+ b. Implement SolutionIOHDF5
+3. Additional unit tests
+
+ a. ElasticityExplicit and ElasticityImplicit
+ i. multiple materials
+ ii. partially constrained DOF
+
======================================================================
SECONDARY PRIORITIES
======================================================================
@@ -107,15 +115,7 @@
2. Implement absorbing boundary conditions
-3. Reimplement SolutionIO.
-
- Follow implementation of MeshIO. SolutionIO implements extracting
- data from Sieve and calls virtual functions to write data.
-
- a. Reimplement SolutionIOVTK
- b. Implement SolutionIOHDF5
-
-4. Implement MeshIOHDF5 & HDF5 (helper class)
+3. Implement MeshIOHDF5 & HDF5 (helper class)
a. C++ objects
b. unit tests at C++ level
c. Python object (MeshIOHDF5)
@@ -123,33 +123,58 @@
e. unit tests at Python level
======================================================================
-UNRESOLVED ISSUES
+PLANNED RELEASES
======================================================================
-======================================================================
-THINGS WE NEED SIEVE TO DO (Matt)
-======================================================================
+----------------------------------------------------------------------
+PyLith 1.1
+----------------------------------------------------------------------
+HDF5 output
+ volume (solution field)
+ ground surface (or other surfaces) (solution field)
+ points (solution field)
+ cells (state variables)
+Absorbing boundary conditions
+Traction boundary conditions
+Power-law viscoeleatic model
+Velocity boundary conditions
+Gravity (spatial db)
-3. Distribute mesh/bc in scalable manner.
+----------------------------------------------------------------------
+PyLith 1.2
+----------------------------------------------------------------------
+Fault constitutive model
- Inputs:
- * PETSc Mesh (with bc) (global on each processor)
- * number of processors
- Outputs:
- * PETSc Mesh on each processor (restricted to processor)
+----------------------------------------------------------------------
+PyLith 1.3
+----------------------------------------------------------------------
+Green's functions
- [DONE]
+----------------------------------------------------------------------
+PyLith 1.4
+----------------------------------------------------------------------
+Coupling
+Adaptive time stepping
-4. Global refinement of mesh.
+----------------------------------------------------------------------
+PyLith 1.5
+----------------------------------------------------------------------
+Nonlinear solvers
+Large deformation
- Inputs:
- * PETSc Mesh (original)
- * refinement factor (limited to factor of 2?)
- Outputs:
- * PETSc Mesh (refined)
+----------------------------------------------------------------------
+PyLith 1.6
+----------------------------------------------------------------------
+Adaptive mesh refinement
-5. Construct mesh with higher order cells from mesh with lower order cells.
+======================================================================
+THINGS WE NEED SIEVE TO DO (Matt)
+======================================================================
+1. Boundary mesh
+
+2. Construct mesh with higher order cells from mesh with lower order cells.
+
Many mesh generators do not know how to construct higher order
elements, so we will need a general utility for doing this.
@@ -160,14 +185,14 @@
Output:
* PETSc Mesh
- Note: I think this would give us incredible flexibility in selecting
- the appropriate discretization for a problem. For example, I think
- it would allow us to use spectral elements.
+3. Global refinement of mesh.
-6. Trial run with quadratic elements
+ Inputs:
+ * PETSc Mesh (original)
+ * refinement factor (limited to factor of 2- 2 or 4)
+ Outputs:
+ * PETSc Mesh (refined)
-7. Trial run with fully interpolated mesh
-
======================================================================
QUESTIONS FOR LEIF
======================================================================
More information about the cig-commits
mailing list