[cig-commits] r14792 - in short/3D/PyLith/trunk/examples: . 3d/hex8/gftest greensfns greensfns/hex8

willic3 at geodynamics.org willic3 at geodynamics.org
Sun Apr 26 15:07:14 PDT 2009


Author: willic3
Date: 2009-04-26 15:07:13 -0700 (Sun, 26 Apr 2009)
New Revision: 14792

Added:
   short/3D/PyLith/trunk/examples/greensfns/
   short/3D/PyLith/trunk/examples/greensfns/hex8/
   short/3D/PyLith/trunk/examples/greensfns/hex8/README
   short/3D/PyLith/trunk/examples/greensfns/hex8/box_hex8_1000m.exo
   short/3D/PyLith/trunk/examples/greensfns/hex8/geometry.jou
   short/3D/PyLith/trunk/examples/greensfns/hex8/gfimpulses/
   short/3D/PyLith/trunk/examples/greensfns/hex8/gfresponses/
   short/3D/PyLith/trunk/examples/greensfns/hex8/gfspatialdb/
   short/3D/PyLith/trunk/examples/greensfns/hex8/gftest.cfg
   short/3D/PyLith/trunk/examples/greensfns/hex8/mat_elastic.spatialdb
   short/3D/PyLith/trunk/examples/greensfns/hex8/mesh_hex8_1000m.jou
   short/3D/PyLith/trunk/examples/greensfns/hex8/pylithapp.cfg
   short/3D/PyLith/trunk/examples/greensfns/hex8/sliptime.spatialdb
Removed:
   short/3D/PyLith/trunk/examples/3d/hex8/gftest/README
   short/3D/PyLith/trunk/examples/3d/hex8/gftest/box_hex8_1000m.exo
   short/3D/PyLith/trunk/examples/3d/hex8/gftest/geometry.jou
   short/3D/PyLith/trunk/examples/3d/hex8/gftest/gfimpulses/
   short/3D/PyLith/trunk/examples/3d/hex8/gftest/gfresponses/
   short/3D/PyLith/trunk/examples/3d/hex8/gftest/gfspatialdb/
   short/3D/PyLith/trunk/examples/3d/hex8/gftest/gftest.cfg
   short/3D/PyLith/trunk/examples/3d/hex8/gftest/mat_elastic.spatialdb
   short/3D/PyLith/trunk/examples/3d/hex8/gftest/mesh_hex8_1000m.jou
   short/3D/PyLith/trunk/examples/3d/hex8/gftest/pylithapp.cfg
   short/3D/PyLith/trunk/examples/3d/hex8/gftest/sliptime.spatialdb
Log:
Moved Green's functions example.



Deleted: short/3D/PyLith/trunk/examples/3d/hex8/gftest/README
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/gftest/README	2009-04-26 18:39:11 UTC (rev 14791)
+++ short/3D/PyLith/trunk/examples/3d/hex8/gftest/README	2009-04-26 22:07:13 UTC (rev 14792)
@@ -1,35 +0,0 @@
-In this directory are files that allow a somewhat kludgy method of
-generating Green's functions using PyLith. The impulses are unit amounts of
-strike-slip applied on the vertices of a fault, and the responses are
-displacements at the vertices on the ground surface. The method used is as
-follows:
-
-The entire problem is treated as a time-dependent elastic problem with
-time-varying slip. At each time step, a unit slip is applied for the
-desired impulse. For time step zero, this is all that needs to be done.
-For subsequent time steps, it is necessary to remove the applied impulse
-from the previous step. This is done by applying a unit negative impulse.
-It is necessary to generate a sequence of spatial databases to specify the
-slip at each time step. These are contained in the directory gfspatialdb.
-
-To run the problem, simpyly type:
-
-pylith gftest.cfg
-
-When it has finished running, you will have a number of VTK files in the
-gfimpulses directory that show what the applied fault slip was for each
-time step. In the gfresponses directory you will have all of the resulting
-displacements on the ground surface. The time step number for each of these
-files indicates the impulse number to which they correspond.
-
-This method is not very sophisticated, and the results have not been
-tested, but it may provide a simple method for generating Green's functions
-without too much work. The main shortcoming at present is that the
-responses are only generated at the specified set of vertices. If users
-need responses at locations that do not correspond to one of the vertices in
-the mesh, they will need to do their own interpolation. In the future, we
-plan to provide a method that will allow PyLith to do the interpolation.
-Also, this method does not provide a method for determining the seismic
-moment for each impulse. To do this it would be necessary to integrate over
-the fault elements attached to each impulse vertex. At present, it is
-probably easiest to do this by postprocessing using the fault mesh.

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

Deleted: short/3D/PyLith/trunk/examples/3d/hex8/gftest/geometry.jou
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/gftest/geometry.jou	2009-04-26 18:39:11 UTC (rev 14791)
+++ short/3D/PyLith/trunk/examples/3d/hex8/gftest/geometry.jou	2009-04-26 22:07:13 UTC (rev 14792)
@@ -1,47 +0,0 @@
-## /tools/common/cubit-10.2/bin/clarox
-## Cubit Version 10.2
-## Cubit Build 24
-## Revised 12/15/2006 16:09:40 MST
-## Running 06/18/2007 10:26:50 AM
-## Command Options:
-## -warning = On
-## -information = On
-
-# ----------------------------------------------------------------------
-# Create block
-# ----------------------------------------------------------------------
-
-# Block is 6 km x 6 km x 4 km
-# -3 km <= x <= 3 km
-# -3 km <= y <= 3 km
-# -4 km <= z <= 0 km
-reset
-brick x 6000 y 6000 z 4000
-
-# Translate block so the top is at z=0
-volume 1 move x 0 y 0 z -2000
-
-# ----------------------------------------------------------------------
-# Create interface surfaces
-# ----------------------------------------------------------------------
-create planar surface with plane xplane offset 0
-surface 7 name "fault_surface"
-create planar surface with plane zplane offset -2000
-surface 8 name "material_interface"
-
-# ----------------------------------------------------------------------
-# Divide volumes using interface surfaces
-# ----------------------------------------------------------------------
-webcut volume 1 with plane surface fault_surface
-webcut volume 1 with plane surface material_interface
-webcut volume 4 with plane surface material_interface
-volume 1 name "elastic_xpos"
-volume 4 name "elastic_xneg"
-volume 5 name "visco_xpos"
-volume 6 name "visco_xneg"
-
-# ----------------------------------------------------------------------
-# Imprint all volumes, merging surfaces
-# ----------------------------------------------------------------------
-imprint all with volume all
-merge all

Deleted: short/3D/PyLith/trunk/examples/3d/hex8/gftest/gftest.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/gftest/gftest.cfg	2009-04-26 18:39:11 UTC (rev 14791)
+++ short/3D/PyLith/trunk/examples/3d/hex8/gftest/gftest.cfg	2009-04-26 22:07:13 UTC (rev 14792)
@@ -1,193 +0,0 @@
-# -*- Python -*-
-[pylithapp]
-
-# 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
-# pylithapp.cfg file which PyLith reads by default.
-#
-# To run the simulation:
-# pylith gftest.cfg
-
-# ----------------------------------------------------------------------
-# problem
-# ----------------------------------------------------------------------
-[pylithapp.timedependent]
-# Set bc to an array of 3 boundary conditions: 'x_pos','x_neg', and 'z_neg'.
-bc = [x_pos,x_neg,z_neg]
-
-# Set interfaces to an array of 1 fault: 'fault'.
-interfaces = [fault]
-
-[pylithapp.timedependent.implicit.time_step]
-# Define the total time for the simulation and the time step size.
-# Overwrite values in pylithapp.cfg
-total_time = 13.0*year ; total time of simulation
-dt = 1.0*year ; time step
-
-[pylithapp.timedependent.implicit]
-# Set the output to an array of 2 output managers.
-# We will output the solution over the domain and the ground surface.
-output = [domain,subdomain]
-
-# Set subdomain component to OutputSolnSubset (subset of domain).
-output.subdomain = pylith.meshio.OutputSolnSubset
-
-# ----------------------------------------------------------------------
-# boundary conditions
-# ----------------------------------------------------------------------
-
-# We change spatial database for the rate of change from FixedDOFDB
-# (which has zero velocity) to UniformDB (which allows nonzero
-# velocities).
-
-# Set the parameters for the desired boundary conditions.
-#
-# 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
-
-[pylithapp.timedependent.bc.x_neg]
-fixed_dof = [0, 1]
-label = 12
-db.label = Dirichlet BC on -x
-
-[pylithapp.timedependent.bc.z_neg]
-fixed_dof = [2]
-label = 15
-db.label = Dirichlet BC on -z
-
-# ----------------------------------------------------------------------
-# faults
-# ----------------------------------------------------------------------
-[pylithapp.timedependent.interfaces]
-
-# Set the parameters for the fault interface conditions.
-
-[pylithapp.timedependent.interfaces.fault]
-label = 10
-quadrature = pylith.feassemble.quadrature.Quadrature2Din3D
-quadrature.cell = pylith.feassemble.FIATLagrange
-quadrature.cell.dimension = 2
-mat_db.iohandler.filename = mat_elastic.spatialdb
-
-output.vertex_info_fields = [normal_dir,strike_dir,dip_dir,final_slip_00,final_slip_01,final_slip_02,final_slip_03,final_slip_04,final_slip_05,final_slip_06,final_slip_07,final_slip_08,final_slip_09,final_slip_10,final_slip_11,final_slip_12,final_slip_13,slip_time_00,slip_time_01,slip_time_02,slip_time_03,slip_time_04,slip_time_05,slip_time_06,slip_time_07,slip_time_08,slip_time_09,slip_time_10,slip_time_11,slip_time_12,slip_time_13]
-
-# Set earthquake ruptures
-eq_srcs = [00,01,02,03,04,05,06,07,08,09,10,11,12,13]
-eq_srcs.00.origin_time = 0.0*year
-eq_srcs.01.origin_time = 1.0*year
-eq_srcs.02.origin_time = 2.0*year
-eq_srcs.03.origin_time = 3.0*year
-eq_srcs.04.origin_time = 4.0*year
-eq_srcs.05.origin_time = 5.0*year
-eq_srcs.06.origin_time = 6.0*year
-eq_srcs.07.origin_time = 7.0*year
-eq_srcs.08.origin_time = 8.0*year
-eq_srcs.09.origin_time = 9.0*year
-eq_srcs.10.origin_time = 10.0*year
-eq_srcs.11.origin_time = 11.0*year
-eq_srcs.12.origin_time = 12.0*year
-eq_srcs.13.origin_time = 13.0*year
-
-# 00
-[pylithapp.timedependent.interfaces.fault.eq_srcs.00.slip_function]
-slip.iohandler.filename = gfspatialdb/gfimpulse00.spatialdb
-slip_time.iohandler.filename = sliptime.spatialdb
-
-# 01
-[pylithapp.timedependent.interfaces.fault.eq_srcs.01.slip_function]
-slip.iohandler.filename = gfspatialdb/gfimpulse01.spatialdb
-slip_time.iohandler.filename = sliptime.spatialdb
-
-# 02
-[pylithapp.timedependent.interfaces.fault.eq_srcs.02.slip_function]
-slip.iohandler.filename = gfspatialdb/gfimpulse02.spatialdb
-slip_time.iohandler.filename = sliptime.spatialdb
-
-# 03
-[pylithapp.timedependent.interfaces.fault.eq_srcs.03.slip_function]
-slip.iohandler.filename = gfspatialdb/gfimpulse03.spatialdb
-slip_time.iohandler.filename = sliptime.spatialdb
-# 04
-[pylithapp.timedependent.interfaces.fault.eq_srcs.04.slip_function]
-slip.iohandler.filename = gfspatialdb/gfimpulse04.spatialdb
-slip_time.iohandler.filename = sliptime.spatialdb
-# 05
-[pylithapp.timedependent.interfaces.fault.eq_srcs.05.slip_function]
-slip.iohandler.filename = gfspatialdb/gfimpulse05.spatialdb
-slip_time.iohandler.filename = sliptime.spatialdb
-# 06
-[pylithapp.timedependent.interfaces.fault.eq_srcs.06.slip_function]
-slip.iohandler.filename = gfspatialdb/gfimpulse06.spatialdb
-slip_time.iohandler.filename = sliptime.spatialdb
-# 07
-[pylithapp.timedependent.interfaces.fault.eq_srcs.07.slip_function]
-slip.iohandler.filename = gfspatialdb/gfimpulse07.spatialdb
-slip_time.iohandler.filename = sliptime.spatialdb
-# 08
-[pylithapp.timedependent.interfaces.fault.eq_srcs.08.slip_function]
-slip.iohandler.filename = gfspatialdb/gfimpulse08.spatialdb
-slip_time.iohandler.filename = sliptime.spatialdb
-# 09
-[pylithapp.timedependent.interfaces.fault.eq_srcs.09.slip_function]
-slip.iohandler.filename = gfspatialdb/gfimpulse09.spatialdb
-slip_time.iohandler.filename = sliptime.spatialdb
-# 10
-[pylithapp.timedependent.interfaces.fault.eq_srcs.10.slip_function]
-slip.iohandler.filename = gfspatialdb/gfimpulse10.spatialdb
-slip_time.iohandler.filename = sliptime.spatialdb
-# 11
-[pylithapp.timedependent.interfaces.fault.eq_srcs.11.slip_function]
-slip.iohandler.filename = gfspatialdb/gfimpulse11.spatialdb
-slip_time.iohandler.filename = sliptime.spatialdb
-# 12
-[pylithapp.timedependent.interfaces.fault.eq_srcs.12.slip_function]
-slip.iohandler.filename = gfspatialdb/gfimpulse12.spatialdb
-slip_time.iohandler.filename = sliptime.spatialdb
-# 13
-[pylithapp.timedependent.interfaces.fault.eq_srcs.13.slip_function]
-slip.iohandler.filename = gfspatialdb/gfimpulse13.spatialdb
-slip_time.iohandler.filename = sliptime.spatialdb
-# ----------------------------------------------------------------------
-# output
-# ----------------------------------------------------------------------
-# Give basename for VTK domain output of solution over domain.
-[pylithapp.problem.formulation.output.domain]
-skip = 9
-writer.filename = gftest.vtk
-writer.time_format = %04.0f
-writer.time_constant = 1.0*year
-
-# Give basename for VTK domain output of solution over ground surface.
-[pylithapp.problem.formulation.output.subdomain]
-label = 17 ; nodeset for subdomain
-skip = 0
-writer.filename = gfresponses/gfresponse.vtk
-writer.time_format = %04.0f
-writer.time_constant = 1.0*year
-
-# Give basename for vtk fault rupture output.
-[pylithapp.timedependent.interfaces.fault.output]
-skip = 0
-writer.filename = gfimpulses/gfimpulse.vtk
-writer.time_format = %04.0f
-writer.time_constant = 1.0*year
-
-# Give basename for VTK output of state variables.
-[pylithapp.timedependent.materials.elastic_upper.output]
-skip = 9
-cell_filter = pylith.meshio.CellFilterAvg
-writer.filename = gftest-statevars-elastic_upper.vtk
-writer.time_format = %04.0f
-writer.time_constant = 1.0*year
-
-[pylithapp.timedependent.materials.elastic_lower.output]
-skip = 9
-cell_filter = pylith.meshio.CellFilterAvg
-writer.filename = gftest-statevars-elastic_lower.vtk
-writer.time_format = %04.0f
-writer.time_constant = 1.0*year

Deleted: short/3D/PyLith/trunk/examples/3d/hex8/gftest/mat_elastic.spatialdb
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/gftest/mat_elastic.spatialdb	2009-04-26 18:39:11 UTC (rev 14791)
+++ short/3D/PyLith/trunk/examples/3d/hex8/gftest/mat_elastic.spatialdb	2009-04-26 22:07:13 UTC (rev 14792)
@@ -1,26 +0,0 @@
-// -*- C++ -*- (tell Emacs to use C++ mode for syntax highlighting)
-//
-// This spatial database specifies the distribution of material
-// properties. In this case, the material properties are uniform.
-//
-#SPATIAL.ascii 1
-SimpleDB {
-  num-values = 3 // number of material property values
-  value-names =  density vs vp // names of the material property values
-  value-units =  kg/m^3  m/s  m/s // units (conversions not supported)
-  num-locs = 1 // number of locations
-  data-dim = 0
-  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) density (kg/m^3)
-// (5) vs (m/s)
-// (6) vp (m/s)
-0.0  0.0  0.0   2500.0  3000.0  5291.502622129181

Deleted: short/3D/PyLith/trunk/examples/3d/hex8/gftest/mesh_hex8_1000m.jou
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/gftest/mesh_hex8_1000m.jou	2009-04-26 18:39:11 UTC (rev 14791)
+++ short/3D/PyLith/trunk/examples/3d/hex8/gftest/mesh_hex8_1000m.jou	2009-04-26 22:07:13 UTC (rev 14792)
@@ -1,103 +0,0 @@
-## /tools/common/cubit-10.2/bin/clarox
-## Cubit Version 10.2
-## Cubit Build 24
-## Revised 12/15/2006 16:09:40 MST
-## Running 06/18/2007 10:26:50 AM
-## Command Options:
-## -warning = On
-## -information = On
-
-# ----------------------------------------------------------------------
-# Generate geometry
-# ----------------------------------------------------------------------
-playback 'geometry.jou'
-
-# ----------------------------------------------------------------------
-# Set discretization size
-# ----------------------------------------------------------------------
-volume all size 1000
-
-# ----------------------------------------------------------------------
-# Generate the mesh
-# ----------------------------------------------------------------------
-mesh volume all
-
-# ----------------------------------------------------------------------
-# Create blocks for materials
-# ----------------------------------------------------------------------
-block 1 volume 1 4
-block 1 name "elastic_upper"
-block 2 volume 5 6
-block 2 name "elastic_lower"
-
-# ----------------------------------------------------------------------
-# Create nodeset for fault
-# ----------------------------------------------------------------------
-group "fault" add node in fault_surface
-nodeset 10 group fault
-nodeset 10 name "fault"
-
-# ----------------------------------------------------------------------
-# Create nodeset for +x face
-# ----------------------------------------------------------------------
-group "face_xpos" add node in surface 20
-group "face_xpos" add node in surface 28
-nodeset 11 group face_xpos
-nodeset 11 name "face xpos"
-
-# ----------------------------------------------------------------------
-# Create nodeset for -x face
-# ----------------------------------------------------------------------
-group "face_xneg" add node in surface 30
-group "face_xneg" add node in surface 38
-nodeset 12 group face_xneg
-nodeset 12 name "face xneg"
-
-# ----------------------------------------------------------------------
-# Create nodeset for +y face
-# ----------------------------------------------------------------------
-group "face_ypos" add node in surface 21
-group "face_ypos" add node in surface 27
-group "face_ypos" add node in surface 33
-group "face_ypos" add node in surface 35
-nodeset 13 group face_ypos
-nodeset 13 name "face ypos"
-
-# ----------------------------------------------------------------------
-# Create nodeset for -y face
-# ----------------------------------------------------------------------
-group "face_yneg" add node in surface 23
-group "face_yneg" add node in surface 25
-group "face_yneg" add node in surface 31
-group "face_yneg" add node in surface 37
-nodeset 14 group face_yneg
-nodeset 14 name "face yneg"
-
-# ----------------------------------------------------------------------
-# Create nodeset for -z face
-# ----------------------------------------------------------------------
-group "face_zneg" add node in surface 12
-group "face_zneg" add node in surface 16
-nodeset 15 group face_zneg
-nodeset 15 name "face zneg"
-
-# ----------------------------------------------------------------------
-# Create nodeset for -z face w/o fault
-# ----------------------------------------------------------------------
-group "face_zneg_nofault" add node in face_zneg
-group "face_zneg_nofault" remove node in fault
-nodeset 16 group face_zneg_nofault
-nodeset 16 name "face zneg nofault"
-
-# ----------------------------------------------------------------------
-# Create nodeset for +z face
-# ----------------------------------------------------------------------
-group "face_zpos" add node in surface 10
-group "face_zpos" add node in surface 17
-nodeset 17 group face_zpos
-nodeset 17 name "face zpos"
-
-# ----------------------------------------------------------------------
-# Export exodus file
-# ----------------------------------------------------------------------
-export mesh "box_hex8_1000m.exo" dimension 3 overwrite

Deleted: short/3D/PyLith/trunk/examples/3d/hex8/gftest/pylithapp.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/gftest/pylithapp.cfg	2009-04-26 18:39:11 UTC (rev 14791)
+++ short/3D/PyLith/trunk/examples/3d/hex8/gftest/pylithapp.cfg	2009-04-26 22:07:13 UTC (rev 14792)
@@ -1,85 +0,0 @@
-# -*- 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
-fiatlagrange = 1
-#quadrature3d = 1
-
-[pylithapp.journal.debug]
-pylithapp = 1
-problem = 1
-implicit = 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
-
-# ----------------------------------------------------------------------
-# problem
-# ----------------------------------------------------------------------
-[pylithapp.timedependent]
-#normalizer = spatialdata.units.NondimElasticQuasistatic
-
-[pylithapp.timedependent.formulation.time_step]
-# Define the total time for the simulation and the default time step size.
-total_time = 0.0*s ; total time of simulation
-
-# ----------------------------------------------------------------------
-# materials
-# ----------------------------------------------------------------------
-[pylithapp.timedependent]
-
-# Set materials to an array of 2 materials:
-#   'elastic' and 'viscoelastic'
-materials = [elastic_upper,elastic_lower]
-
-[pylithapp.timedependent.materials.elastic_upper]
-label = Upper elastic material
-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_lower]
-label = Lower elastic material
-id = 2
-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]
-ksp_rtol = 1.0e-8
-pc_type = asm
-ksp_monitor = true
-ksp_view = true
-log_summary = true
-ksp_max_it = 100
-ksp_gmres_restart = 50
-# start_in_debugger = true

Deleted: short/3D/PyLith/trunk/examples/3d/hex8/gftest/sliptime.spatialdb
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/gftest/sliptime.spatialdb	2009-04-26 18:39:11 UTC (rev 14791)
+++ short/3D/PyLith/trunk/examples/3d/hex8/gftest/sliptime.spatialdb	2009-04-26 22:07:13 UTC (rev 14792)
@@ -1,26 +0,0 @@
-// -*- 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. We specify a slip time of 0.0 s so that the slip occurs at
-// the origin time of the earthquake rupture.
-//
-#SPATIAL.ascii 1
-SimpleDB {
-  num-values = 1
-  value-names =  slip-time
-  value-units =  s
-  num-locs = 1
-  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   0.0

Copied: short/3D/PyLith/trunk/examples/greensfns/hex8/README (from rev 14788, short/3D/PyLith/trunk/examples/3d/hex8/gftest/README)
===================================================================
--- short/3D/PyLith/trunk/examples/greensfns/hex8/README	                        (rev 0)
+++ short/3D/PyLith/trunk/examples/greensfns/hex8/README	2009-04-26 22:07:13 UTC (rev 14792)
@@ -0,0 +1,35 @@
+In this directory are files that allow a somewhat kludgy method of
+generating Green's functions using PyLith. The impulses are unit amounts of
+strike-slip applied on the vertices of a fault, and the responses are
+displacements at the vertices on the ground surface. The method used is as
+follows:
+
+The entire problem is treated as a time-dependent elastic problem with
+time-varying slip. At each time step, a unit slip is applied for the
+desired impulse. For time step zero, this is all that needs to be done.
+For subsequent time steps, it is necessary to remove the applied impulse
+from the previous step. This is done by applying a unit negative impulse.
+It is necessary to generate a sequence of spatial databases to specify the
+slip at each time step. These are contained in the directory gfspatialdb.
+
+To run the problem, simpyly type:
+
+pylith gftest.cfg
+
+When it has finished running, you will have a number of VTK files in the
+gfimpulses directory that show what the applied fault slip was for each
+time step. In the gfresponses directory you will have all of the resulting
+displacements on the ground surface. The time step number for each of these
+files indicates the impulse number to which they correspond.
+
+This method is not very sophisticated, and the results have not been
+tested, but it may provide a simple method for generating Green's functions
+without too much work. The main shortcoming at present is that the
+responses are only generated at the specified set of vertices. If users
+need responses at locations that do not correspond to one of the vertices in
+the mesh, they will need to do their own interpolation. In the future, we
+plan to provide a method that will allow PyLith to do the interpolation.
+Also, this method does not provide a method for determining the seismic
+moment for each impulse. To do this it would be necessary to integrate over
+the fault elements attached to each impulse vertex. At present, it is
+probably easiest to do this by postprocessing using the fault mesh.

Copied: short/3D/PyLith/trunk/examples/greensfns/hex8/box_hex8_1000m.exo (from rev 14788, short/3D/PyLith/trunk/examples/3d/hex8/gftest/box_hex8_1000m.exo)
===================================================================
(Binary files differ)

Copied: short/3D/PyLith/trunk/examples/greensfns/hex8/geometry.jou (from rev 14788, short/3D/PyLith/trunk/examples/3d/hex8/gftest/geometry.jou)
===================================================================
--- short/3D/PyLith/trunk/examples/greensfns/hex8/geometry.jou	                        (rev 0)
+++ short/3D/PyLith/trunk/examples/greensfns/hex8/geometry.jou	2009-04-26 22:07:13 UTC (rev 14792)
@@ -0,0 +1,47 @@
+## /tools/common/cubit-10.2/bin/clarox
+## Cubit Version 10.2
+## Cubit Build 24
+## Revised 12/15/2006 16:09:40 MST
+## Running 06/18/2007 10:26:50 AM
+## Command Options:
+## -warning = On
+## -information = On
+
+# ----------------------------------------------------------------------
+# Create block
+# ----------------------------------------------------------------------
+
+# Block is 6 km x 6 km x 4 km
+# -3 km <= x <= 3 km
+# -3 km <= y <= 3 km
+# -4 km <= z <= 0 km
+reset
+brick x 6000 y 6000 z 4000
+
+# Translate block so the top is at z=0
+volume 1 move x 0 y 0 z -2000
+
+# ----------------------------------------------------------------------
+# Create interface surfaces
+# ----------------------------------------------------------------------
+create planar surface with plane xplane offset 0
+surface 7 name "fault_surface"
+create planar surface with plane zplane offset -2000
+surface 8 name "material_interface"
+
+# ----------------------------------------------------------------------
+# Divide volumes using interface surfaces
+# ----------------------------------------------------------------------
+webcut volume 1 with plane surface fault_surface
+webcut volume 1 with plane surface material_interface
+webcut volume 4 with plane surface material_interface
+volume 1 name "elastic_xpos"
+volume 4 name "elastic_xneg"
+volume 5 name "visco_xpos"
+volume 6 name "visco_xneg"
+
+# ----------------------------------------------------------------------
+# Imprint all volumes, merging surfaces
+# ----------------------------------------------------------------------
+imprint all with volume all
+merge all

Copied: short/3D/PyLith/trunk/examples/greensfns/hex8/gfimpulses (from rev 14788, short/3D/PyLith/trunk/examples/3d/hex8/gftest/gfimpulses)

Copied: short/3D/PyLith/trunk/examples/greensfns/hex8/gfresponses (from rev 14788, short/3D/PyLith/trunk/examples/3d/hex8/gftest/gfresponses)

Copied: short/3D/PyLith/trunk/examples/greensfns/hex8/gfspatialdb (from rev 14788, short/3D/PyLith/trunk/examples/3d/hex8/gftest/gfspatialdb)

Copied: short/3D/PyLith/trunk/examples/greensfns/hex8/gftest.cfg (from rev 14788, short/3D/PyLith/trunk/examples/3d/hex8/gftest/gftest.cfg)
===================================================================
--- short/3D/PyLith/trunk/examples/greensfns/hex8/gftest.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/examples/greensfns/hex8/gftest.cfg	2009-04-26 22:07:13 UTC (rev 14792)
@@ -0,0 +1,193 @@
+# -*- Python -*-
+[pylithapp]
+
+# 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
+# pylithapp.cfg file which PyLith reads by default.
+#
+# To run the simulation:
+# pylith gftest.cfg
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+# Set bc to an array of 3 boundary conditions: 'x_pos','x_neg', and 'z_neg'.
+bc = [x_pos,x_neg,z_neg]
+
+# Set interfaces to an array of 1 fault: 'fault'.
+interfaces = [fault]
+
+[pylithapp.timedependent.implicit.time_step]
+# Define the total time for the simulation and the time step size.
+# Overwrite values in pylithapp.cfg
+total_time = 13.0*year ; total time of simulation
+dt = 1.0*year ; time step
+
+[pylithapp.timedependent.implicit]
+# Set the output to an array of 2 output managers.
+# We will output the solution over the domain and the ground surface.
+output = [domain,subdomain]
+
+# Set subdomain component to OutputSolnSubset (subset of domain).
+output.subdomain = pylith.meshio.OutputSolnSubset
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+
+# We change spatial database for the rate of change from FixedDOFDB
+# (which has zero velocity) to UniformDB (which allows nonzero
+# velocities).
+
+# Set the parameters for the desired boundary conditions.
+#
+# 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
+
+[pylithapp.timedependent.bc.x_neg]
+fixed_dof = [0, 1]
+label = 12
+db.label = Dirichlet BC on -x
+
+[pylithapp.timedependent.bc.z_neg]
+fixed_dof = [2]
+label = 15
+db.label = Dirichlet BC on -z
+
+# ----------------------------------------------------------------------
+# faults
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.interfaces]
+
+# Set the parameters for the fault interface conditions.
+
+[pylithapp.timedependent.interfaces.fault]
+label = 10
+quadrature = pylith.feassemble.quadrature.Quadrature2Din3D
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 2
+mat_db.iohandler.filename = mat_elastic.spatialdb
+
+output.vertex_info_fields = [normal_dir,strike_dir,dip_dir,final_slip_00,final_slip_01,final_slip_02,final_slip_03,final_slip_04,final_slip_05,final_slip_06,final_slip_07,final_slip_08,final_slip_09,final_slip_10,final_slip_11,final_slip_12,final_slip_13,slip_time_00,slip_time_01,slip_time_02,slip_time_03,slip_time_04,slip_time_05,slip_time_06,slip_time_07,slip_time_08,slip_time_09,slip_time_10,slip_time_11,slip_time_12,slip_time_13]
+
+# Set earthquake ruptures
+eq_srcs = [00,01,02,03,04,05,06,07,08,09,10,11,12,13]
+eq_srcs.00.origin_time = 0.0*year
+eq_srcs.01.origin_time = 1.0*year
+eq_srcs.02.origin_time = 2.0*year
+eq_srcs.03.origin_time = 3.0*year
+eq_srcs.04.origin_time = 4.0*year
+eq_srcs.05.origin_time = 5.0*year
+eq_srcs.06.origin_time = 6.0*year
+eq_srcs.07.origin_time = 7.0*year
+eq_srcs.08.origin_time = 8.0*year
+eq_srcs.09.origin_time = 9.0*year
+eq_srcs.10.origin_time = 10.0*year
+eq_srcs.11.origin_time = 11.0*year
+eq_srcs.12.origin_time = 12.0*year
+eq_srcs.13.origin_time = 13.0*year
+
+# 00
+[pylithapp.timedependent.interfaces.fault.eq_srcs.00.slip_function]
+slip.iohandler.filename = gfspatialdb/gfimpulse00.spatialdb
+slip_time.iohandler.filename = sliptime.spatialdb
+
+# 01
+[pylithapp.timedependent.interfaces.fault.eq_srcs.01.slip_function]
+slip.iohandler.filename = gfspatialdb/gfimpulse01.spatialdb
+slip_time.iohandler.filename = sliptime.spatialdb
+
+# 02
+[pylithapp.timedependent.interfaces.fault.eq_srcs.02.slip_function]
+slip.iohandler.filename = gfspatialdb/gfimpulse02.spatialdb
+slip_time.iohandler.filename = sliptime.spatialdb
+
+# 03
+[pylithapp.timedependent.interfaces.fault.eq_srcs.03.slip_function]
+slip.iohandler.filename = gfspatialdb/gfimpulse03.spatialdb
+slip_time.iohandler.filename = sliptime.spatialdb
+# 04
+[pylithapp.timedependent.interfaces.fault.eq_srcs.04.slip_function]
+slip.iohandler.filename = gfspatialdb/gfimpulse04.spatialdb
+slip_time.iohandler.filename = sliptime.spatialdb
+# 05
+[pylithapp.timedependent.interfaces.fault.eq_srcs.05.slip_function]
+slip.iohandler.filename = gfspatialdb/gfimpulse05.spatialdb
+slip_time.iohandler.filename = sliptime.spatialdb
+# 06
+[pylithapp.timedependent.interfaces.fault.eq_srcs.06.slip_function]
+slip.iohandler.filename = gfspatialdb/gfimpulse06.spatialdb
+slip_time.iohandler.filename = sliptime.spatialdb
+# 07
+[pylithapp.timedependent.interfaces.fault.eq_srcs.07.slip_function]
+slip.iohandler.filename = gfspatialdb/gfimpulse07.spatialdb
+slip_time.iohandler.filename = sliptime.spatialdb
+# 08
+[pylithapp.timedependent.interfaces.fault.eq_srcs.08.slip_function]
+slip.iohandler.filename = gfspatialdb/gfimpulse08.spatialdb
+slip_time.iohandler.filename = sliptime.spatialdb
+# 09
+[pylithapp.timedependent.interfaces.fault.eq_srcs.09.slip_function]
+slip.iohandler.filename = gfspatialdb/gfimpulse09.spatialdb
+slip_time.iohandler.filename = sliptime.spatialdb
+# 10
+[pylithapp.timedependent.interfaces.fault.eq_srcs.10.slip_function]
+slip.iohandler.filename = gfspatialdb/gfimpulse10.spatialdb
+slip_time.iohandler.filename = sliptime.spatialdb
+# 11
+[pylithapp.timedependent.interfaces.fault.eq_srcs.11.slip_function]
+slip.iohandler.filename = gfspatialdb/gfimpulse11.spatialdb
+slip_time.iohandler.filename = sliptime.spatialdb
+# 12
+[pylithapp.timedependent.interfaces.fault.eq_srcs.12.slip_function]
+slip.iohandler.filename = gfspatialdb/gfimpulse12.spatialdb
+slip_time.iohandler.filename = sliptime.spatialdb
+# 13
+[pylithapp.timedependent.interfaces.fault.eq_srcs.13.slip_function]
+slip.iohandler.filename = gfspatialdb/gfimpulse13.spatialdb
+slip_time.iohandler.filename = sliptime.spatialdb
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK domain output of solution over domain.
+[pylithapp.problem.formulation.output.domain]
+skip = 9
+writer.filename = gftest.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year
+
+# Give basename for VTK domain output of solution over ground surface.
+[pylithapp.problem.formulation.output.subdomain]
+label = 17 ; nodeset for subdomain
+skip = 0
+writer.filename = gfresponses/gfresponse.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year
+
+# Give basename for vtk fault rupture output.
+[pylithapp.timedependent.interfaces.fault.output]
+skip = 0
+writer.filename = gfimpulses/gfimpulse.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.elastic_upper.output]
+skip = 9
+cell_filter = pylith.meshio.CellFilterAvg
+writer.filename = gftest-statevars-elastic_upper.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year
+
+[pylithapp.timedependent.materials.elastic_lower.output]
+skip = 9
+cell_filter = pylith.meshio.CellFilterAvg
+writer.filename = gftest-statevars-elastic_lower.vtk
+writer.time_format = %04.0f
+writer.time_constant = 1.0*year

Copied: short/3D/PyLith/trunk/examples/greensfns/hex8/mat_elastic.spatialdb (from rev 14788, short/3D/PyLith/trunk/examples/3d/hex8/gftest/mat_elastic.spatialdb)
===================================================================
--- short/3D/PyLith/trunk/examples/greensfns/hex8/mat_elastic.spatialdb	                        (rev 0)
+++ short/3D/PyLith/trunk/examples/greensfns/hex8/mat_elastic.spatialdb	2009-04-26 22:07:13 UTC (rev 14792)
@@ -0,0 +1,26 @@
+// -*- C++ -*- (tell Emacs to use C++ mode for syntax highlighting)
+//
+// This spatial database specifies the distribution of material
+// properties. In this case, the material properties are uniform.
+//
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 3 // number of material property values
+  value-names =  density vs vp // names of the material property values
+  value-units =  kg/m^3  m/s  m/s // units (conversions not supported)
+  num-locs = 1 // number of locations
+  data-dim = 0
+  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) density (kg/m^3)
+// (5) vs (m/s)
+// (6) vp (m/s)
+0.0  0.0  0.0   2500.0  3000.0  5291.502622129181

Copied: short/3D/PyLith/trunk/examples/greensfns/hex8/mesh_hex8_1000m.jou (from rev 14788, short/3D/PyLith/trunk/examples/3d/hex8/gftest/mesh_hex8_1000m.jou)
===================================================================
--- short/3D/PyLith/trunk/examples/greensfns/hex8/mesh_hex8_1000m.jou	                        (rev 0)
+++ short/3D/PyLith/trunk/examples/greensfns/hex8/mesh_hex8_1000m.jou	2009-04-26 22:07:13 UTC (rev 14792)
@@ -0,0 +1,103 @@
+## /tools/common/cubit-10.2/bin/clarox
+## Cubit Version 10.2
+## Cubit Build 24
+## Revised 12/15/2006 16:09:40 MST
+## Running 06/18/2007 10:26:50 AM
+## Command Options:
+## -warning = On
+## -information = On
+
+# ----------------------------------------------------------------------
+# Generate geometry
+# ----------------------------------------------------------------------
+playback 'geometry.jou'
+
+# ----------------------------------------------------------------------
+# Set discretization size
+# ----------------------------------------------------------------------
+volume all size 1000
+
+# ----------------------------------------------------------------------
+# Generate the mesh
+# ----------------------------------------------------------------------
+mesh volume all
+
+# ----------------------------------------------------------------------
+# Create blocks for materials
+# ----------------------------------------------------------------------
+block 1 volume 1 4
+block 1 name "elastic_upper"
+block 2 volume 5 6
+block 2 name "elastic_lower"
+
+# ----------------------------------------------------------------------
+# Create nodeset for fault
+# ----------------------------------------------------------------------
+group "fault" add node in fault_surface
+nodeset 10 group fault
+nodeset 10 name "fault"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +x face
+# ----------------------------------------------------------------------
+group "face_xpos" add node in surface 20
+group "face_xpos" add node in surface 28
+nodeset 11 group face_xpos
+nodeset 11 name "face xpos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -x face
+# ----------------------------------------------------------------------
+group "face_xneg" add node in surface 30
+group "face_xneg" add node in surface 38
+nodeset 12 group face_xneg
+nodeset 12 name "face xneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +y face
+# ----------------------------------------------------------------------
+group "face_ypos" add node in surface 21
+group "face_ypos" add node in surface 27
+group "face_ypos" add node in surface 33
+group "face_ypos" add node in surface 35
+nodeset 13 group face_ypos
+nodeset 13 name "face ypos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -y face
+# ----------------------------------------------------------------------
+group "face_yneg" add node in surface 23
+group "face_yneg" add node in surface 25
+group "face_yneg" add node in surface 31
+group "face_yneg" add node in surface 37
+nodeset 14 group face_yneg
+nodeset 14 name "face yneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -z face
+# ----------------------------------------------------------------------
+group "face_zneg" add node in surface 12
+group "face_zneg" add node in surface 16
+nodeset 15 group face_zneg
+nodeset 15 name "face zneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -z face w/o fault
+# ----------------------------------------------------------------------
+group "face_zneg_nofault" add node in face_zneg
+group "face_zneg_nofault" remove node in fault
+nodeset 16 group face_zneg_nofault
+nodeset 16 name "face zneg nofault"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +z face
+# ----------------------------------------------------------------------
+group "face_zpos" add node in surface 10
+group "face_zpos" add node in surface 17
+nodeset 17 group face_zpos
+nodeset 17 name "face zpos"
+
+# ----------------------------------------------------------------------
+# Export exodus file
+# ----------------------------------------------------------------------
+export mesh "box_hex8_1000m.exo" dimension 3 overwrite

Copied: short/3D/PyLith/trunk/examples/greensfns/hex8/pylithapp.cfg (from rev 14788, short/3D/PyLith/trunk/examples/3d/hex8/gftest/pylithapp.cfg)
===================================================================
--- short/3D/PyLith/trunk/examples/greensfns/hex8/pylithapp.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/examples/greensfns/hex8/pylithapp.cfg	2009-04-26 22:07:13 UTC (rev 14792)
@@ -0,0 +1,85 @@
+# -*- 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
+fiatlagrange = 1
+#quadrature3d = 1
+
+[pylithapp.journal.debug]
+pylithapp = 1
+problem = 1
+implicit = 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
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+#normalizer = spatialdata.units.NondimElasticQuasistatic
+
+[pylithapp.timedependent.formulation.time_step]
+# Define the total time for the simulation and the default time step size.
+total_time = 0.0*s ; total time of simulation
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+
+# Set materials to an array of 2 materials:
+#   'elastic' and 'viscoelastic'
+materials = [elastic_upper,elastic_lower]
+
+[pylithapp.timedependent.materials.elastic_upper]
+label = Upper elastic material
+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_lower]
+label = Lower elastic material
+id = 2
+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]
+ksp_rtol = 1.0e-8
+pc_type = asm
+ksp_monitor = true
+ksp_view = true
+log_summary = true
+ksp_max_it = 100
+ksp_gmres_restart = 50
+# start_in_debugger = true

Copied: short/3D/PyLith/trunk/examples/greensfns/hex8/sliptime.spatialdb (from rev 14788, short/3D/PyLith/trunk/examples/3d/hex8/gftest/sliptime.spatialdb)
===================================================================
--- short/3D/PyLith/trunk/examples/greensfns/hex8/sliptime.spatialdb	                        (rev 0)
+++ short/3D/PyLith/trunk/examples/greensfns/hex8/sliptime.spatialdb	2009-04-26 22:07:13 UTC (rev 14792)
@@ -0,0 +1,26 @@
+// -*- 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. We specify a slip time of 0.0 s so that the slip occurs at
+// the origin time of the earthquake rupture.
+//
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 1
+  value-names =  slip-time
+  value-units =  s
+  num-locs = 1
+  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   0.0



More information about the CIG-COMMITS mailing list