[cig-commits] r3902 - in short/3D/PyLith/branches/pylith-0.8/pylith3d: examples/linhex/patchtest module pylith3d

knepley at geodynamics.org knepley at geodynamics.org
Wed Jun 28 07:13:18 PDT 2006


Author: knepley
Date: 2006-06-28 07:13:17 -0700 (Wed, 28 Jun 2006)
New Revision: 3902

Modified:
   short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/patchtest/pt1.connect
   short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/patchtest/pt1.statevar
   short/3D/PyLith/branches/pylith-0.8/pylith3d/module/scanner.cc
   short/3D/PyLith/branches/pylith-0.8/pylith3d/pylith3d/Application.py
   short/3D/PyLith/branches/pylith-0.8/pylith3d/pylith3d/Pylith3d_scan.py
Log:
Turned off mesh interpolation by default
 - Now controlled by -scanner.interpolateMesh
Fixed patchtest to run with new stuff


Modified: short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/patchtest/pt1.connect
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/patchtest/pt1.connect	2006-06-28 10:17:09 UTC (rev 3901)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/patchtest/pt1.connect	2006-06-28 14:13:17 UTC (rev 3902)
@@ -3,7 +3,6 @@
 # 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)

Modified: short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/patchtest/pt1.statevar
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/patchtest/pt1.statevar	2006-06-28 10:17:09 UTC (rev 3901)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/examples/linhex/patchtest/pt1.statevar	2006-06-28 14:13:17 UTC (rev 3902)
@@ -1,26 +1,34 @@
 # Sample file defining which state variables are to be output for
 # the elastic and time dependent solutions.
 #
-# The entries are as follows:
-#     istatout1:  0 = Do not output stress
-#                 1 = Output stress
-#     istatout2:  0 = Do not output stress increment
-#                 1 = Output stress rate
-#                 2 = Output stress increment
-#     istatout3:  0 = Do not output strain
-#                 1 = Output strain
-#     istatout4:  0 = Do not output strain increment
-#                 1 = Output strain rate
-#                 2 = Output strain increment
-#     istatout5:  0 = Do not output viscous strain
-#                 1 = Output viscous strain
-#     istatout6:  0 = Do not output viscous strain increment
-#                 1 = Output viscous strain rate
-#                 2 = Output viscous strain increment
-#     istatout7:  0 = Do not output plastic strain
-#                 1 = Output plastic strain
-#     istatout8:  0 = Do not output plastic strain increment
-#                 1 = Output plastic strain rate
-#                 2 = Output plastic strain increment
-#  ist1  ist2  ist3  ist4  ist5  ist6  ist7  ist8
-     1     0     1     0     0     0     0     0
+#     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

Modified: short/3D/PyLith/branches/pylith-0.8/pylith3d/module/scanner.cc
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/module/scanner.cc	2006-06-28 10:17:09 UTC (rev 3901)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/module/scanner.cc	2006-06-28 14:13:17 UTC (rev 3902)
@@ -187,8 +187,9 @@
 {
   char *meshInputFile;
   char  meshOutputFile[2048];
+  int   interpolateMesh;
 
-  int ok = PyArg_ParseTuple(args, "s:processMesh", &meshInputFile);
+  int ok = PyArg_ParseTuple(args, "si:processMesh", &meshInputFile, &interpolateMesh);
 
   if (!ok) {
     return 0;
@@ -206,7 +207,7 @@
 
   ierr = MPI_Comm_rank(comm, &rank);
   sprintf(meshOutputFile, "%s.%d", meshInputFile, rank);
-  mesh = ALE::PyLithBuilder::createNew(comm, meshInputFile);
+  mesh = ALE::PyLithBuilder::createNew(comm, meshInputFile, (bool) interpolateMesh);
   debug << journal::at(__HERE__) << "[" << rank << "]Created new PETSc Mesh for " << meshInputFile << journal::endl;
   mesh = mesh->distribute();
   debug << journal::at(__HERE__) << "[" << rank << "]Distributed PETSc Mesh"  << journal::endl;

Modified: short/3D/PyLith/branches/pylith-0.8/pylith3d/pylith3d/Application.py
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/pylith3d/Application.py	2006-06-28 10:17:09 UTC (rev 3901)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/pylith3d/Application.py	2006-06-28 14:13:17 UTC (rev 3902)
@@ -41,7 +41,7 @@
         pl3dsetup = self.inventory.setup
         import pylith3d
         pylith3d.PetscInitialize()
-        self.inventory.scanner.inventory.fileRoot, mesh = pylith3d.processMesh(self.inventory.scanner.inventory.fileRoot)
+        self.inventory.scanner.inventory.fileRoot, mesh = pylith3d.processMesh(self.inventory.scanner.inventory.fileRoot, self.inventory.scanner.inventory.interpolateMesh)
         try:
             pl3dsetup.initialize(self.inventory.scanner)
         except self.inventory.scanner.CanNotOpenInputOutputFilesError, error:

Modified: short/3D/PyLith/branches/pylith-0.8/pylith3d/pylith3d/Pylith3d_scan.py
===================================================================
--- short/3D/PyLith/branches/pylith-0.8/pylith3d/pylith3d/Pylith3d_scan.py	2006-06-28 10:17:09 UTC (rev 3901)
+++ short/3D/PyLith/branches/pylith-0.8/pylith3d/pylith3d/Pylith3d_scan.py	2006-06-28 14:13:17 UTC (rev 3902)
@@ -759,6 +759,9 @@
         numberCycles = pyre.inventory.int("numberCycles",default=1)
         numberCycles.meta['tip'] = "Number of cycles of the given timestep definitions to perform (default=1)."
 
+        interpolateMesh = pyre.inventory.bool("interpolateMesh",default=False)
+        interpolateMesh.meta['tip'] = "Create intermediate mesh entities, such as edges and faces."
+
         # Unused option flags.
         autoRotateSlipperyNodes = pyre.inventory.bool("autoRotateSlipperyNodes",default=True)
         autoRotateSlipperyNodes.meta['tip'] = "Whether to performa automatic rotation for slippery nodes (presently unused)."



More information about the Cig-commits mailing list