[cig-commits] r5092 - in short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex: . powertest

willic3 at geodynamics.org willic3 at geodynamics.org
Wed Oct 25 07:19:37 PDT 2006


Author: willic3
Date: 2006-10-25 07:19:37 -0700 (Wed, 25 Oct 2006)
New Revision: 5092

Added:
   short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/
   short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/.gdb_history
   short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.bc
   short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.connect
   short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.coord
   short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.fuldat
   short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.hist
   short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.keyval
   short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.prop
   short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.statevar
   short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.time
   short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/runex-debug.py
   short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/runex.py
Log:
New power-law rheology test for linear hexes, for comparison with
results from TECTON and TEKTON.



Added: short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/.gdb_history
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/.gdb_history	2006-10-25 14:15:59 UTC (rev 5091)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/.gdb_history	2006-10-25 14:19:37 UTC (rev 5092)
@@ -0,0 +1,256 @@
+n
+n
+n
+n
+n
+n
+n
+n
+l
+l
+break 103
+cont
+n
+print ielg
+print *ielg
+print ielgnew
+n
+n
+n
+l
+n
+l
+l
+l
+l
+l
+l
+break 182
+break 181
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+l
+l
+break 160
+cont
+n
+n
+n
+n
+n
+n
+n
+n
+n
+delete 3
+cont
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+print ielf
+cont
+quit
+break viscos_
+cont
+break iterate_
+cont
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+x/30fg bextern
+x/30fg bintern
+x/30fg bresid
+n
+x/30fg bextern
+x/30fg bresid
+x/30fg bintern
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+print reform
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+x/30fg bextern
+x/30fg bintern
+x/30fg bresid
+l
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+where
+quit

Added: short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.bc
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.bc	2006-10-25 14:15:59 UTC (rev 5091)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.bc	2006-10-25 14:19:37 UTC (rev 5092)
@@ -0,0 +1,51 @@
+#  Sample boundary condition file for 3D problem.  The units for this
+#  will vary depending on the boundary condition type (displacement,
+#  velocity, or force).  The simplest mechanism I can think of is to
+#  specify the units for each of the types used at the top of the file.
+#  In the current implementation of the code, the reading of boundary
+#  conditions results in 2 arrays -- 1 integer and 1 real -- both of
+#  dimensions (ndof,numnp), where ndof is the number of degrees of
+#  freedom per node (3 for this 3D example), and numnp is the number of
+#  nodal points.  Degrees of freedom for which no condition is applied
+#  will have an entry of 0 in the integer array.  I can think of a more
+#  efficient implementation where the integer array now has dimensions
+#  of (ndof+1,numbc), where the extra entry now holds the node number
+#  at which the condition is applied and numbc is the number of nodes
+#  at which BC are applied.  This should reduce storage requirements,
+#  but I will have to examine the code to see whether it is worthwhile
+#  to make the change.
+#
+displacement_units = m
+velocity_units = m/s
+force_units = newton
+#
+#  List the boundary conditions below.
+#
+#  Note:  At present, no comments are allowed below this point!
+#
+       1       1       1       1   0.00000000E+00   0.00000000E+00   0.00000000E+00
+       2       1       1       1   0.00000000E+00   0.00000000E+00   0.00000000E+00
+       3       1       1       1   0.00000000E+00   0.00000000E+00   0.00000000E+00
+       4       1       1       1   0.00000000E+00   0.00000000E+00   0.00000000E+00
+       5       1       1       1   0.00000000E+00   0.00000000E+00   0.00000000E+00
+       6       1       1       1   0.00000000E+00   0.00000000E+00   0.00000000E+00
+       7       1       1       1   0.00000000E+00   0.00000000E+00   0.00000000E+00
+       8       1       1       1   0.00000000E+00   0.00000000E+00   0.00000000E+00
+       9       1       1       1   0.00000000E+00   0.00000000E+00   0.00000000E+00
+      10       1       1       0   0.00000000E+00   0.00000000E+00   0.00000000E+00
+      11       0       1       0   0.00000000E+00   0.00000000E+00   0.00000000E+00
+      12       1       1       0   0.00000000E+00   0.00000000E+00   0.00000000E+00
+      13       1       0       0   0.00000000E+00   0.00000000E+00   0.00000000E+00
+      15       1       0       0   0.00000000E+00   0.00000000E+00   0.00000000E+00
+      16       1       1       0   0.00000000E+00   0.00000000E+00   0.00000000E+00
+      17       0       1       0   0.00000000E+00   0.00000000E+00   0.00000000E+00
+      18       1       1       0   0.00000000E+00   0.00000000E+00   0.00000000E+00
+      19       1       1       1   0.00000000E+00   0.00000000E+00   1.00000000E+00
+      20       0       1       1   0.00000000E+00   0.00000000E+00   1.00000000E+00
+      21       1       1       1   0.00000000E+00   0.00000000E+00   1.00000000E+00
+      22       1       0       1   0.00000000E+00   0.00000000E+00   1.00000000E+00
+      23       0       0       1   0.00000000E+00   0.00000000E+00   1.00000000E+00
+      24       1       0       1   0.00000000E+00   0.00000000E+00   1.00000000E+00
+      25       1       1       1   0.00000000E+00   0.00000000E+00   1.00000000E+00
+      26       0       1       1   0.00000000E+00   0.00000000E+00   1.00000000E+00
+      27       1       1       1   0.00000000E+00   0.00000000E+00   1.00000000E+00

Added: short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.connect
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.connect	2006-10-25 14:15:59 UTC (rev 5091)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.connect	2006-10-25 14:19:37 UTC (rev 5092)
@@ -0,0 +1,68 @@
+# Sample connectivity input file for 3D problem.  The element number is
+# not strictly necessary, but makes it easier to examine the file.
+# This file defines the element type, material type, and infinite
+# element info as well as the connectivity.
+# The entries are as follows:
+#   iel    = element number.
+#   ietype = element type from the following list:
+#            1 = linear hexahedron (8 nodes)
+#	     2 = "wrick" -- linear hex with one set of collapsed nodes
+#	         (7 nodes)
+#            3 = wedge -- linear hex with two sets of collapsed nodes
+#                (6 nodes)
+#            4 = pyramid -- linear hex with 4 nodes collapsed to a point
+#                (5 nodes)
+#            5 = linear tetrahedron (4 nodes)
+#            6 = quadratic hexahedron (20 nodes)
+#	     7 = quadratic "wrick" -- quadratic hex with 3 nodes
+#                along one edge collapsed to a point (18 nodes)
+#            8 = quadratic wedge -- quadratic hex with 3 sets of
+#                collapsed nodes (15 nodes)
+#            9 = quadratic pyramid -- quadratic hex with 9 nodes
+#                collapsed to a point (13 nodes)
+#           10 = quadratic tetrahedron (10 nodes)
+#   mat    = material type for element.
+#   infin  = infinite domain element code.
+#   ia(i)  = node numbers for element.
+#
+# The following description of the input for this element is copied from
+# a TECTON input file for linear hex elements:
+#
+#    NODE NUMBERS ARE ENTERED COUNTERCLOCKWISE FROM LOWER LEFT CORNER:
+#
+#             FRONT FACE         BACK FACE (FOR 3D)
+#
+#             NODE4--NODE3       NODE8--NODE7
+#               |      |           |      |
+#             NODE1--NODE2       NODE5--NODE6
+#
+#    IF NODE3 = NODE4, ELEMENT IS ASSUMED TO BE TRIANGULAR.
+#
+#    THE INFINITE DOMAIN ELEMENT CODE IS AN INTEGER COMPOSED OF 3
+#    DIGITS.  THE RIGHTMOST DIGIT IS THE CODE FOR THE FIRST LOCAL
+#    COORDINATE DIRECTION (R-DIRECTION), THE MIDDLE DIGIT IS THE CODE
+#    FOR THE SECOND LOCAL COORDINATE DIRECTION (S-DIRECTION), AND THE
+#    LEFTMOST DIGIT IS THE CODE FOR THE THIRD LOCAL COORDINATE
+#    DIRECTION.  THE FIRST LOCAL COORDINATE DIRECTION IS POSITIVE
+#    MOVING FROM NODE 1 TO NODE 2 (AND FROM NODE 5 TO NODE 6 FOR 3D).
+#    THE SECOND LOCAL COORDINATE DIRECTION IS POSITIVE MOVING FROM
+#    NODE 2 TO NODE 3.  THE THIRD LOCAL COORDINATE DIRECTION IS
+#    POSITIVE MOVING FROM NODE 5 TO NODE 1.  EACH DIGIT OF INFIN CAN
+#    THEN HAVE ONE OF THREE VALUES:
+#        0 = THE ELEMENT IS A REGULAR ELEMENT IN THIS DIRECTION
+#        1 = THE ELEMENT IS INFINITE IN THE NEGATIVE DIRECTION
+#        2 = THE ELEMENT IS INFINITE IN THE POSITIVE DIRECTION
+#
+# At present, comments are not allowed within the connectivity
+# information.
+#
+#    N    IETYPE MAT  INFIN  N1    N2    N3    N4    N5    N6    N7    N8
+#
+     1      1     1     0     4     5     2     1    13    14    11    10
+     2      1     1     0     5     6     3     2    14    15    12    11
+     3      1     1     0     7     8     5     4    16    17    14    13
+     4      1     1     0     8     9     6     5    17    18    15    14
+     5      1     1     0    13    14    11    10    22    23    20    19
+     6      1     1     0    14    15    12    11    23    24    21    20
+     7      1     1     0    16    17    14    13    25    26    23    22
+     8      1     1     0    17    18    15    14    26    27    24    23

Added: short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.coord
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.coord	2006-10-25 14:15:59 UTC (rev 5091)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.coord	2006-10-25 14:19:37 UTC (rev 5092)
@@ -0,0 +1,44 @@
+#  Sample coordinate file for 3D problem.  The tentative format is to
+#  describe the units (distance) at the top of the file, followed by
+#  the coordinate information.  The node number is not strictly
+#  necessary (and will not be stored), but it makes it easier to see
+#  the node-location correspondence when looking at this file.
+#  In fortran, the nodal coordinate array is dimensioned as:
+#  x(nsd,numnp), where nsd is the number of spatial dimensions (3 for
+#  this 3D example), and numnp is the number of nodes.
+#
+coord_units = km
+#
+#  List the coordinates below.
+#  Note:  The current implementation does not allow comments within
+#  the coordinate list.
+#
+#  Node      X-coord           Y-coord           Z-coord
+#
+   1           0.00000000E+00   0.00000000E+00  -2.40000000E+01
+   2           1.20000000E+01   0.00000000E+00  -2.40000000E+01
+   3           2.40000000E+01   0.00000000E+00  -2.40000000E+01
+   4           0.00000000E+00   1.20000000E+01  -2.40000000E+01
+   5           1.20000000E+01   1.20000000E+01  -2.40000000E+01
+   6           2.40000000E+01   1.20000000E+01  -2.40000000E+01
+   7           0.00000000E+00   2.40000000E+01  -2.40000000E+01
+   8           1.20000000E+01   2.40000000E+01  -2.40000000E+01
+   9           2.40000000E+01   2.40000000E+01  -2.40000000E+01
+  10           0.00000000E+00   0.00000000E+00  -1.20000000E+01
+  11           1.20000000E+01   0.00000000E+00  -1.20000000E+01
+  12           2.40000000E+01   0.00000000E+00  -1.20000000E+01
+  13           0.00000000E+00   1.20000000E+01  -1.20000000E+01
+  14           1.20000000E+01   1.20000000E+01  -1.20000000E+01
+  15           2.40000000E+01   1.20000000E+01  -1.20000000E+01
+  16           0.00000000E+00   2.40000000E+01  -1.20000000E+01
+  17           1.20000000E+01   2.40000000E+01  -1.20000000E+01
+  18           2.40000000E+01   2.40000000E+01  -1.20000000E+01
+  19           0.00000000E+00   0.00000000E+00   0.00000000E+00
+  20           1.20000000E+01   0.00000000E+00   0.00000000E+00
+  21           2.40000000E+01   0.00000000E+00   0.00000000E+00
+  22           0.00000000E+00   1.20000000E+01   0.00000000E+00
+  23           1.20000000E+01   1.20000000E+01   0.00000000E+00
+  24           2.40000000E+01   1.20000000E+01   0.00000000E+00
+  25           0.00000000E+00   2.40000000E+01   0.00000000E+00
+  26           1.20000000E+01   2.40000000E+01   0.00000000E+00
+  27           2.40000000E+01   2.40000000E+01   0.00000000E+00

Added: short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.fuldat
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.fuldat	2006-10-25 14:15:59 UTC (rev 5091)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.fuldat	2006-10-25 14:19:37 UTC (rev 5092)
@@ -0,0 +1,5 @@
+# Time steps for which full output is desired for power-law test.
+#
+        10
+        50
+       100

Added: short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.hist
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.hist	2006-10-25 14:15:59 UTC (rev 5091)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.hist	2006-10-25 14:19:37 UTC (rev 5092)
@@ -0,0 +1,22 @@
+# Sample time history definition file for TECTON.
+# Each history consists of two or more lines.  The first line defines
+# the number of points defining the history and the default load
+# value for the history.  Subsequent lines define time, load pairs.
+#
+# Dummy load history file.  No load histories are actually required
+# for SCEC benchmark 1.
+#
+# The definitions are as follows:
+#
+#   npoints  = The number of points defining the given history.
+#   defval   = The value assigned to every point by default.  The
+#              default value is then overridden by load values.
+#   time     = The time value for a given point.
+#   load     = The load value for a given point.
+#
+#  npoints(i)   defval(i)
+#  time(j,i)    load(j,i), j=1,points(i), i=1,nhistories
+#
+      2    0.0
+    0.0    1.0
+  4.0e8    1.0

Added: short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.keyval
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.keyval	2006-10-25 14:15:59 UTC (rev 5091)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.keyval	2006-10-25 14:19:37 UTC (rev 5092)
@@ -0,0 +1,97 @@
+# Example of a keyword=value file to be used with TECTON.
+# In this example, the default values are listed, but commented out.
+# To change a default value, uncomment the appropriate entry and
+# edit the value.
+# With the present implementation, there should not be any spaces
+# before the keyword.
+#
+# Non-default parameters to be used for SCEC BM 2.
+#
+# Scaling factors applied to Winkler forces.  These factors may be
+# used as a quick and easy way of changing the density or gravitational
+# acceleration when Winkler forces are used to simulate gravity.
+#
+#winklerScaleX = 1.0
+#winklerScaleY = 1.0
+#winklerScaleZ = 1.0
+#
+#
+# Parameters controlling stress integration and numerical computation
+# of the tangent material matrix.  These default values should be
+# reasonable for most cases.
+#
+#stressTolerance = 1.0e-12*Pa
+#minimumStrainPerturbation = 1.0e-7
+#initialStrainPerturbation = 1.0e-1
+#
+#
+# Parameters controlling the solution of the linear problem at each
+# iteration.  This is now all controlled by PETSc command-line
+# arguments.  The only option now specified in this file is whether to
+# use the solution from the previous time step as the starting guess
+# for the current time step.
+#
+# usePreviousDisplacementFlag = 0
+#
+#
+# Quadrature order for the problem.  The options are:
+#       Full:           Quadrature order that should give the exact
+#                       element matrices when the elements are
+#                       geometrically undistorted.
+#       Reduced:        Quadrature order that is one order less than
+#                       full quadrature.  This option should be used
+#                       with caution.
+#       Selective:      Uses Hughes' b-bar formulation to perform
+#                       reduced quadrature on the dilatational parts of
+#                       the strain-displacement matrix.  This can be
+#                       useful in nearly-incompressible problems.
+#
+#quadratureOrder = "Full"
+#
+#
+# Gravitational acceleration in each direction.
+#
+#gravityX = 0.0*m/(s*s)
+#gravityY = 0.0*m/(s*s)
+#gravityZ = 0.0*m/(s*s)
+#
+#
+# Factors controlling computation of prestresses.  When gravity is being
+# used, an automatic computation option may be used, with the option of
+# using alternative values for Poisson's ratio and Young's modulus.
+# Each prestress component may also be scaled.  This option is only
+# useful if the prestresses are read from a file (and not automatically
+# computed).
+#
+#prestressAutoCompute = False
+#prestressAutoChangeElasticProperties = False
+#prestressAutoComputePoisson = 0.49
+#prestressAutoComputeYoungs = 1.0e30*Pa
+#
+#prestressScaleXx = 1.0
+#prestressScaleYy = 1.0
+#prestressScaleZz = 1.0
+#prestressScaleXy = 1.0
+#prestressScaleXz = 1.0
+#prestressScaleYz = 1.0
+#
+#
+# Scaling factors applied to differential Winkler forces.  Differential
+# Winkler forces are those applied across a slippery node interface, and
+# are generally used to keep the fault locked at certain times.  These
+# factors control the magnitudes and provide a simple way of scaling the
+# forces so the fault remains sufficiently 'locked'.
+#
+#winklerSlipScaleX = 1.0
+#winklerSlipScaleY = 1.0
+#winklerSlipScaleZ = 1.0
+#
+#
+# Unit numbers used by f77.  These defaults should work for most Unix
+# systems, but may be altered if necessary.
+#
+#f77StandardInput = 5
+#f77StandardOutput = 6
+#f77FileInput = 10
+#f77AsciiOutput = 11
+#f77PlotOutput = 12

Added: short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.prop
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.prop	2006-10-25 14:15:59 UTC (rev 5091)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.prop	2006-10-25 14:19:37 UTC (rev 5092)
@@ -0,0 +1,19 @@
+#  Sample material properties definition file.
+#  The number of properties for each material model have been
+#  previously defined.
+#  At present, the materials are assumed to be listed in order, so that
+#  material number is determined by position in this file.  This may
+#  change in the future.
+#  Also, the end of each material description is signified by setting
+#  the endMaterial flag to 'True'.
+#  Also at present, the materialType corresponds to a class, so the
+#  first letter is capitalized.
+#
+# Material number 1
+materialType 	     = 'IsotropicPowerLawMaxwellViscoelastic'
+density              = 3000.0*kg/m**3	         #  Density
+youngsModulus        = 7.5e10*Pa	         #  Young's modulus
+poissonsRatio        = 0.25		         #  Poisson's ratio
+powerLawExponent     = 3.50		         #  Exponent
+viscosityCoefficient = 1.0e12*s*Pa**3.5          #  EMHU
+endMaterial	     = True

Added: short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.statevar
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.statevar	2006-10-25 14:15:59 UTC (rev 5091)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.statevar	2006-10-25 14:19:37 UTC (rev 5092)
@@ -0,0 +1,34 @@
+# Sample file defining which state variables are to be output for
+# the elastic and time dependent solutions.
+#
+#     The istatout array specifies output options for each individual
+#     state variable.  At present there are a maximum of 24 possible
+#     state variables, and this number may increase with the addition
+#     of new material models.  There are three types of state variable
+#     output:
+#
+#           1  Total accumulated values for the current time step
+#           2  Incremental values from the previous step to the current
+#           3  Rates computed from the previous step to the current
+#
+#      Present state variables occur in groups of 6, corresponding to
+#      the number of stress/strain components, although this may change
+#      in the future.  The present groups are:
+#
+#      1-6:    Cauchy stress
+#      7-12:   Total strain
+#      13-18:  Viscous strain
+#      18-24:  Plastic strain
+#
+#      Three lines of input are required, corresponding to the three
+#      types of state variable output.  For each line the user must
+#      enter:
+#      The number of state variables to output for this type (nstatout).
+#        Note that the value of nstatout may be zero, in which case no
+#        further output is needed for that line.
+#      The state variables to output for this type (nstatout values).
+#
+#nstatout, istatout(i),i=1,nstatout
+    12   1   2   3   4   5   6   7   8   9  10  11  12
+    12   1   2   3   4   5   6   7   8   9  10  11  12
+    0

Added: short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.time
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.time	2006-10-25 14:15:59 UTC (rev 5091)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/powertest.time	2006-10-25 14:19:37 UTC (rev 5092)
@@ -0,0 +1,64 @@
+# Sample time step group definition file for TECTON.  This file
+# contains several integer and real parameters that must be defined
+# for each group.  Note that the elastic solution corresponds to
+# group number 0 and must always be defined.  Some of the parameters
+# have no meaning for the elastic solution but they are defined
+# anyway.  In the fortran code, each of the parameters (other than n)
+# is stored in a separate array of dimension nintg+1, where nintg
+# is the number of time step groups.  The definitions are as follows:
+#
+#   n      = time step group number.  The elastic solution
+#            corresponds to group number 0, and must always be
+#            defined.
+#   maxstp = the number of steps in the group (this is always 1 for
+#            the elastic solution).
+#   delt   = time step size.  This is a real value with units of
+#            time.
+#   alfa   = amount of implicitness.  This is a real dimensionless
+#            parameter with values that can range from 0.0 (fully
+#            explicit) to 1.0 (fully implicit).  The value is
+#            generally set to 0.5.
+#   maxit  = maximum number of equilibrium iterations before stiffness 
+#            matrix is reformed.
+#   ntdinit= number of time steps between initial reformation of
+#            stiffness matrix (before any iterations).  A negative
+#            value indicates that reformation should occur only once
+#            for the first step in the group.  A value of zero indicates
+#            that reformation should never occur.
+#   lgdef  = large deformation solution flag.  This is an integer
+#            parameter with 3 possible values:
+#            0:  linear strain
+#            1:  large strain, but use only the linear contribution
+#                to the stiffness matrix.  This sometimes gives
+#                better convergence.
+#            2:  large strain using the nonlinear contribution to the
+#                stiffness matrix.
+#
+# Convergence criteria for the nonlinear iterative solution:
+#
+#   utol   = convergence tolerance for displacements.  This is a
+#            dimensionless real value.
+#   ftol   = convergence tolerance for forces.  This is a
+#            dimensionless real value.
+#   etol   = convergence tolerance for energy.  This is a
+#            dimensionless real value.
+#   itmax  = maximum number of equilibrium iterations.  This is an
+#            integer quantity.
+#
+# Note that the convergence criteria defined below are appropriate for
+# a linear elastic problem.  The values would be much different for a
+# nonlinear or time-dependent problem.
+#
+# The only parameter in this list requiring units is the time step
+# size, with units of time.  I generally make sure everything is
+# converted to seconds, although I frequently specify time in years.
+#
+# Time step information for SCEC benchmark 1.
+#
+#
+time_units = year  # This should be converted to seconds.
+#
+# n maxstp delt alfa maxit ntdinit lgdef utol     ftol    etol  itmax
+#
+  0   1   0.e+0  5.e-1 1001   4      0  1.0e+00  1.0e+0  1.0e+00 1
+  1 100   0.1    5.e-1    1   1      0  1.0e-06  1.0e-06 1.0e-10 10

Added: short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/runex-debug.py
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/runex-debug.py	2006-10-25 14:15:59 UTC (rev 5091)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/runex-debug.py	2006-10-25 14:19:37 UTC (rev 5092)
@@ -0,0 +1,86 @@
+#!/usr/bin/env python
+#
+# ======================================================================
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# {LicenseText}
+#
+# ======================================================================
+#
+
+root="powertest"
+
+# ----------------------------------------------------------------------
+def setupInput(nprocs):
+  dupext = [".fuldat", ".prop", ".statevar", ".time"]
+  sinext = [".coord", ".connect", ".bc", ".split", ".traction"]
+
+  print "Setting up symbolic links with prefix '%s_%d':" % (root, nprocs)
+  import os
+
+  dirFiles = os.listdir(os.getcwd())
+  for ext in sinext:
+    src = "%s%s" % (root, ext)
+    dest = "%s_%s%s" % (root, nprocs, ext)
+    if not dest in dirFiles:
+      print "  %s -> %s... created" % (dest, src)
+      os.symlink(src, dest)
+    else:
+      print "  %s -> %s... already exists" % (dest, src)
+
+  for ext in dupext:
+    src = "%s%s" % (root, ext)
+    for iproc in range(nprocs):
+      dest = "%s_%s.%d%s" % (root, nprocs, iproc, ext)
+      if not dest in dirFiles:
+        print "  %s -> %s... created" % (dest, src)
+        os.symlink(src, dest)
+      else:
+        print "  %s -> %s... already exists" % (dest, src)
+  return
+
+
+# ----------------------------------------------------------------------
+def run(nprocs):
+  print "Running PyLith..."
+
+  # TODO: Replace the use of launching via 'system' with use
+  # of Leif's architecture independent utility.
+
+  cmd = "mpirun -np %d `which pylith3dapp.py` " \
+        "--typos=relaxed " \
+        "--scanner.fileRoot=%s_%d " \
+        "--scanner.asciiOutput=full " \
+        "--scanner.ucdOutput=ascii " \
+        "-log_summary -pc_type bjacobi -sub_pc_type ilu " \
+	"-start_in_debugger " \
+        "-ksp_monitor -ksp_view -ksp_rtol 1e-09" % (nprocs, root, nprocs)
+  import os
+  print cmd
+  os.system(cmd)
+  return
+
+
+# ----------------------------------------------------------------------
+if __name__ == "__main__":
+  from optparse import OptionParser
+
+  parser = OptionParser()
+  parser.add_option("-n", "--numprocs", dest="nprocs",
+                    type="int", metavar="NPROCS",
+                    help="Set number of processors.")
+  (options, args) = parser.parse_args()
+  if len(args) != 0:
+    parser.error("Incorrent number of arguments.")
+
+  nprocs = 1
+  if not options.nprocs is None:
+    nprocs = options.nprocs
+
+  setupInput(nprocs)
+  run(nprocs)
+
+
+# End of file


Property changes on: short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/runex-debug.py
___________________________________________________________________
Name: svn:executable
   + *

Added: short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/runex.py
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/runex.py	2006-10-25 14:15:59 UTC (rev 5091)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/runex.py	2006-10-25 14:19:37 UTC (rev 5092)
@@ -0,0 +1,85 @@
+#!/usr/bin/env python
+#
+# ======================================================================
+#
+#                           Brad T. Aagaard
+#                        U.S. Geological Survey
+#
+# {LicenseText}
+#
+# ======================================================================
+#
+
+root="powertest"
+
+# ----------------------------------------------------------------------
+def setupInput(nprocs):
+  dupext = [".fuldat", ".prop", ".statevar", ".time"]
+  sinext = [".coord", ".connect", ".bc", ".split", ".traction"]
+
+  print "Setting up symbolic links with prefix '%s_%d':" % (root, nprocs)
+  import os
+
+  dirFiles = os.listdir(os.getcwd())
+  for ext in sinext:
+    src = "%s%s" % (root, ext)
+    dest = "%s_%s%s" % (root, nprocs, ext)
+    if not dest in dirFiles:
+      print "  %s -> %s... created" % (dest, src)
+      os.symlink(src, dest)
+    else:
+      print "  %s -> %s... already exists" % (dest, src)
+
+  for ext in dupext:
+    src = "%s%s" % (root, ext)
+    for iproc in range(nprocs):
+      dest = "%s_%s.%d%s" % (root, nprocs, iproc, ext)
+      if not dest in dirFiles:
+        print "  %s -> %s... created" % (dest, src)
+        os.symlink(src, dest)
+      else:
+        print "  %s -> %s... already exists" % (dest, src)
+  return
+
+
+# ----------------------------------------------------------------------
+def run(nprocs):
+  print "Running PyLith..."
+
+  # TODO: Replace the use of launching via 'system' with use
+  # of Leif's architecture independent utility.
+
+  cmd = "mpirun -np %d `which pylith3dapp.py` " \
+        "--typos=relaxed " \
+        "--scanner.fileRoot=%s_%d " \
+        "--scanner.asciiOutput=full " \
+        "--scanner.ucdOutput=ascii " \
+        "-log_summary -pc_type bjacobi -sub_pc_type ilu " \
+        "-ksp_monitor -ksp_view -ksp_rtol 1e-09" % (nprocs, root, nprocs)
+  import os
+  print cmd
+  os.system(cmd)
+  return
+
+
+# ----------------------------------------------------------------------
+if __name__ == "__main__":
+  from optparse import OptionParser
+
+  parser = OptionParser()
+  parser.add_option("-n", "--numprocs", dest="nprocs",
+                    type="int", metavar="NPROCS",
+                    help="Set number of processors.")
+  (options, args) = parser.parse_args()
+  if len(args) != 0:
+    parser.error("Incorrent number of arguments.")
+
+  nprocs = 1
+  if not options.nprocs is None:
+    nprocs = options.nprocs
+
+  setupInput(nprocs)
+  run(nprocs)
+
+
+# End of file


Property changes on: short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/powertest/runex.py
___________________________________________________________________
Name: svn:executable
   + *



More information about the cig-commits mailing list