[cig-commits] r13293 - in short/3D/PyLith/benchmarks/trunk: . dynamic dynamic/halfspace_strikeslip dynamic/halfspace_strikeslip/meshes dynamic/halfspace_strikeslip/parameters

brad at geodynamics.org brad at geodynamics.org
Tue Nov 11 15:37:37 PST 2008


Author: brad
Date: 2008-11-11 15:37:37 -0800 (Tue, 11 Nov 2008)
New Revision: 13293

Added:
   short/3D/PyLith/benchmarks/trunk/dynamic/
   short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/
   short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/meshes/
   short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/meshes/halfspace_tet4_lagrit.gmv.gz
   short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/meshes/halfspace_tet4_lagrit.pset.gz
   short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/meshes/mesh_halfspace.lagrit
   short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/meshes/partitionapp.cfg
   short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/
   short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/eqsim.in
   short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/mat_elastic.spatialdb
   short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/pylithapp.cfg
   short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/risesliptime.spatialdb
   short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/slip.spatialdb
   short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/results/
Log:
Started work on dynamic benchmark.

Added: short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/meshes/halfspace_tet4_lagrit.gmv.gz
===================================================================
(Binary files differ)


Property changes on: short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/meshes/halfspace_tet4_lagrit.gmv.gz
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/meshes/halfspace_tet4_lagrit.pset.gz
===================================================================
(Binary files differ)


Property changes on: short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/meshes/halfspace_tet4_lagrit.pset.gz
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/meshes/mesh_halfspace.lagrit
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/meshes/mesh_halfspace.lagrit	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/meshes/mesh_halfspace.lagrit	2008-11-11 23:37:37 UTC (rev 13293)
@@ -0,0 +1,160 @@
+* -*- LaGriT -*-
+*
+* ----------------------------------------------------------------------
+*
+*                           Brad T. Aagaard
+*                        U.S. Geological Survey
+*
+* <LicenseText>
+*
+* ----------------------------------------------------------------------
+*
+* Mesh for simple dynamic benchmark with a kinematic fault rupture.
+*
+* Fault is 30km long and 15km wide
+* Fault runs north-south (y direction)
+*
+* Domain is 72.0 km by 36.0 km by 36.0 km
+*   x: -18e+3 to +18e+3
+*   y: -36e+3 to +36e+3
+*   z: -36e+3 to 0
+*
+
+cmo / create / halfspace
+cmo / setatt / halfspace / ipolydat / no
+
+* ----------------------------------------------------------------------
+* CREATE GEOMETRY
+* ----------------------------------------------------------------------
+** Boundaries of mesh
+define / domain_xMin / -18.0e+3
+define / domain_xMax /  18.0e+3
+define / domain_yMin / -36.0e+3
+define / domain_yMax /  36.0e+3
+define / domain_zMin / -36.0e+3
+define / domain_zMax /   0.0e+3
+
+
+** Create boundary surfaces
+** Convention is that normals for boundary surfaces point out of domain.
+
+surface / surf_xMin / reflect / plane / &
+  domain_xMin  domain_yMin  domain_zMax / &
+  domain_xMin  domain_yMax  domain_zMax / &
+  domain_xMin  domain_yMin  domain_zMin
+surface / surf_yMin / reflect / plane / &
+  domain_xMax  domain_yMin  domain_zMax / &
+  domain_xMin  domain_yMin  domain_zMax / &
+  domain_xMax  domain_yMin  domain_zMin
+surface / surf_xMax / reflect / plane / &
+  domain_xMax  domain_yMax  domain_zMax / &
+  domain_xMax  domain_yMin  domain_zMax / &
+  domain_xMax  domain_yMax  domain_zMin
+surface / surf_yMax / reflect / plane / &
+  domain_xMin  domain_yMax  domain_zMax / &
+  domain_xMax  domain_yMax  domain_zMax / &
+  domain_xMin  domain_yMax  domain_zMin
+surface / surf_zMin / reflect / plane / &
+     0.0e+0    0.0e+0  domain_zMin / &
+   -10.0e+3    0.0e+0  domain_zMin / &
+     0.0e+0   10.0e+3  domain_zMin
+surface / surf_zMax / reflect / plane / &
+     0.0e+0    0.0e+0    domain_zMax / &
+     0.0e+0   10.0e+3    domain_zMax / &
+   -10.0e+3    0.0e+0    domain_zMax
+
+** Create fault plane.
+surface / surf_fault / intrface / plane / &
+  0.0   0.0  0.0 / &
+  0.0   1.0  0.0 / &
+  0.0   0.0  1.0 /
+
+** Create regions
+** positive
+region / r_positive / &
+  le surf_xMax and ge surf_fault  &
+  and le surf_yMax and le surf_yMin  &
+  and le surf_zMax and le surf_zMin /
+** negative
+region / r_negative / &
+  le surf_xMin and lt surf_fault  &
+  and le surf_yMax and le surf_yMin  &
+  and le surf_zMax and le surf_zMin /
+
+** Create material regions
+** positive
+mregion / m_positive / &
+  le surf_xMax and gt surf_fault  &
+  and le surf_yMax and le surf_yMin  &
+  and le surf_zMax and le surf_zMin /
+** negative
+mregion / m_negative / &
+  le surf_xMin and lt surf_fault  &
+  and le surf_yMax and le surf_yMin  &
+  and le surf_zMax and le surf_zMin /
+
+
+* ----------------------------------------------------------------------
+* CREATE MESH
+* ----------------------------------------------------------------------
+define / nx / 49
+define / ny / 97
+define / nz / 49
+
+createpts / xyz / nx,ny,nz / &
+  domain_xMin  domain_yMin  domain_zMin / &
+  domain_xMax  domain_yMax  domain_zMax / &
+  1,1,1
+
+setpts
+connect / noadd
+
+settets / geometry
+resetpts / cell_color
+
+cmo / printatt / halfspace / imt1 / minmax /
+cmo / printatt / halfspace / itetclr / minmax /
+quality / aspect / y
+
+
+* ----------------------------------------------------------------------
+* EXPORT MESH
+* ----------------------------------------------------------------------
+** Remove child points
+resetpts / parent
+rmpoint / compress
+
+** Identify groups
+pset / pts_tmp / surface / surf_fault /
+* Extract points -15.0e+3m < y < 15.2e+3m, -12.990e+3m < z < 0m
+pset / elemfaces_fault / geom / xyz / pset,get,pts_tmp / &
+  -99.0e+3  -15.001e+3  -15.001e+3 / &
+  +99.0e+3   15.001e+3    0.001e+3 /
+pset / pts_tmp / delete
+
+* Identify nodes on boundaries
+pset / elemfaces_xmin / surface / surf_xMin /
+pset / elemfaces_xmax / surface / surf_xMax /
+pset / elemfaces_ymin / surface / surf_yMin /
+pset / elemfaces_ymax / surface / surf_yMax /
+pset / elemfaces_zmin / surface / surf_zMin /
+pset / elemfaces_zmax / surface / surf_zMax /
+
+* Merge materials
+eltset / elastic1 / itetclr / eq / 1
+eltset / elastic2 / itetclr / eq / 2
+eltset / elastic / union / elastic1 elastic2
+cmo / setatt / halfspace / itetclr / eltset,get,elastic / 1
+eltset / elastic1 / delete
+eltset / elastic2 / delete
+eltset / elastic / delete
+
+** Write mesh.
+dump / gmv / halfspace_tet4_lagrit.gmv // binary
+pset / -all- / write / halfspace_tet4_lagrit.pset / ascii
+
+* ----------------------------------------------------------------------
+finish
+
+
+* End of file

Added: short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/meshes/partitionapp.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/meshes/partitionapp.cfg	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/meshes/partitionapp.cfg	2008-11-11 23:37:37 UTC (rev 13293)
@@ -0,0 +1,11 @@
+# -*- Python -*-
+
+[partitionapp.extmeshio]
+gmv_filename = halfspace_tet4_lagrit.gmv
+pset_filename = halfspace_tet4_lagrit.pset
+
+[partitionapp.partitioner]
+num_procs = 1
+
+[partitionapp.partmeshio]
+filename = halfspace_tet4_lagrit.1.mbf

Added: short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/eqsim.in
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/eqsim.in	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/eqsim.in	2008-11-11 23:37:37 UTC (rev 13293)
@@ -0,0 +1,51 @@
+#EQSIM.param  1
+Simulation parameters
+Partitioned mesh filename: ../meshes/halfspace_tet4_lagrit.1.mbf
+Problem type: 3D
+Mesh parameters
+  Refinement type: none
+  System of units: SI
+  coordsys = cartesian {
+    to-meters = 1.0
+  }
+
+  Materials DB type: simpledb
+  Filename for spatial distribution: mat_elastic.spatialdb
+IO parameters
+  Root of output filenames: ../results/eqsim
+  Refine output?: No
+  Time step b/t output of point data: 0.1 sec
+  Number of output point groups: 0
+  Time step b/t output of surface data: 0.1 sec
+  Number of surface groups: 1
+  Names of surface groups:
+    zmax
+  Time step b/t output of volume data: 0 sec
+  Time step b/t output of fault data: 0.1 sec
+Simulation parameters
+  Problem type: dynamic
+  Dynamic simulation parameters
+    Time when simulation starts: 0.0 sec
+    Time when simulation stops: 15.0 sec
+    Time step for simulation: 0.05 sec
+    Number of groups for absorbing boundary: 5
+      Names of groups:
+        ymax
+        ymin
+        xmax
+        xmin
+        ymin
+    Type of dynamic simulation: prescribed rupture
+    Prescribed rupture simulation parameters
+      Number of faults: 1
+        sliding  fault
+      Number of hypocenters: 1
+      Hypocenter node labels and start times:
+        134481  0.0
+      Filename for slip distribution: slip.spatialdb
+        Query type: nearest
+      Type of rupture speed specification: start time
+      Filename for rate/rup speed distribution: risesliptime.spatialdb
+        Query type: nearest
+      Functional form for slip function: Liu cosine
+      Time step b/t energy snapshots: 2.0 sec

Added: short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/mat_elastic.spatialdb
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/mat_elastic.spatialdb	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/mat_elastic.spatialdb	2008-11-11 23:37:37 UTC (rev 13293)
@@ -0,0 +1,12 @@
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 3
+  value-names = Density Vp Vs 
+  value-units =  kg/m3  m/s  m/s
+  num-locs = 1
+  data-dim = 0
+  cs-data = cartesian {
+    to-meters = 1.0
+  }
+}
+0.0  0.0  0.0   3050.0  7800.0  4500.0

Added: short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/pylithapp.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/pylithapp.cfg	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/pylithapp.cfg	2008-11-11 23:37:37 UTC (rev 13293)
@@ -0,0 +1,164 @@
+# -*- Python -*-
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# journal
+# ----------------------------------------------------------------------
+[pylithapp.journal.info]
+timedependent = 1
+explicit = 1
+petsc = 1
+solverlinear = 1
+meshiolagrit = 1
+explicitelasticity = 1
+faultcohesivekin = 1
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator]
+#debug = 1
+importer = pylith.meshio.MeshIOLagrit
+
+[pylithapp.mesh_generator.importer]
+filename_gmv = ../meshes/halfspace_tet4_lagrit.gmv
+filename_pset = ../meshes/halfspace_tet4_lagrit.pset
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+dimension = 3
+
+formulation = pylith.problems.Explicit
+formulation.solver.initial_guess_zero = False
+
+bc = [x_pos,x_neg,y_pos,y_neg,z_neg]
+bc.x_pos = pylith.bc.AbsorbingDampers
+bc.x_neg = pylith.bc.AbsorbingDampers
+bc.y_pos = pylith.bc.AbsorbingDampers
+bc.y_neg = pylith.bc.AbsorbingDampers
+bc.z_neg = pylith.bc.AbsorbingDampers
+bc.z_neg.up_dir = [1,0,0]
+
+interfaces = [fault]
+materials = [elastic]
+
+[pylithapp.timedependent.formulation.time_step]
+total_time = 15.0*s
+dt = 0.05*s
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.materials.elastic]
+
+label = Elastic material
+id = 1
+db.iohandler.filename = mat_elastic.spatialdb
+quadrature = pylith.feassemble.quadrature.Quadrature3D
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.shape = tetrahedron
+quadrature.cell.quad_order = 2
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.bc.x_pos]
+label = elemfaces_xmax
+db.label = Absorbing BC +x
+db.iohandler.filename = mat_elastic.spatialdb
+quadrature = pylith.feassemble.quadrature.Quadrature2Din3D
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.shape = triangle
+quadrature.cell.quad_order = 2
+
+[pylithapp.timedependent.bc.x_neg]
+label = elemfaces_xmin
+db.label = Absorbing BC -x
+db.iohandler.filename = mat_elastic.spatialdb
+quadrature = pylith.feassemble.quadrature.Quadrature2Din3D
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.shape = triangle
+quadrature.cell.quad_order = 2
+
+[pylithapp.timedependent.bc.y_pos]
+label = elemfaces_ymax
+db.label = Absorbing BC +y
+db.iohandler.filename = mat_elastic.spatialdb
+quadrature = pylith.feassemble.quadrature.Quadrature2Din3D
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.shape = triangle
+quadrature.cell.quad_order = 2
+
+[pylithapp.timedependent.bc.y_neg]
+label = elemfaces_ymin
+db.label = Absorbing BC -y
+db.iohandler.filename = mat_elastic.spatialdb
+quadrature = pylith.feassemble.quadrature.Quadrature2Din3D
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.shape = triangle
+quadrature.cell.quad_order = 2
+
+[pylithapp.timedependent.bc.z_neg]
+label = elemfaces_zmin
+db.label = Absorbing BC -z
+db.iohandler.filename = mat_elastic.spatialdb
+quadrature = pylith.feassemble.quadrature.Quadrature2Din3D
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.shape = triangle
+quadrature.cell.quad_order = 2
+
+# ----------------------------------------------------------------------
+# faults
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.interfaces.fault]
+id = 100
+label = elemfaces_fault
+quadrature = pylith.feassemble.quadrature.Quadrature2Din3D
+quadrature.cell = pylith.feassemble.FIATSimplex
+quadrature.cell.shape = triangle
+quadrature.cell.quad_order = 2
+
+mat_db.iohandler.filename = mat_elastic.spatialdb
+eq_srcs.rupture.slip_function = pylith.faults.LiuCosSlipFn
+
+[pylithapp.timedependent.interfaces.fault.eq_srcs.rupture.slip_function]
+slip.iohandler.filename = slip.spatialdb
+rise_time.iohandler.filename = risesliptime.spatialdb
+slip_time.iohandler.filename = risesliptime.spatialdb
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+[pylithapp.petsc]
+ksp_type = gmres
+pc_type = asm
+ksp_rtol = 1.0e-8
+ksp_atol = 1.0e-10
+ksp_max_it = 100
+ksp_gmres_restart = 25
+
+ksp_monitor = true
+ksp_view = true
+log_summary = true
+
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+[pylithapp.problem.formulation.output.output]
+skip = 1
+writer.filename = ../results/pylith_tet4_lagrit.vtk
+writer.time_format = %05.2f
+
+[pylithapp.timedependent.interfaces.fault.output]
+skip = 1
+writer.filename = ../results/pylith_tet4_lagrit-fault.vtk
+writer.time_format = %05.2f
+
+[pylithapp.timedependent.materials.elastic.output]
+skip = 19
+writer.filename = ../results/pylith_tet4_lagrit-statevars.vtk
+writer.time_format = %05.2f
+cell_filter = pylith.meshio.CellFilterAvg

Added: short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/risesliptime.spatialdb
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/risesliptime.spatialdb	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/risesliptime.spatialdb	2008-11-11 23:37:37 UTC (rev 13293)
@@ -0,0 +1,13 @@
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values =      2
+  value-names =  rise-time  slip-time
+  value-units =  s s
+  num-locs =  1
+  data-dim =    0
+  space-dim =    3
+  cs-data = cartesian {
+  to-meters = 1
+  }
+}
+0.0  0.0  0.0    2.0  0.0

Added: short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/slip.spatialdb
===================================================================
--- short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/slip.spatialdb	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/dynamic/halfspace_strikeslip/parameters/slip.spatialdb	2008-11-11 23:37:37 UTC (rev 13293)
@@ -0,0 +1,13 @@
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values =      3
+  value-names =  left-lateral-slip  reverse-slip  fault-opening
+  value-units =  m  m  m
+  num-locs =  1
+  data-dim =    0
+  space-dim =    3
+  cs-data = cartesian {
+    to-meters = 1
+  }
+}
+0.0  0.0  0.0   -1.0  0.0  0.0



More information about the CIG-COMMITS mailing list