[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