[cig-commits] r16789 - short/3D/PyLith/trunk/examples/3d/hex8

willic3 at geodynamics.org willic3 at geodynamics.org
Tue May 25 21:35:24 PDT 2010


Author: willic3
Date: 2010-05-25 21:35:23 -0700 (Tue, 25 May 2010)
New Revision: 16789

Added:
   short/3D/PyLith/trunk/examples/3d/hex8/step10.cfg
Log:
Added a simple static fault friction example, where the amount of applied
displacement is not sufficient to initiate slip.



Added: short/3D/PyLith/trunk/examples/3d/hex8/step10.cfg
===================================================================
--- short/3D/PyLith/trunk/examples/3d/hex8/step10.cfg	                        (rev 0)
+++ short/3D/PyLith/trunk/examples/3d/hex8/step10.cfg	2010-05-26 04:35:23 UTC (rev 16789)
@@ -0,0 +1,150 @@
+# -*- Python -*-
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# PROBLEM DESCRIPTION
+# ----------------------------------------------------------------------
+
+#
+# This problem demonstrates the use of static fault friction.
+# The problem is identical to example 1, except for the presence of a fault
+# with static friction. In this case, the applied displacements are
+# insufficient to initiate slip, so the solution should be identical to
+# the results of example 1.
+
+# ----------------------------------------------------------------------
+# RUNNING THE SIMULATON
+# ----------------------------------------------------------------------
+
+# This is not a self-contained simulation configuration file. This
+# file only specifies parameters specific to tutorial step10.
+# The general parameters are specificed in the pylithapp.cfg
+# file which PyLith reads by default.
+#
+# To run the simulation:
+# pylith step10.cfg
+#
+# Output will be directed to the directory step10.
+
+# ----------------------------------------------------------------------
+# 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]
+# 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 (boundary of the domain).
+output.subdomain = pylith.meshio.OutputSolnSubset
+
+# Fault friction is a nonlinear problem so we need to use the nonlinear
+# solver.
+solver = pylith.problems.SolverNonlinear
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+# Set the parameters for Dirichlet boundary conditions applied on the
+# +x, -x, and -z faces of the box.
+#
+# We fix the x and y degrees of freedom on the +x and -x faces, and
+# fix the z degree of freedom on the bottom (-z) face.
+#
+# For x_pos and x_neg, we change the database from ZeroDispDB (which
+# specifies a zero value) to SimpleDB (which uses a data file to
+# specify a spatial variation).
+#
+# For z_neg, we keep the default ZeroDispDB, since we just want zero
+# z-displacements on that boundary.
+#
+# Note that since the fault cuts through the base of the model (z_neg),
+# we can only constrain the portion of the bottom boundary that does not
+# include the fault. A nodeset named 'face_zneg_nofault' has been defined
+# in Cubit for this purpose.
+#
+
+# The label corresponds to the name of the nodeset in CUBIT.
+
+# +x face
+[pylithapp.timedependent.bc.x_pos]
+bc_dof = [0, 1]
+label = face_xpos
+db_initial = spatialdata.spatialdb.SimpleDB
+db_initial.label = Dirichlet BC on +x
+db_initial.iohandler.filename = spatialdb/fixeddisp_axial_shear.spatialdb
+
+# -x face
+[pylithapp.timedependent.bc.x_neg]
+bc_dof = [0, 1]
+label = face_xneg
+db_initial = spatialdata.spatialdb.SimpleDB
+db_initial.label = Dirichlet BC on -x
+db_initial.iohandler.filename = spatialdb/fixeddisp_axial_shear.spatialdb
+
+# -z face
+[pylithapp.timedependent.bc.z_neg]
+bc_dof = [2]
+label = face_zneg_nofault
+db_initial.label = Dirichlet BC on -z
+
+# ----------------------------------------------------------------------
+# faults
+# ----------------------------------------------------------------------
+[pylithapp.timedependent.interfaces]
+# Change fault to dynamic fault interface.
+fault = pylith.faults.FaultCohesiveDyn
+
+[pylithapp.timedependent.interfaces.fault]
+# The label corresponds to the name of the nodeset in CUBIT.
+label = fault
+
+# Use the static friction model.
+friction = pylith.friction.StaticFriction
+
+# We must define the quadrature information for fault cells.
+# The fault cells are 2D (surface).
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 2
+
+# Set static friction model parameters using a uniform DB. Set the
+# static coefficient of friction to 0.6 and cohesion to 0.0 Pa.
+friction.db_properties = spatialdata.spatialdb.UniformDB
+friction.db_properties.label = Static friction
+friction.db_properties.values = [friction-coefficient,cohesion]
+friction.db_properties.data = [0.6,0.0*Pa]
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK domain output of solution over domain.
+[pylithapp.problem.formulation.output.domain.writer]
+filename = step10/step10.vtk
+
+# Give basename for VTK domain output of solution over ground surface.
+[pylithapp.problem.formulation.output.subdomain]
+# Name of nodeset for ground surface.
+label = face_zpos
+writer.filename = step10/step10-groundsurf.vtk
+
+# Give basename for VTK fault output.
+[pylithapp.problem.interfaces.fault.output]
+writer.filename = step10/step10-fault.vtk
+
+# Give basename for VTK output of upper_crust state variables.
+[pylithapp.timedependent.materials.upper_crust.output]
+# Average values over quadrature points.
+cell_filter = pylith.meshio.CellFilterAvgMesh
+writer.filename = step10/step10-upper_crust.vtk
+
+# Give basename for VTK output of lower_crust state variables.
+[pylithapp.timedependent.materials.lower_crust.output]
+# Average values over quadrature points.
+cell_filter = pylith.meshio.CellFilterAvgMesh
+writer.filename = step10/step10-lower_crust.vtk



More information about the CIG-COMMITS mailing list