[cig-commits] r11652 - in short/3D/PyLith/trunk/examples: . 3d 3d/bar_hex8
brad at geodynamics.org
brad at geodynamics.org
Sun Mar 30 23:38:16 PDT 2008
Author: brad
Date: 2008-03-30 23:38:16 -0700 (Sun, 30 Mar 2008)
New Revision: 11652
Added:
short/3D/PyLith/trunk/examples/3d/bar_hex8/
short/3D/PyLith/trunk/examples/3d/bar_hex8/README
short/3D/PyLith/trunk/examples/3d/bar_hex8/bar_hex8_200m.exo
short/3D/PyLith/trunk/examples/3d/bar_hex8/geometry.jou
short/3D/PyLith/trunk/examples/3d/bar_hex8/matprops.spatialdb
short/3D/PyLith/trunk/examples/3d/bar_hex8/mesh_hex8_200m.jou
short/3D/PyLith/trunk/examples/3d/bar_hex8/output/
short/3D/PyLith/trunk/examples/3d/bar_hex8/shearwave.cfg
short/3D/PyLith/trunk/examples/3d/bar_hex8/shearwave_slip.spatialdb
short/3D/PyLith/trunk/examples/3d/bar_hex8/shearwave_sliprate.spatialdb
short/3D/PyLith/trunk/examples/3d/bar_hex8/shearwave_sliptime.spatialdb
Removed:
short/3D/PyLith/trunk/examples/twofaults/
Log:
Added 3-D bar with hex8 cells shear-wave example.
Added: short/3D/PyLith/trunk/examples/3d/bar_hex8/README
===================================================================
--- short/3D/PyLith/trunk/examples/3d/bar_hex8/README (rev 0)
+++ short/3D/PyLith/trunk/examples/3d/bar_hex8/README 2008-03-31 06:38:16 UTC (rev 11652)
@@ -0,0 +1,20 @@
+This directory contains a wave propagation example problem. We create
+a shear dislocation in a rectangular, elastic bar 8 km long with a
+square cross-section 400 m on a side. The shear dislocation (the
+vertices are fixed in the longitudinal and other shear direction)
+generates a shear wave that propagates down the bar. Absorbing
+boundary conditions on each end perfectly absorb the shear wave.
+The bar is discretized with hexahedral cells.
+
+Files associated with the example problem:
+
+ - geometry.jou: CUBIT journal file defining the geometry of the mesh
+ - mesh_hex8_200m.jou: CUBIT journal file for meshing the problem
+ - shearwave.cfg: Parameter settings for the shear wave dislocation problem
+ - matprops.spatialdb: Material database of physical properties
+ - bar_hex8_200m.exo: Exodus file with mesh generated by CUBIT
+ - shearwave_slip.spatialdb: Spatial database with values for final slip
+ - shearwave_sliprate.spatialdb: Spatial database with values for the
+ peak slip rate
+ - shearwave_sliptime.spatialdb: Spatial database with values for the
+ slip initiation time
Added: short/3D/PyLith/trunk/examples/3d/bar_hex8/bar_hex8_200m.exo
===================================================================
(Binary files differ)
Property changes on: short/3D/PyLith/trunk/examples/3d/bar_hex8/bar_hex8_200m.exo
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: short/3D/PyLith/trunk/examples/3d/bar_hex8/geometry.jou
===================================================================
--- short/3D/PyLith/trunk/examples/3d/bar_hex8/geometry.jou (rev 0)
+++ short/3D/PyLith/trunk/examples/3d/bar_hex8/geometry.jou 2008-03-31 06:38:16 UTC (rev 11652)
@@ -0,0 +1,41 @@
+## /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
+# ----------------------------------------------------------------------
+
+# Bar is 400m x 400m x 8000m
+# -4000 m <= x <= 4000 m
+# -200 m <= y <= 200 m
+# -200 m <= z <= 200 km
+reset
+brick x 8000 y 400 z 400
+
+# ----------------------------------------------------------------------
+# Create interface surfaces
+# ----------------------------------------------------------------------
+
+# Create fault (yz plane) at x = 0.0
+
+create planar surface with plane xplane offset 0
+surface 7 name "fault_surface"
+
+# ----------------------------------------------------------------------
+# Divide volumes using interface surfaces
+# ----------------------------------------------------------------------
+webcut volume 1 with plane surface fault_surface
+volume 1 name "elastic_xpos"
+volume 3 name "elastic_xneg"
+
+# ----------------------------------------------------------------------
+# Imprint all volumes, merging surfaces
+# ----------------------------------------------------------------------
+imprint all with volume all
+merge all
Added: short/3D/PyLith/trunk/examples/3d/bar_hex8/matprops.spatialdb
===================================================================
--- short/3D/PyLith/trunk/examples/3d/bar_hex8/matprops.spatialdb (rev 0)
+++ short/3D/PyLith/trunk/examples/3d/bar_hex8/matprops.spatialdb 2008-03-31 06:38:16 UTC (rev 11652)
@@ -0,0 +1,25 @@
+#SPATIAL.ascii 1
+SimpleDB {
+ // number of physical properties
+ num-values = 3
+
+ // Names and units of physical properties
+ value-names = density vs vp
+ value-units = kg/m^3 m/s m/s
+
+ // Number of locations where physical properties are given
+ // 1 location -> data is uniform -> data dimension is 0
+ num-locs = 1
+ data-dim = 0
+
+ // Problem is in 3-D
+ space-dim = 3
+
+ // Coordinate system (3-D with coordinates in meters)
+ cs-data = cartesian {
+ to-meters = 1.0
+ space-dim = 3
+ }
+}
+// Columns are x, y, z, density, vs, vp
+0.0 0.0 0.0 2500.0 1000.0 1732.0
Added: short/3D/PyLith/trunk/examples/3d/bar_hex8/mesh_hex8_200m.jou
===================================================================
--- short/3D/PyLith/trunk/examples/3d/bar_hex8/mesh_hex8_200m.jou (rev 0)
+++ short/3D/PyLith/trunk/examples/3d/bar_hex8/mesh_hex8_200m.jou 2008-03-31 06:38:16 UTC (rev 11652)
@@ -0,0 +1,63 @@
+## /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 200
+
+# ----------------------------------------------------------------------
+# Generate the mesh
+# ----------------------------------------------------------------------
+mesh volume all
+
+# ----------------------------------------------------------------------
+# Create blocks for materials
+# ----------------------------------------------------------------------
+block 1 volume 1 3
+block 1 name "elastic"
+
+# ----------------------------------------------------------------------
+# 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 6
+nodeset 11 group face_xpos
+nodeset 11 name "face xpos"
+
+# ----------------------------------------------------------------------
+# Create nodeset for -x face
+# ----------------------------------------------------------------------
+group "face_xneg" add node in surface 4
+nodeset 12 group face_xneg
+nodeset 12 name "face xneg"
+
+# ----------------------------------------------------------------------
+# Create nodeset for all vertices but fault
+# ----------------------------------------------------------------------
+group "vertices_nofault" add node all
+group "vertices_nofault" remove node in fault
+nodeset 13 group vertices_nofault
+nodeset 13 name "vertices_nofault"
+
+# ----------------------------------------------------------------------
+# Export exodus file
+# ----------------------------------------------------------------------
+export mesh "bar_hex8_200m.exo" dimension 3 overwrite
Added: short/3D/PyLith/trunk/examples/3d/bar_hex8/shearwave.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/3d/bar_hex8/shearwave.cfg (rev 0)
+++ short/3D/PyLith/trunk/examples/3d/bar_hex8/shearwave.cfg 2008-03-31 06:38:16 UTC (rev 11652)
@@ -0,0 +1,219 @@
+# -*- Python -*-
+
+# The settings in this file (shearwave.cfg) will be read if it is
+# specified on the command line:
+# 'pylith shearwave.cfg'
+#
+# If this file is given, the settings in this file will override all
+# others except for parameters specified directly on the command line.
+#
+# These settings define an explicit time-stepping problem using a fault with
+# kinematically-specified slip.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# journal
+# ----------------------------------------------------------------------
+[pylithapp.journal.info]
+timedependent = 1
+#explicit = 1
+#petsc = 1
+#solverlinear = 1
+meshiocubit = 1
+#explicitelasticity = 1
+#quadrature2d = 1
+#fiatlagrange = 1
+#faultcohesivekin = 1
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+[pylithapp.mesh_generator]
+#debug = 1
+importer = pylith.meshio.MeshIOCubit
+
+[pylithapp.mesh_generator.importer]
+filename = bar_hex8_200m.exo
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+[pylithapp.timedependent]
+total_time = 12.0*s
+default_dt = 0.05*s
+dimension = 3
+
+# Change to an explicit time stepping formulation
+formulation = pylith.problems.Explicit
+
+# Reuse solution from previous time step as initial guess for next time step
+#formulation.solver.initial_guess_zero = False
+
+# Set bc to an array with 3 boundary conditions: 'x_neg', 'x_pos', and 'y_pos'.
+bc = [x_pos,x_neg,y_pos]
+
+# Change the DirichletPoints BC to the AbsorbingDampers BC
+bc.x_pos = pylith.bc.AbsorbingDampers
+bc.x_neg = pylith.bc.AbsorbingDampers
+
+# Set interfaces to an array with 1 fault: 'fault'.
+interfaces = [fault]
+
+# Set materials to an array with 1 material 'elastic'.
+materials = [elastic]
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.materials.elastic]
+
+# Label for material
+label = Elastic material
+
+# Nodeset id from CUBIT
+id = 1
+
+# Spatial database with physical properties for elastic material
+db.iohandler.filename = matprops.spatialdb
+
+# Set the basis functions and quadrature:
+# 3-D Lagrange cell with 2nd order quadrature
+quadrature = pylith.feassemble.quadrature.Quadrature3D
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 3
+quadrature.cell.quad_order = 2
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.bc.x_pos]
+# Absorbing boundary condition on +x face of bar
+
+# Nodeset id from CUBIT
+label = 11
+
+# Specify label and filename for spatial database with physical properties
+db.label = Absorbing BC +x
+db.iohandler.filename = matprops.spatialdb
+
+# Specify the basis functions and quadrature:
+# 2-D Lagrange cell in 3-D space with 2nd order quadrature
+quadrature = pylith.feassemble.quadrature.Quadrature2Din3D
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 2
+quadrature.cell.quad_order = 2
+
+[pylithapp.timedependent.bc.x_neg]
+# Absorbing boundary condition on -x face of bar
+
+# Nodeset id from CUBIT
+label = 12
+
+# Specify label and filename for spatial database with physical properties
+db.label = Absorbing BC -x
+db.iohandler.filename = matprops.spatialdb
+
+# Specify the basis functions and quadrature:
+# 2-D Lagrange cell in 3-D space with 2nd order quadrature
+quadrature = pylith.feassemble.quadrature.Quadrature2Din3D
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 2
+quadrature.cell.quad_order = 2
+
+[pylithapp.timedependent.bc.y_pos]
+# Dirichlet boundary condition on all vertices except fault vertices
+
+# Pin x and z degrees of freedom
+fixed_dof = [0, 2]
+
+# Nodeset id from CUBIT
+label = 13
+
+# ----------------------------------------------------------------------
+# faults
+# ----------------------------------------------------------------------
+# NOTE: It is possible to assign an ID number to a fault (e.g.,
+# 'id = 10'). Care must be taken when doing this, however, because the
+# assigned ID will become the material ID for the cohesive element.
+# This ID must not conflict with any of the material ID numbers for
+# volume elements. The default ID for a fault is 100. If you have a
+# fault in your mesh you must:
+# 1. If you create your own fault ID, make sure it does not conflict
+# with any of you material ID's.
+# 2. If you use the default fault ID, make sure that none of your
+# material ID's are equal to 100.
+
+[pylithapp.timedependent.interfaces.fault]
+
+# Material id
+id = 100
+
+# Nodeset id from CUBIT
+label = 10
+
+# Specify the basis functions and quadrature:
+# 2-D Lagrange cell in 3-D space with 2nd order quadrature
+quadrature = pylith.feassemble.quadrature.Quadrature2Din3D
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 2
+quadrature.cell.quad_order = 2
+
+# Set the physical properties for the fault to properly condition the
+# system of equations.
+mat_db.iohandler.filename = matprops.spatialdb
+
+[pylithapp.timedependent.interfaces.fault.eq_src.slip_function]
+
+# Database specifying the final slip.
+slip.iohandler.filename = shearwave_slip.spatialdb
+
+# Database specifying peak slip rate.
+slip_rate.iohandler.filename = shearwave_sliprate.spatialdb
+
+# Database specifying time at which slip begins at each point.
+slip_time.iohandler.filename = shearwave_sliptime.spatialdb
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+[pylithapp.petsc]
+ksp_type = gmres
+pc_type = asm
+ksp_rtol = 1.0e-8
+ksp_max_it = 50
+ksp_gmres_restart = 10
+
+#ksp_monitor = true
+#ksp_view = true
+log_summary = true
+
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# We set three output manager parameters for each type of output.
+# skip - Number of time steps to skip between output
+# writer.filename - Root name for VTK file
+# writer.time_format - Format of time stamp (decimal point is removed)
+
+# Give basename for VTK domain output of solution over domain.
+[pylithapp.problem.formulation.output.output]
+skip = 3
+writer.filename = output/shearwave.vtk
+writer.time_format = %05.2f
+
+# Give basename for VTK fault output.
+[pylithapp.timedependent.interfaces.fault.output]
+skip = 3
+writer.filename = output/shearwave-fault.vtk
+writer.time_format = %05.2f
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.elastic.output]
+skip = 33
+writer.filename = output/shearwave-statevars.vtk
+writer.time_format = %05.2f
+
+# Averate state variables over cell
+cell_filter = pylith.meshio.CellFilterAvg
Added: short/3D/PyLith/trunk/examples/3d/bar_hex8/shearwave_slip.spatialdb
===================================================================
--- short/3D/PyLith/trunk/examples/3d/bar_hex8/shearwave_slip.spatialdb (rev 0)
+++ short/3D/PyLith/trunk/examples/3d/bar_hex8/shearwave_slip.spatialdb 2008-03-31 06:38:16 UTC (rev 11652)
@@ -0,0 +1,25 @@
+#SPATIAL.ascii 1
+SimpleDB {
+ // number of values for final slip
+ num-values = 3
+
+ // Names and units of final slip values
+ value-names = left-lateral-slip reverse-slip fault-opening
+ value-units = m m m
+
+ // Number of locations where physical properties are given
+ // 1 location -> data is uniform -> data dimension is 0
+ num-locs = 1
+ data-dim = 0
+
+ // Problem is in 3-D
+ space-dim = 3
+
+ // Coordinate system (3-D with coordinates in meters)
+ cs-data = cartesian {
+ to-meters = 1.0
+ space-dim = 3
+ }
+}
+// Columns are x, y, z, left-lateral-slip, reverse-slip, fault-opening
+0.0 0.0 0.0 1.0 0.0 0.0
Added: short/3D/PyLith/trunk/examples/3d/bar_hex8/shearwave_sliprate.spatialdb
===================================================================
--- short/3D/PyLith/trunk/examples/3d/bar_hex8/shearwave_sliprate.spatialdb (rev 0)
+++ short/3D/PyLith/trunk/examples/3d/bar_hex8/shearwave_sliprate.spatialdb 2008-03-31 06:38:16 UTC (rev 11652)
@@ -0,0 +1,27 @@
+#SPATIAL.ascii 1
+SimpleDB {
+ // number of values for peak slip rate
+ num-values = 1
+
+ // Name and units for peak slip rate
+ value-names = slip-rate
+ value-units = m/s
+
+ // Number of locations where physical properties are given
+ // 1 location -> data is uniform -> data dimension is 0
+ num-locs = 1
+
+ // Problem is in 3-D
+ data-dim = 0
+
+ // Problem is in 3-D
+ space-dim = 3
+
+ // Coordinate system (3-D with coordinates in meters)
+ cs-data = cartesian {
+ to-meters = 1.0
+ space-dim = 3
+ }
+}
+// Columns are x, y, z, slip-rate
+0.0 0.0 0.0 1.0
Added: short/3D/PyLith/trunk/examples/3d/bar_hex8/shearwave_sliptime.spatialdb
===================================================================
--- short/3D/PyLith/trunk/examples/3d/bar_hex8/shearwave_sliptime.spatialdb (rev 0)
+++ short/3D/PyLith/trunk/examples/3d/bar_hex8/shearwave_sliptime.spatialdb 2008-03-31 06:38:16 UTC (rev 11652)
@@ -0,0 +1,25 @@
+#SPATIAL.ascii 1
+SimpleDB {
+ // number of values for slip initiation time
+ num-values = 1
+
+ // Names and units of slip initiation time
+ value-names = slip-time
+ value-units = s
+
+ // Number of locations where physical properties are given
+ // 1 location -> data is uniform -> data dimension is 0
+ num-locs = 1
+ data-dim = 0
+
+ // Problem is in 3-D
+ space-dim = 3
+
+ // Coordinate system (3-D with coordinates in meters)
+ cs-data = cartesian {
+ to-meters = 1.0
+ space-dim = 3
+ }
+}
+// Columns are x, y, z, slip-time
+0.0 0.0 0.0 0.1
More information about the cig-commits
mailing list