[cig-commits] r19666 - short/3D/PyLith/branches/v1.6-stable/examples/3d/hex8

brad at geodynamics.org brad at geodynamics.org
Thu Feb 23 13:21:30 PST 2012


Author: brad
Date: 2012-02-23 13:21:29 -0800 (Thu, 23 Feb 2012)
New Revision: 19666

Removed:
   short/3D/PyLith/branches/v1.6-stable/examples/3d/hex8/test.cfg
Modified:
   short/3D/PyLith/branches/v1.6-stable/examples/3d/hex8/step14.cfg
Log:
Updated parameters for step14 (successfully found set for stick slip behavior).

Modified: short/3D/PyLith/branches/v1.6-stable/examples/3d/hex8/step14.cfg
===================================================================
--- short/3D/PyLith/branches/v1.6-stable/examples/3d/hex8/step14.cfg	2012-02-23 20:37:04 UTC (rev 19665)
+++ short/3D/PyLith/branches/v1.6-stable/examples/3d/hex8/step14.cfg	2012-02-23 21:21:29 UTC (rev 19666)
@@ -8,10 +8,13 @@
 #
 # This problem demonstrates the use of rate-and-state friction for a
 # quasi-static problem, using the aging law for evolution of the state
-# variable.
-# The problem is similar to example 13, except that a different friction
-# model is used. The model is run for 200 years. Slip begins to occur
-# at about 45 years, and continues in each step after that.
+# variable. The rate and state friction parameters result in
+# stick-slip behavior. 
+#
+# The problem is similar to example 13, except that a different
+# friction model is used. The model is run for 300 years with a time
+# step of 2.0 years. A smaller time step would better resolve the slip
+# time histories but increases the runtime.
 
 # ----------------------------------------------------------------------
 # RUNNING THE SIMULATON
@@ -49,11 +52,11 @@
 # solver.
 solver = pylith.problems.SolverNonlinear
 
-# Change the total simulation time to 200 years, and use a constant time
-# step size of 5 years.
+# Change the total simulation time to 300 years, and use a constant time
+# step size of 2 years.
 [pylithapp.timedependent.implicit.time_step]
-total_time = 200.0*year
-dt = 5.0*year
+total_time = 300.0*year
+dt = 2.0*year
 
 # ----------------------------------------------------------------------
 # boundary conditions
@@ -85,7 +88,7 @@
 db_initial = spatialdata.spatialdb.UniformDB
 db_initial.label = Dirichlet BC on +x
 db_initial.values = [displacement-x,displacement-y]
-db_initial.data = [-1.0*m,0.0*m]
+db_initial.data = [-2.0*m,0.0*m]
 
 db_rate = spatialdata.spatialdb.UniformDB
 db_rate.label = Dirichlet rate BC on +x
@@ -118,11 +121,12 @@
 [pylithapp.timedependent.interfaces.fault]
 # The label corresponds to the name of the nodeset in CUBIT.
 label = fault
-zero_tolerance = 1.0e-12
+zero_tolerance = 1.0e-11
 
 # Use the rate-and-state aging friction model.
 friction = pylith.friction.RateStateAgeing
 friction.label = Rate and state
+friction.min_slip_rate = 1.0e-9
 
 # We must define the quadrature information for fault cells.
 # The fault cells are 2D (surface).
@@ -131,22 +135,23 @@
 
 # Set rate-and-state parameters using a uniform DB. Set the parameters as
 # follows:
-# reference coefficient of friction: 0.6
-# reference slip rate: 1.0e-06 m/s
-# slip-weakening parameter: 0.037 m
-# a: 0.0125
-# b: 0.0172
+# reference coefficient of friction: 0.4
+# reference slip rate: 1.0e-11 m/s
+# characteristic slip distance: 0.05 m
+# a: 0.002
+# b: 0.08
 # cohesion: 0 Pa
 friction.db_properties = spatialdata.spatialdb.UniformDB
 friction.db_properties.label = Rate Stete Ageing
 friction.db_properties.values = [reference-friction-coefficient,reference-slip-rate,characteristic-slip-distance,constitutive-parameter-a,constitutive-parameter-b,cohesion]
-friction.db_properties.data = [0.6,1.0e-6*m/s,0.0370*m,0.0125,0.0172,0.0*Pa]
+friction.db_properties.data = [0.4,2.0e-11*m/s,0.05*m,0.002,0.08,0.0*Pa]
 
 # Set spatial database for the initial value of the state variable.
 friction.db_initial_state = spatialdata.spatialdb.UniformDB
 friction.db_initial_state.label = Rate State Ageing State
 friction.db_initial_state.values = [state-variable]
-friction.db_initial_state.data = [92.7*s]
+# theta_ss = characteristic_slip_dist / reference_slip_rate
+friction.db_initial_state.data = [2.5e+9*s]
 
 # ----------------------------------------------------------------------
 # PETSc settings
@@ -159,7 +164,7 @@
 # fault constitutive model.
 friction_pc_type = asm
 friction_sub_pc_factor_shift_type = nonzero
-friction_ksp_max_it = 25
+friction_ksp_max_it = 50
 friction_ksp_gmres_restart = 30
 # Uncomment to view details of friction sensitivity solve.
 #friction_ksp_monitor = true
@@ -167,13 +172,13 @@
 friction_ksp_converged_reason = true
 
 # Reduce convergence tolerances.
-ksp_rtol = 1.0e-13
-ksp_atol = 1.0e-15
+ksp_rtol = 1.0e-16
+ksp_atol = 1.0e-12
 
-snes_rtol = 1.0e-12
-snes_atol = 1.0e-14
+snes_rtol = 1.0e-14
+snes_atol = 1.0e-10
+snes_max_it = 200
 
-
 # ----------------------------------------------------------------------
 # output
 # ----------------------------------------------------------------------

Deleted: short/3D/PyLith/branches/v1.6-stable/examples/3d/hex8/test.cfg
===================================================================
--- short/3D/PyLith/branches/v1.6-stable/examples/3d/hex8/test.cfg	2012-02-23 20:37:04 UTC (rev 19665)
+++ short/3D/PyLith/branches/v1.6-stable/examples/3d/hex8/test.cfg	2012-02-23 21:21:29 UTC (rev 19666)
@@ -1,215 +0,0 @@
-# -*- Python -*-
-[pylithapp]
-
-# ----------------------------------------------------------------------
-# PROBLEM DESCRIPTION
-# ----------------------------------------------------------------------
-
-#
-# This problem demonstrates the use of rate-and-state friction for a
-# quasi-static problem, using the aging law for evolution of the state
-# variable.
-#
-# The problem is similar to example 13, except that a different
-# friction model is used. The axial deformation and time step have
-# also been changed. The model is run for 200 years.
-
-# ----------------------------------------------------------------------
-# RUNNING THE SIMULATON
-# ----------------------------------------------------------------------
-
-# This is not a self-contained simulation configuration file. This
-# file only specifies parameters specific to tutorial step14.
-# The general parameters are specificed in the pylithapp.cfg
-# file which PyLith reads by default.
-#
-# To run the simulation:
-# pylith step14.cfg
-#
-# Output will be directed to the directory output.
-
-# ----------------------------------------------------------------------
-# 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
-
-# Change the total simulation time to 200 years, and use a constant time
-# step size of 5 years.
-[pylithapp.timedependent.implicit.time_step]
-total_time = 200.0*year
-dt = 0.5*year
-
-# ----------------------------------------------------------------------
-# boundary conditions
-# ----------------------------------------------------------------------
-# Set the parameters for boundary conditions applied on the
-# +x, -x, and -z faces of the box.
-#
-# On the -x and +x faces, we fix the x degrees of freedom and apply
-# velocities in the y-direction. We fix the z degree of freedom on the
-# bottom (-z) face.
-#
-# We use a UniformDB to apply the displacements and velocities, while
-# retaining the default ZeroDispDB for zero x-displacements on the -x
-# face and and zero z-displacements on -z.
-#
-# 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 -- Dirichlet
-[pylithapp.timedependent.bc.x_pos]
-bc_dof = [0,1]
-label = face_xpos
-
-db_initial = spatialdata.spatialdb.UniformDB
-db_initial.label = Dirichlet BC on +x
-db_initial.values = [displacement-x,displacement-y]
-db_initial.data = [-2.0*m,0.0*m]
-
-db_rate = spatialdata.spatialdb.UniformDB
-db_rate.label = Dirichlet rate BC on +x
-db_rate.values = [displacement-rate-x,displacement-rate-y,rate-start-time]
-db_rate.data = [0.0*cm/year,1.0*cm/year,0.0*year]
-
-# -x face
-[pylithapp.timedependent.bc.x_neg]
-bc_dof = [0, 1]
-label = face_xneg
-db_initial.label = Dirichlet BC on -x
-db_rate = spatialdata.spatialdb.UniformDB
-db_rate.label = Dirichlet rate BC on -x
-db_rate.values = [displacement-rate-x,displacement-rate-y,rate-start-time]
-db_rate.data = [0.0*cm/year,-1.0*cm/year,0.0*year]
-
-# -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
-zero_tolerance = 1.0e-11
-
-# Use the rate-and-state aging friction model.
-friction = pylith.friction.RateStateAgeing
-friction.label = Rate and state
-friction.min_slip_rate = 1.0e-9
-
-# 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 rate-and-state parameters using a uniform DB. Set the parameters as
-# follows:
-# reference coefficient of friction: 0.4
-# reference slip rate: 1.0e-9 m/s
-# characteristic slip distance: 0.05 m
-# a: 0.01
-# b: 0.08
-# cohesion: 0 Pa
-friction.db_properties = spatialdata.spatialdb.UniformDB
-friction.db_properties.label = Rate Stete Ageing
-friction.db_properties.values = [reference-friction-coefficient,reference-slip-rate,characteristic-slip-distance,constitutive-parameter-a,constitutive-parameter-b,cohesion]
-friction.db_properties.data = [0.4, 1.0e-7*m/s, 0.1*m, 0.01, 0.02, 0.0*Pa]
-
-# Set spatial database for the initial value of the state variable.
-friction.db_initial_state = spatialdata.spatialdb.UniformDB
-friction.db_initial_state.label = Rate State Ageing State
-friction.db_initial_state.values = [state-variable]
-# theta_ss = characteristic_slip_dist / reference_slip_rate
-friction.db_initial_state.data = [5.0e+07*s]
-
-# ----------------------------------------------------------------------
-# PETSc settings
-# ----------------------------------------------------------------------
-# NOTE: There are additional settings specific to fault friction.
-[pylithapp.petsc]
-
-# Friction sensitivity solve used to compute the increment in slip
-# associated with changes in the Lagrange multiplier imposed by the
-# fault constitutive model.
-friction_pc_type = asm
-friction_sub_pc_factor_shift_type = nonzero
-friction_ksp_max_it = 50
-friction_ksp_gmres_restart = 30
-# Uncomment to view details of friction sensitivity solve.
-#friction_ksp_monitor = true
-#friction_ksp_view = true
-friction_ksp_converged_reason = true
-
-# Reduce convergence tolerances.
-ksp_rtol = 1.0e-16
-ksp_atol = 1.0e-12
-
-snes_rtol = 1.0e-14
-snes_atol = 1.0e-10
-
-snes_max_it = 200
-info = 1
-
-# ----------------------------------------------------------------------
-# output
-# ----------------------------------------------------------------------
-[pylithapp.problem.formulation.output.domain]
-output_freq = time_step
-time_step = 10.0*year
-writer = pylith.meshio.DataWriterHDF5Mesh
-writer.filename = output/test.h5
-
-[pylithapp.problem.formulation.output.subdomain]
-label = face_zpos
-writer = pylith.meshio.DataWriterHDF5SubMesh
-writer.filename = output/test-groundsurf.h5
-
-[pylithapp.problem.interfaces.fault.output]
-writer = pylith.meshio.DataWriterHDF5SubSubMesh
-writer.filename = output/test-fault.h5
-vertex_data_fields = [slip, slip_rate, traction, state_variable]
-
-[pylithapp.timedependent.materials.upper_crust.output]
-cell_filter = pylith.meshio.CellFilterAvgMesh
-output_freq = time_step
-time_step = 20.0*year
-writer = pylith.meshio.DataWriterHDF5Mesh
-writer.filename = output/test-upper_crust.h5
-
-# 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
-output_freq = time_step
-time_step = 20.0*year
-writer = pylith.meshio.DataWriterHDF5Mesh
-writer.filename = output/test-lower_crust.h5



More information about the CIG-COMMITS mailing list