[cig-commits] r7399 - short/3D/PyLith/trunk/examples/3d/hex8

brad at geodynamics.org brad at geodynamics.org
Fri Jun 22 17:07:03 PDT 2007


Author: brad
Date: 2007-06-22 17:07:03 -0700 (Fri, 22 Jun 2007)
New Revision: 7399

Added:
   short/3D/PyLith/trunk/examples/3d/hex8/README
   short/3D/PyLith/trunk/examples/3d/hex8/hex8_1000m.cfg
   short/3D/PyLith/trunk/examples/3d/hex8/shearxy.cfg
Modified:
   short/3D/PyLith/trunk/examples/3d/hex8/box_hex8_1000m.exo
   short/3D/PyLith/trunk/examples/3d/hex8/dislocation.cfg
   short/3D/PyLith/trunk/examples/3d/hex8/finalslip.spatialdb
   short/3D/PyLith/trunk/examples/3d/hex8/fixeddisp_shear.spatialdb
   short/3D/PyLith/trunk/examples/3d/hex8/fixeddisp_zero.spatialdb
   short/3D/PyLith/trunk/examples/3d/hex8/fourmaterials.odb
   short/3D/PyLith/trunk/examples/3d/hex8/mat_elastic.spatialdb
   short/3D/PyLith/trunk/examples/3d/hex8/mesh_hex8_1000m.jou
   short/3D/PyLith/trunk/examples/3d/hex8/sliprate.spatialdb
   short/3D/PyLith/trunk/examples/3d/hex8/sliptime.spatialdb
Log:
Setup hex8 shear and dislocation examples with CUBIT mesh.

Added: short/3D/PyLith/trunk/examples/3d/hex8/README
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/README	2007-06-22 23:43:21 UTC (rev 7398)
+++ short/3D/PyLith/trunk/examples/3d/hex8/README	2007-06-23 00:07:03 UTC (rev 7399)
@@ -0,0 +1,28 @@
+The examples in this directory include (1) simple shearing of a box
+and (2) slip on a through-going, vertical, strike-slip fault in a box
+that is 6 km x 6 km x 4 km with linear hexahedral cells that have
+edges 1.0 km long.
+
+The box spans the volume:
+
+  -3 km <= x <= +3 km
+  -3 km <= y <= +3 km
+  -6 km <= z <= 0  km.
+
+The mesh is generated using CUBIT. Journal files are included and are
+annotated to guide you through the GUI to replicate the commands in
+the journal files should you prefer to use the GUI.
+
+NOTE: Importing Exodus files into PyLith requires the netcdf
+library. This is included in the PyLith binary distribution. If you
+are compiling from the source code, you will want to use the
+--enable-cubit option to turn on importing meshes from CUBIT (you must
+have the netcdf library and header files installed when configuring
+PyLith).
+
+You can examine the Exodus file exported from CUBIT using the ncdump
+command.
+
+See the configuration files shearxy.cfg and dislocation.cfg on
+instructions on how to run these simulations. The configuration files
+also contain information about the simulation parameters.

Modified: short/3D/PyLith/trunk/examples/3d/hex8/box_hex8_1000m.exo
===================================================================
(Binary files differ)

Modified: short/3D/PyLith/trunk/examples/3d/hex8/dislocation.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/dislocation.cfg	2007-06-22 23:43:21 UTC (rev 7398)
+++ short/3D/PyLith/trunk/examples/3d/hex8/dislocation.cfg	2007-06-23 00:07:03 UTC (rev 7399)
@@ -1,114 +1,70 @@
 # -*- Python -*-
 [pylithapp]
 
-# ----------------------------------------------------------------------
-# journal
-# ----------------------------------------------------------------------
-[pylithapp.journal.info]
-timedependent = 1
-implicit = 1
-petsc = 1
-solverlinear = 1
-meshiocubit = 1
-implicitelasticity = 1
-quadrature3d = 1
-fiatlagrange = 1
-faultcohesivekin = 1
+# This is not a self-contained simulation configuration file. This
+# file only specifies parameters specific to the boundary and
+# interface conditions. The general parameters are specificed in the
+# hex8_1000m file.
+#
+# To run the simulation:
+# pylith hex8_1000m.cfg dislocation.cfg
 
 # ----------------------------------------------------------------------
-# mesh_generator
-# ----------------------------------------------------------------------
-[pylithapp.mesh_generator]
-debug = 0
-importer = pylith.meshio.MeshIOCubit
-
-[pylithapp.mesh_generator.importer]
-filename = box_hex8_1000m.exo
-coordsys.space_dim = 3
-
-# ----------------------------------------------------------------------
 # problem
 # ----------------------------------------------------------------------
 [pylithapp.timedependent]
-total_time = 0.0*s
-default_dt = 1.0*s
-dimension = 3
-formulation = pylith.problems.Implicit
-bc = pylith.bc.BCSixSides
-#interfaces = pylith.faults.SingleFault
-materials = fourmaterials
+total_time = 0.0*s ; total time of simulation
+default_dt = 1.0*s ; time step
 
-# ----------------------------------------------------------------------
-# materials
-# ----------------------------------------------------------------------
-[pylithapp.timedependent.materials]
-# TEMPORARY
-viscoelastic_neg = pylith.materials.ElasticIsotropic3D
-viscoelastic_pos = pylith.materials.ElasticIsotropic3D
+# Set the containers for the boundary conditions and faults.
 
-[pylithapp.timedependent.materials.elastic_pos]
-label = Elastic material +x
-id = 1
-db.iohandler.filename = mat_elastic.spatialdb
-quadrature = pylith.feassemble.quadrature.Quadrature3D
-quadrature.cell = pylith.feassemble.FIATLagrange
-quadrature.cell.dimension = 3
-quadrature.cell.quad_order = 2
+# Use the predefined 6 item BC container
+bc = pylith.bc.BCSixSides
 
-[pylithapp.timedependent.materials.elastic_neg]
-label = Elastic material -x
-id = 2
-db.iohandler.filename = mat_elastic.spatialdb
-quadrature = pylith.feassemble.quadrature.Quadrature3D
-quadrature.cell = pylith.feassemble.FIATLagrange
-quadrature.cell.dimension = 3
-quadrature.cell.quad_order = 2
+# Use the prefined 1 item faults container
+interfaces = pylith.faults.SingleFault
 
-[pylithapp.timedependent.materials.viscoelastic_pos]
-label = Viscoelastic material +x
-id = 3
-db.iohandler.filename = mat_elastic.spatialdb
-quadrature = pylith.feassemble.quadrature.Quadrature3D
-quadrature.cell = pylith.feassemble.FIATLagrange
-quadrature.cell.dimension = 3
-quadrature.cell.quad_order = 2
-
-[pylithapp.timedependent.materials.viscoelastic_neg]
-label = Viscoelastic material -x
-id = 4
-db.iohandler.filename = mat_elastic.spatialdb
-quadrature = pylith.feassemble.quadrature.Quadrature3D
-quadrature.cell = pylith.feassemble.FIATLagrange
-quadrature.cell.dimension = 3
-quadrature.cell.quad_order = 2
-
 # ----------------------------------------------------------------------
 # boundary conditions
 # ----------------------------------------------------------------------
+
+# Set the parameters for the desired boundary conditions. Note that we
+# only use a subset of the boundary conditions provided in the 6 BC
+# container.
+#
+# Note: A more natural set of boundary conditions involves pinning the
+# z-DOF on the bottom (-z) face. Howver, the current release of PyLith
+# does not permit overlapping fault interfaces and Dirichlet boundary
+# conditions with the block Jacobi preconditioner.
+
+# The label corresponds to the nodeset ID in CUBIT.
+
 [pylithapp.timedependent.bc.x_pos]
 fixed_dof = [0, 1, 2]
 label = 11
 db.label = Dirichlet BC on +x
-db.iohandler.filename = fixeddisp_shear.spatialdb
+db.iohandler.filename = fixeddisp_zero.spatialdb
 
 [pylithapp.timedependent.bc.x_neg]
 fixed_dof = [0, 1, 2]
 label = 12
 db.label = Dirichlet BC on -x
-db.iohandler.filename = fixeddisp_shear.spatialdb
+db.iohandler.filename = fixeddisp_zero.spatialdb
 
 # ----------------------------------------------------------------------
 # faults
 # ----------------------------------------------------------------------
 [pylithapp.timedependent.interfaces]
-#fault = pylith.faults.FaultCohesiveKin
+# Set the type of fault interface condition.
+fault = pylith.faults.FaultCohesiveKin
 
+# Set the parameters for the fault interface condition.
+
 [pylithapp.timedependent.interfaces.fault]
 label = 10
 quadrature = pylith.feassemble.quadrature.Quadrature2Din3D
 quadrature.cell = pylith.feassemble.FIATLagrange
 quadrature.cell.dimension = 2
-quadrature.cell.quad_order = 2
 mat_db.iohandler.filename = mat_elastic.spatialdb
 
 [pylithapp.timedependent.interfaces.fault.eq_src.slip_function]
@@ -118,18 +74,9 @@
 
 
 # ----------------------------------------------------------------------
-# PETSc
-# ----------------------------------------------------------------------
-[pylithapp.petsc]
-pc_type = jacobi
-ksp_monitor = true
-ksp_view = true
-log_summary = true
-ksp_max_it = 500
-ksp_gmres_restart = 5000
-
-# ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------
+# Set the root name for output.
+
 [pylithapp.problem.formulation.output.output]
-filename = dislocation_hex8_1000m.vtk
+filename = dislocation.vtk

Modified: short/3D/PyLith/trunk/examples/3d/hex8/finalslip.spatialdb
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/finalslip.spatialdb	2007-06-22 23:43:21 UTC (rev 7398)
+++ short/3D/PyLith/trunk/examples/3d/hex8/finalslip.spatialdb	2007-06-23 00:07:03 UTC (rev 7399)
@@ -1,3 +1,11 @@
+// -*- C++ -*- (tell Emacs to use C++ mode for syntax highlighting)
+//
+// This spatial database specifies the distribution of slip on the
+// fault surface. In this case we prescribe a piecewise linear, depth
+// dependent distribution of slip. The slip is 2.0 m right-lateral
+// with 0.25 m of reverse slip at the surface with a linear taper from
+// 2.0 m to 0.0 m from -2 km to -4 km.
+//
 #SPATIAL.ascii 1
 SimpleDB {
   num-values = 3
@@ -4,13 +12,20 @@
   value-names =  left-lateral-slip  reverse-slip  fault-opening
   value-units =  m  m  m
   num-locs = 3
-  data-dim = 1
+  data-dim = 1 // Locations of data points form a line.
   space-dim = 3
   cs-data = cartesian {
-    to-meters = 1.0e+3
+    to-meters = 1.0e+3 // Specify coordinates in km for convenience.
     space-dim = 3
   } // cs-data
 } // SimpleDB
+// Columns are
+// (1) x coordinate (km)
+// (2) y coordinate (km)
+// (3) z coordinate (km)
+// (4) left-lateral-slip (m) (right-lateral is negative)
+// (5) reverse-slip (m)
+// (6) fault-opening (m)
 0.0  0.0  0.0    -2.00  0.25  0.00
 0.0  0.0 -2.0    -2.00  0.00  0.00
 0.0  0.0 -4.0     0.00  0.00  0.00

Modified: short/3D/PyLith/trunk/examples/3d/hex8/fixeddisp_shear.spatialdb
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/fixeddisp_shear.spatialdb	2007-06-22 23:43:21 UTC (rev 7398)
+++ short/3D/PyLith/trunk/examples/3d/hex8/fixeddisp_shear.spatialdb	2007-06-23 00:07:03 UTC (rev 7399)
@@ -1,3 +1,13 @@
+// -*- C++ -*- (tell Emacs to use C++ mode for syntax highlighting)
+//
+// This spatial database specifies the distribution of the
+// displacement field for Dirichlet boundary conditions associated
+// with shear in the xy plane.
+//
+// dof-0: Ux(x) = 0
+// dof-1: Uy(x) = 1.0 m * x / 3 km
+// dof-2: Uz(x) = 0
+//
 #SPATIAL.ascii 1
 SimpleDB {
   num-values = 3
@@ -4,12 +14,19 @@
   value-names =  dof-0  dof-1  dof-2
   value-units =  m  m  m
   num-locs = 2
-  data-dim = 1
+  data-dim = 1 // locations form a line
   space-dim = 3
   cs-data = cartesian {
-    to-meters = 1.0e+3
+    to-meters = 1.0e+3 // specify coordinates in km
     space-dim = 3
   }
 }
+// Columns are
+// (1) x coordinate (km)
+// (2) y coordinate (km)
+// (3) z coordinate (km)
+// (4) Ux (m)
+// (5) Uy (m)
+// (6) Uz (m)
 -3.0  0.0  0.0    0.0  -1.0  0.0
 +3.0  0.0  0.0    0.0  +1.0  0.0

Modified: short/3D/PyLith/trunk/examples/3d/hex8/fixeddisp_zero.spatialdb
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/fixeddisp_zero.spatialdb	2007-06-22 23:43:21 UTC (rev 7398)
+++ short/3D/PyLith/trunk/examples/3d/hex8/fixeddisp_zero.spatialdb	2007-06-23 00:07:03 UTC (rev 7399)
@@ -1,14 +1,31 @@
+// -*- C++ -*- (tell Emacs to use C++ mode for syntax highlighting)
+//
+// This spatial database specifies the distribution of the
+// displacement field for Dirichlet boundary conditions associated
+// with no motion.
+//
+// dof-0: Ux = 0
+// dof-1: Uy = 0
+// dof-2: Uz = 0
+//
 #SPATIAL.ascii 1
 SimpleDB {
   num-values = 3
-  value-names =  dof-0 dof-1 dof-2
+  value-names =  dof-0  dof-1  dof-2
   value-units =  m  m  m
   num-locs = 1
-  data-dim = 0
+  data-dim = 0 // data is uniform
   space-dim = 3
   cs-data = cartesian {
     to-meters = 1.0
     space-dim = 3
   }
 }
+// Columns are
+// (1) x coordinate (km)
+// (2) y coordinate (km)
+// (3) z coordinate (km)
+// (4) Ux (m)
+// (5) Uy (m)
+// (6) Uz (m)
 0.0  0.0  0.0    0.0  0.0  0.0

Modified: short/3D/PyLith/trunk/examples/3d/hex8/fourmaterials.odb
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/fourmaterials.odb	2007-06-22 23:43:21 UTC (rev 7398)
+++ short/3D/PyLith/trunk/examples/3d/hex8/fourmaterials.odb	2007-06-23 00:07:03 UTC (rev 7399)
@@ -11,6 +11,9 @@
 #
 
 ## Container of four materials.
+##
+## See examples/templates/materials.odb for a template file with a
+## detailed explanation.
 
 # Parent class
 from pylith.utils.ObjectBin import ObjectBin

Copied: short/3D/PyLith/trunk/examples/3d/hex8/hex8_1000m.cfg (from rev 7388, short/3D/PyLith/trunk/examples/3d/hex8/dislocation.cfg)
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/dislocation.cfg	2007-06-22 20:17:19 UTC (rev 7388)
+++ short/3D/PyLith/trunk/examples/3d/hex8/hex8_1000m.cfg	2007-06-23 00:07:03 UTC (rev 7399)
@@ -0,0 +1,92 @@
+# -*- Python -*-
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# journal
+# ----------------------------------------------------------------------
+# Turn on some journals to show progress.
+[pylithapp.journal.info]
+timedependent = 1
+implicit = 1
+petsc = 1
+solverlinear = 1
+meshiocubit = 1
+implicitelasticity = 1
+faultcohesivekin = 1
+#quadrature3d = 1
+#fiatlagrange = 1
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator]
+#debug = 1   ; uncomment to get very verbose mesh information
+
+# Change the default mesh importer to the CUBIT importer.
+importer = pylith.meshio.MeshIOCubit
+
+[pylithapp.mesh_generator.importer]
+# Set filename of mesh to import.
+filename = box_hex8_1000m.exo
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+# Use the local (user-defined) 4 item materials container
+materials = fourmaterials
+
+[pylithapp.timedependent.materials]
+# Change the default material properties for the viscoelatic materials
+# to elastic materials
+viscoelastic_neg = pylith.materials.ElasticIsotropic3D
+viscoelastic_pos = pylith.materials.ElasticIsotropic3D
+
+# The lines below set the parameters for each material in the
+# materials container.
+
+[pylithapp.timedependent.materials.elastic_pos]
+label = Elastic material +x
+id = 1
+db.iohandler.filename = mat_elastic.spatialdb
+quadrature = pylith.feassemble.quadrature.Quadrature3D
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 3
+
+[pylithapp.timedependent.materials.elastic_neg]
+label = Elastic material -x
+id = 2
+db.iohandler.filename = mat_elastic.spatialdb
+quadrature = pylith.feassemble.quadrature.Quadrature3D
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 3
+
+[pylithapp.timedependent.materials.viscoelastic_pos]
+label = Viscoelastic material +x
+id = 3
+db.iohandler.filename = mat_elastic.spatialdb
+quadrature = pylith.feassemble.quadrature.Quadrature3D
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 3
+
+[pylithapp.timedependent.materials.viscoelastic_neg]
+label = Viscoelastic material -x
+id = 4
+db.iohandler.filename = mat_elastic.spatialdb
+quadrature = pylith.feassemble.quadrature.Quadrature3D
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 3
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+# Set the solver options.
+
+[pylithapp.petsc]
+pc_type = bjacobi
+ksp_monitor = true
+ksp_view = true
+log_summary = false
+ksp_max_it = 500
+ksp_gmres_restart = 5000
+

Modified: short/3D/PyLith/trunk/examples/3d/hex8/mat_elastic.spatialdb
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/mat_elastic.spatialdb	2007-06-22 23:43:21 UTC (rev 7398)
+++ short/3D/PyLith/trunk/examples/3d/hex8/mat_elastic.spatialdb	2007-06-23 00:07:03 UTC (rev 7399)
@@ -11,4 +11,4 @@
     space-dim = 3
   }
 }
-0.0 0.0  0.0   2500.0  3000.0  5291.502622129181
+0.0  0.0  0.0   2500.0e-5  3000.0e-5  5291.502622129181e-5

Modified: short/3D/PyLith/trunk/examples/3d/hex8/mesh_hex8_1000m.jou
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/mesh_hex8_1000m.jou	2007-06-22 23:43:21 UTC (rev 7398)
+++ short/3D/PyLith/trunk/examples/3d/hex8/mesh_hex8_1000m.jou	2007-06-23 00:07:03 UTC (rev 7399)
@@ -15,7 +15,7 @@
 # ----------------------------------------------------------------------
 # Set discretization size
 # ----------------------------------------------------------------------
-volume all size 1000
+volume all size 2000
 
 # ----------------------------------------------------------------------
 # Generate the mesh

Added: short/3D/PyLith/trunk/examples/3d/hex8/shearxy.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/shearxy.cfg	2007-06-22 23:43:21 UTC (rev 7398)
+++ short/3D/PyLith/trunk/examples/3d/hex8/shearxy.cfg	2007-06-23 00:07:03 UTC (rev 7399)
@@ -0,0 +1,59 @@
+# -*- Python -*-
+[pylithapp]
+
+
+# This is not a self-contained simulation configuration file. This
+# file only specifies parameters specific to the boundary
+# conditions. The general parameters are specificed in the hex8_1000m
+# file.
+#
+# To run the simulation:
+# pylith hex8_1000m.cfg shearxy.cfg
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+total_time = 0.0*s ; total time of simulation
+default_dt = 1.0*s ; time step
+
+# Use the predefined 6 item BC container
+bc = pylith.bc.BCSixSides
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+# Set the parameters for Dirichlet boundary conditions applied on the
+# +x and -x faces of the box. Note that we only use a subset of the
+# boundary conditions provided in the 6 BC container.
+
+# We fix the x and y degrees of freedom on the +x and -x faces, and
+# fix the z degree of freedom on the bottom face.
+
+# The label corresponds to the nodeset ID in CUBIT.
+
+[pylithapp.timedependent.bc.x_pos]
+fixed_dof = [0, 1]
+label = 11
+db.label = Dirichlet BC on +x
+db.iohandler.filename = fixeddisp_shear.spatialdb
+
+[pylithapp.timedependent.bc.x_neg]
+fixed_dof = [0, 1]
+label = 12
+db.label = Dirichlet BC on -x
+db.iohandler.filename = fixeddisp_shear.spatialdb
+
+[pylithapp.timedependent.bc.z_neg]
+fixed_dof = [2]
+label = 15
+db.label = Dirichlet BC on -z
+db.iohandler.filename = fixeddisp_shear.spatialdb
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Set the root name for output.
+
+[pylithapp.problem.formulation.output.output]
+filename = shear.vtk

Modified: short/3D/PyLith/trunk/examples/3d/hex8/sliprate.spatialdb
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/sliprate.spatialdb	2007-06-22 23:43:21 UTC (rev 7398)
+++ short/3D/PyLith/trunk/examples/3d/hex8/sliprate.spatialdb	2007-06-23 00:07:03 UTC (rev 7399)
@@ -1,3 +1,9 @@
+// -*- C++ -*- (tell Emacs to use C++ mode for syntax highlighting)
+//
+// This spatial database specifies the distribution of the peak slip
+// rate for the kinematic fault rupture. We set the peak slip rate to
+// a large value for instantaneous slip.
+//
 #SPATIAL.ascii 1
 SimpleDB {
   num-values = 1
@@ -4,11 +10,16 @@
   value-names =  slip-rate
   value-units =  m/s
   num-locs = 1
-  data-dim = 0
+  data-dim = 0 // data is uniform (1 location)
   space-dim = 3
   cs-data = cartesian {
     to-meters = 1.0
     space-dim = 3
   }
 }
+// Columns are
+// (1) x coordinate (m)
+// (2) y coordinate (m)
+// (3) z coordinate (m)
+// (4) Peak slip rate (m/s)
 0.0  0.0  0.0  1.0e+6

Modified: short/3D/PyLith/trunk/examples/3d/hex8/sliptime.spatialdb
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/sliptime.spatialdb	2007-06-22 23:43:21 UTC (rev 7398)
+++ short/3D/PyLith/trunk/examples/3d/hex8/sliptime.spatialdb	2007-06-23 00:07:03 UTC (rev 7399)
@@ -1,3 +1,11 @@
+// -*- C++ -*- (tell Emacs to use C++ mode for syntax highlighting)
+//
+// This spatial database specifies the distribution of the slip
+// initiation time over the fault surface for the kinematic fault
+// rupture. Because this is a quasi-static simulation, we specify that
+// the slip initiates at t=-1.0 s (before the simulation starts) so
+// that we have slip at the first time step.
+//
 #SPATIAL.ascii 1
 SimpleDB {
   num-values = 1
@@ -4,11 +12,16 @@
   value-names =  slip-time
   value-units =  s
   num-locs = 1
-  data-dim = 0
+  data-dim = 0 // data is uniform (1 location)
   space-dim = 3
   cs-data = cartesian {
     to-meters = 1.0
     space-dim = 3
   }
 }
+// Columns are
+// (1) x coordinate (m)
+// (2) y coordinate (m)
+// (3) z coordinate (m)
+// (4) Slip initiation time (s)
 0.0  0.0  0.0   -1.0



More information about the cig-commits mailing list