[cig-commits] r12403 - in short/3D/PyLith/benchmarks/trunk/quasistatic: . dike-disloc dike-disloc/meshes dike-disloc/parameters

willic3 at geodynamics.org willic3 at geodynamics.org
Wed Jul 9 12:06:08 PDT 2008


Author: willic3
Date: 2008-07-09 12:06:08 -0700 (Wed, 09 Jul 2008)
New Revision: 12403

Added:
   short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/
   short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/meshes/
   short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/meshes/dike-disloc_hex8_graded_2000m.exo
   short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/meshes/dike-disloc_hex8_graded_2000m.jou
   short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/
   short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/dike-disloc_cubit.cfg
   short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/dike-disloc_hex8_graded_2000m.cfg
   short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/mat_elastic.spatialdb
   short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/mat_maxwell.spatialdb
   short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/pylithapp.cfg
   short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/slip_final.spatialdb
   short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/sliptime_uniform.spatialdb
   short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/timedep.cfg
   short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/results/
Log:
Initial attempt at a dike problem with a moderate resolution mesh.
Outer mesh dimensions should probably be extended further to match a
half-space solution.
Dike is implemented using dislocations, and includes a finite dike extending
through an elastic layer into a viscoelastic layer.



Added: short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/meshes/dike-disloc_hex8_graded_2000m.exo
===================================================================
(Binary files differ)


Property changes on: short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/meshes/dike-disloc_hex8_graded_2000m.exo
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/meshes/dike-disloc_hex8_graded_2000m.jou
===================================================================
--- short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/meshes/dike-disloc_hex8_graded_2000m.jou	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/meshes/dike-disloc_hex8_graded_2000m.jou	2008-07-09 19:06:08 UTC (rev 12403)
@@ -0,0 +1,141 @@
+## /Applications/Plotting/Cubit_10_2.app/Contents/MacOS/Cubit_10_2
+## Cubit Version 10.2
+## Cubit Build 8
+## Revised 10/17/2006 15:13:41 MST
+## Running 06/27/2008 11:07:35 AM
+## Command Options:
+## -warning = On
+## -information = On
+
+# ----------------------------------------------------------------------
+# Create outer block.
+# ----------------------------------------------------------------------
+
+# Block is 200 km x 200 km x 50 km
+# -100 km <= x <= 100 km
+# -100 km <= y <= 100 km
+# -50 km <= z <= 0 km
+reset
+brick x 200000 y 200000 z 50000
+
+# Translate block so the top is at z=0.
+volume 1 move x 0 y 0 z -25000
+
+# ----------------------------------------------------------------------
+# Create inner block that will be at constant resolution.
+# ----------------------------------------------------------------------
+
+# Block is 50 km x 50 km x 25 km
+# -25 km <= x <= 25 km
+# -25 km <= y <= 25 km
+# -25 km <= y <= 0 km
+brick x 50000 y 50000 z 25000
+
+# Translate block so the top is at z=0.
+volume 2 move x 0 y 0 z -12500
+
+# ----------------------------------------------------------------------
+# Create interface surfaces.
+# ----------------------------------------------------------------------
+create planar surface with plane xplane offset 0
+surface 13 name "dike_surface"
+create planar surface with plane zplane offset -10000
+surface 14 name "material_interface"
+create planar surface with plane yplane offset 0
+surface 15 name "symmetry_plane"
+
+# ----------------------------------------------------------------------
+# Chop outer volume with inner volume and then cut both with interfaces.
+# ----------------------------------------------------------------------
+chop volume 1 with volume 2
+compress all
+webcut volume all with plane dike_surface
+webcut volume all with plane symmetry_plane
+webcut volume all with plane material_interface
+
+# ----------------------------------------------------------------------
+# Imprint all volumes, merging surfaces.
+# ----------------------------------------------------------------------
+imprint all with volume all
+merge all
+
+# ----------------------------------------------------------------------
+# Remove surface bodies.
+# ----------------------------------------------------------------------
+delete body 1 2 3 6 7 10 11 14 17 18 21 24
+
+# ----------------------------------------------------------------------
+# Create initial mesh at constant resolution.
+# ----------------------------------------------------------------------
+volume all size 6000
+mesh volume all
+
+# ----------------------------------------------------------------------
+# Refine region inside inner box.
+# ----------------------------------------------------------------------
+group "inner_box" add hex with x_coord > -25000 and with x_coord < 25000 and with y_coord > -25000 and with y_coord < 25000 and with z_coord > -25000
+refine hex in inner_box depth 0
+
+# ----------------------------------------------------------------------
+# Create blocks for materials.
+# ----------------------------------------------------------------------
+block 1 volume 4 5 8 9 12 13 15 16
+block 1 name "elastic"
+block 2 volume 19 20 22 23 25 26 27 28
+block 2 name "viscoelastic"
+
+# ----------------------------------------------------------------------
+# Create fault nodeset.
+# ----------------------------------------------------------------------
+group "dike" add node in dike_surface at A
+group "dike" add node in dike_surface at B
+group "dike" add node in dike_surface at D
+group "dike" add node in dike_surface at G
+nodeset 10 dike
+
+# ----------------------------------------------------------------------
+# Create nodeset for +x face.
+# ----------------------------------------------------------------------
+group "face_xpos" add node in surface 121 176 131 179
+nodeset 11 face_xpos
+nodeset 11 name "face_xpos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -x face.
+# ----------------------------------------------------------------------
+group "face_xneg" add node in surface 150 197 153 208
+nodeset 12 face_xneg
+nodeset 12 name "face_xneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +y face.
+# ----------------------------------------------------------------------
+group "face_ypos" add node in surface 122 151 132 154
+nodeset 13 face_ypos
+nodeset 13 name "face_ypos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -y face.
+# ----------------------------------------------------------------------
+group "face_yneg" add node in surface 177 198 180 207
+nodeset 14 face_yneg
+nodeset 14 name "face_yneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -z face.
+# ----------------------------------------------------------------------
+group "face_zneg" add node in surface 71 93 74 103
+nodeset 15 face_zneg
+nodeset 15 name "face_zneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for +z face.
+# ----------------------------------------------------------------------
+group "face_zpos" add node in surface 59 68 83 95 61 78 90 101
+nodeset 16 face_zpos
+nodeset 16 name "face_zpos"
+
+# ----------------------------------------------------------------------
+# Export exodus file.
+# ----------------------------------------------------------------------
+export mesh "dike-disloc_hex8_graded_2000m.exo" dimension 3 overwrite

Added: short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/dike-disloc_cubit.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/dike-disloc_cubit.cfg	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/dike-disloc_cubit.cfg	2008-07-09 19:06:08 UTC (rev 12403)
@@ -0,0 +1,62 @@
+# -*- Python -*-
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator]
+importer = pylith.meshio.MeshIOCubit
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+materials = [elastic,viscoelastic]
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.materials]
+viscoelastic = pylith.materials.MaxwellIsotropic3D
+
+[pylithapp.timedependent.materials.elastic]
+label = 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.viscoelastic]
+label = Viscoelastic material
+id = 2
+db.iohandler.filename = mat_maxwell.spatialdb
+quadrature = pylith.feassemble.quadrature.Quadrature3D
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 3
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.bc.x_pos]
+label = 11
+
+[pylithapp.timedependent.bc.x_neg]
+label = 12
+
+[pylithapp.timedependent.bc.y_pos]
+label = 13
+
+[pylithapp.timedependent.bc.y_neg]
+label = 14
+
+[pylithapp.timedependent.bc.z_neg]
+label = 15
+
+# ----------------------------------------------------------------------
+# faults (dikes)
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.interfaces.dike]
+label = 10
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 2

Added: short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/dike-disloc_hex8_graded_2000m.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/dike-disloc_hex8_graded_2000m.cfg	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/dike-disloc_hex8_graded_2000m.cfg	2008-07-09 19:06:08 UTC (rev 12403)
@@ -0,0 +1,33 @@
+# -*- Python -*-
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator.importer]
+filename = ../meshes/dike-disloc_hex8_graded_2000m.exo
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.implicit]
+output = [domain,subdomain]
+output.subdomain = pylith.meshio.OutputSolnSubset
+
+[pylithapp.problem.formulation.output.domain.writer]
+filename = ../results/dike-disloc_hex8_graded_2000m.vtk
+
+[pylithapp.problem.formulation.output.subdomain]
+label = 16
+writer.filename = ../results/dike-disloc_hex8_graded_2000m-groundsurf.vtk
+
+[pylithapp.timedependent.interfaces.dike.output.writer]
+filename = ../results/dike-disloc_hex8_graded_2000m-dike.vtk
+
+[pylithapp.timedependent.materials.elastic.output]
+cell_filter = pylith.meshio.CellFilterAvg
+writer.filename = ../results/dike-disloc_hex8_graded_2000m-elastic.vtk
+
+[pylithapp.timedependent.materials.viscoelastic.output]
+cell_filter = pylith.meshio.CellFilterAvg
+writer.filename = ../results/dike-disloc_hex8_graded_2000m-viscoelastic.vtk

Added: short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/mat_elastic.spatialdb
===================================================================
--- short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/mat_elastic.spatialdb	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/mat_elastic.spatialdb	2008-07-09 19:06:08 UTC (rev 12403)
@@ -0,0 +1,14 @@
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 3
+  value-names =  density vs vp
+  value-units =  kg/m^3  m/s  m/s
+  num-locs = 1
+  data-dim = 0
+  space-dim = 3
+  cs-data = cartesian {
+    to-meters = 1.0
+    space-dim = 3
+  }
+}
+0.0  0.0  0.0   2500.0  3000.0  5291.5

Added: short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/mat_maxwell.spatialdb
===================================================================
--- short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/mat_maxwell.spatialdb	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/mat_maxwell.spatialdb	2008-07-09 19:06:08 UTC (rev 12403)
@@ -0,0 +1,14 @@
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 4
+  value-names =  density vs vp viscosity
+  value-units =  kg/m^3  m/s  m/s Pa*s
+  num-locs = 1
+  data-dim = 0
+  space-dim = 3
+  cs-data = cartesian {
+    to-meters = 1.0
+    space-dim = 3
+  }
+}
+0.0  0.0  0.0   2900.0  3900.0  6800.0  1.0e18

Added: short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/pylithapp.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/pylithapp.cfg	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/pylithapp.cfg	2008-07-09 19:06:08 UTC (rev 12403)
@@ -0,0 +1,102 @@
+# -*- Python -*-
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# journal
+# ----------------------------------------------------------------------
+[pylithapp.journal.info]
+timedependent = 1
+implicit = 1
+petsc = 1
+solverlinear = 1
+meshimporter = 1
+meshiocubit = 1
+meshiolagrit = 1
+gmvfile = 1
+psetfile = 1
+elasticityimplicit = 1
+faultcohesivekin = 1
+
+[pylithapp.journal.debug]
+pylithapp = 1
+problem = 1
+implicit = 1
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator]
+debug = 0
+
+[pylithapp.mesh_generator.importer]
+coordsys.space_dim = 3
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+dimension = 3
+formulation = pylith.problems.Implicit
+bc = [x_neg,x_pos,y_neg,y_pos,z_neg]
+interfaces = [dike]
+
+[pylithapp.timedependent.formulation.time_step]
+total_time = 0.0*s
+dt = 1.0*s
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.bc.y_neg]
+fixed_dof = [1]
+db.label = Zero y-displ on -y
+
+[pylithapp.timedependent.bc.x_pos]
+fixed_dof = [0]
+db.label = Zero x-displ on +x
+
+[pylithapp.timedependent.bc.x_neg]
+fixed_dof = [0]
+db.label = Zero x-displ on -x
+
+[pylithapp.timedependent.bc.y_pos]
+fixed_dof = [1]
+db.label = Zero y-displ on +y
+
+[pylithapp.timedependent.bc.z_neg]
+fixed_dof = [2]
+db.label = Zero z-displ on -z
+
+# ----------------------------------------------------------------------
+# faults (dikes)
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.interfaces.dike]
+id = 10
+quadrature = pylith.feassemble.quadrature.Quadrature2Din3D
+mat_db.iohandler.filename = mat_elastic.spatialdb
+
+[pylithapp.timedependent.interfaces.dike.eq_srcs.rupture.slip_function]
+slip.label = Final slip
+slip.iohandler.filename = slip_final.spatialdb
+slip.query_type = linear
+slip_time.label = Slip initiation time
+slip_time.iohandler.filename = sliptime_uniform.spatialdb
+
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+[pylithapp.petsc]
+
+pc_type = asm
+ksp_rtol = 1.0e-8
+ksp_gmres_restart = 70
+
+#ksp_type = preonly
+#pc_type = lu
+#mat_type = aijmumps
+
+ksp_max_it = 500
+ksp_monitor = true
+ksp_view = true
+log_summary = true

Added: short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/slip_final.spatialdb
===================================================================
--- short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/slip_final.spatialdb	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/slip_final.spatialdb	2008-07-09 19:06:08 UTC (rev 12403)
@@ -0,0 +1,37 @@
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 3
+  value-names =  left-lateral-slip   reverse-slip  fault-opening
+  value-units =  m  m  m
+  num-locs = 24
+  data-dim = 2
+  space-dim = 3
+  cs-data = cartesian {
+    to-meters = 1.0e3
+    space-dim = 3
+  }
+}
+0.0   -26.00     0.0    0.0  0.0  0.0
+0.0   -10.01     0.0    0.0  0.0  0.0
+0.0   -10.00     0.0    0.0  0.0  3.0
+0.0    10.00     0.0    0.0  0.0  3.0
+0.0    10.01     0.0    0.0  0.0  0.0
+0.0    26.00     0.0    0.0  0.0  0.0
+0.0   -26.00    -7.5    0.0  0.0  0.0
+0.0   -10.01    -7.5    0.0  0.0  0.0
+0.0   -10.00    -7.5    0.0  0.0  1.5
+0.0    10.00    -7.5    0.0  0.0  1.5
+0.0    10.01    -7.5    0.0  0.0  0.0
+0.0    26.00    -7.5    0.0  0.0  0.0
+0.0   -26.00   -15.0    0.0  0.0  0.0
+0.0   -10.01   -15.0    0.0  0.0  0.0
+0.0   -10.00   -15.0    0.0  0.0  0.0
+0.0    10.00   -15.0    0.0  0.0  0.0
+0.0    10.01   -15.0    0.0  0.0  0.0
+0.0    26.00   -15.0    0.0  0.0  0.0
+0.0   -26.00   -26.0    0.0  0.0  0.0
+0.0   -10.01   -26.0    0.0  0.0  0.0
+0.0   -10.00   -26.0    0.0  0.0  0.0
+0.0    10.00   -26.0    0.0  0.0  0.0
+0.0    10.01   -26.0    0.0  0.0  0.0
+0.0    26.00   -26.0    0.0  0.0  0.0

Added: short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/sliptime_uniform.spatialdb
===================================================================
--- short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/sliptime_uniform.spatialdb	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/sliptime_uniform.spatialdb	2008-07-09 19:06:08 UTC (rev 12403)
@@ -0,0 +1,14 @@
+#SPATIAL.ascii 1
+SimpleDB {
+  num-values = 1
+  value-names =  slip-time
+  value-units =  s
+  num-locs = 1
+  data-dim = 0
+  space-dim = 3
+  cs-data = cartesian {
+    to-meters = 1.0
+    space-dim = 3
+  }
+}
+0.0  0.0  0.0   0.0

Added: short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/timedep.cfg
===================================================================
--- short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/timedep.cfg	                        (rev 0)
+++ short/3D/PyLith/benchmarks/trunk/quasistatic/dike-disloc/parameters/timedep.cfg	2008-07-09 19:06:08 UTC (rev 12403)
@@ -0,0 +1,42 @@
+# -*- Python -*-
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.formulation.time_step]
+total_time = 10.0*year
+dt = 0.1*year
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+[pylithapp.problem.formulation.output.domain]
+output_freq = time_step
+time_step = 1.0*year
+writer.time_format = %04.0f
+writer.time_constant = 0.1*year
+
+[pylithapp.problem.formulation.output.subdomain]
+output_freq = time_step
+time_step = 0.1*year
+writer.time_format = %04.0f
+writer.time_constant = 0.1*year
+
+[pylithapp.problem.interfaces.dike.output]
+output_freq = time_step
+time_step = 1.0*year
+writer.time_format = %04.0f
+writer.time_constant = 0.1*year
+
+[pylithapp.problem.materials.elastic.output]
+output_freq = time_step
+time_step = 1.0*year
+writer.time_format = %04.0f
+writer.time_constant = 0.1*year
+
+[pylithapp.problem.materials.viscoelastic.output]
+output_freq = time_step
+time_step = 1.0*year
+writer.time_format = %04.0f
+writer.time_constant = 0.1*year



More information about the cig-commits mailing list