[cig-commits] r15953 - short/3D/PyLith/branches/pylith-friction/playpen/friction

surendra at geodynamics.org surendra at geodynamics.org
Wed Nov 11 00:02:13 PST 2009


Author: surendra
Date: 2009-11-11 00:02:12 -0800 (Wed, 11 Nov 2009)
New Revision: 15953

Added:
   short/3D/PyLith/branches/pylith-friction/playpen/friction/twoquad4-shear-dirichletBC.cfg
   short/3D/PyLith/branches/pylith-friction/playpen/friction/twoquad4-shear-neumannBC.cfg
Modified:
   short/3D/PyLith/branches/pylith-friction/playpen/friction/twoquad4-opening.cfg
   short/3D/PyLith/branches/pylith-friction/playpen/friction/twoquad4-shear.mesh
Log:
Added examples for friction shear case with neumann and dirichlet BCs

Modified: short/3D/PyLith/branches/pylith-friction/playpen/friction/twoquad4-opening.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-friction/playpen/friction/twoquad4-opening.cfg	2009-11-11 03:29:33 UTC (rev 15952)
+++ short/3D/PyLith/branches/pylith-friction/playpen/friction/twoquad4-opening.cfg	2009-11-11 08:02:12 UTC (rev 15953)
@@ -116,7 +116,7 @@
 # Boundary conditions to be applied to the positive x-side of the mesh.
 [pylithapp.timedependent.bc.x_pos]
 
-# We are fixing the 0 (x) and 1 (y) degree of freedom.
+# We are fixing the 1 (y) and prescribing 0 (x) degree of freedom.
 bc_dof = [0,1]
 
 # The nodes associated with this boundary condition have the name
@@ -160,7 +160,7 @@
 db_initial_tractions = spatialdata.spatialdb.UniformDB
 db_initial_tractions.label = "Initial fault tractions"
 db_initial_tractions.values = [traction-shear,traction-normal]
-db_initial_tractions.data = [0.0*Pa, 0.0*MPa]
+db_initial_tractions.data = [0.0*Pa, -10000.0*MPa]
 
 # ----------------------------------------------------------------------
 # PETSc

Added: short/3D/PyLith/branches/pylith-friction/playpen/friction/twoquad4-shear-dirichletBC.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-friction/playpen/friction/twoquad4-shear-dirichletBC.cfg	                        (rev 0)
+++ short/3D/PyLith/branches/pylith-friction/playpen/friction/twoquad4-shear-dirichletBC.cfg	2009-11-11 08:02:12 UTC (rev 15953)
@@ -0,0 +1,207 @@
+# -*- Python -*-
+
+# The settings in this file (pylithapp.cfg) will be read automatically
+# by pylith, as long as the file is placed in the run directory.
+
+# The settings in this file will override any settings in:
+# PREFIX/etc/pylithapp.cfg
+# $HOME/.pyre/pylithapp/pylithapp.cfg
+
+# The settings in this file will be overridden by any .cfg file given
+# on the command line or by any command line settings.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# journal
+# ----------------------------------------------------------------------
+# The settings below turn on journal info for the specified components.
+# If you want less output to stdout, you can turn these off.
+[pylithapp.journal.info]
+timedependent = 1
+implicit = 1
+petsc = 1
+solvernonlinear = 1
+meshioascii = 1
+homogeneous = 1
+elasticityimplicit = 1
+fiatlagrange = 1
+quadrature1d = 1
+faultcohesivedyn = 1
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+# The settings below control the mesh generation (importing mesh info).
+# Turn on debugging output for mesh generation.
+[pylithapp.mesh_generator]
+debug = 0
+
+# This component specification means we are using PyLith ASCII format,
+# and we then specify the filename and number of space dimensions for
+# the mesh.
+[pylithapp.mesh_generator.reader]
+filename = twoquad4-shear.mesh
+coordsys.space_dim = 2
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# Specify the problem settings.
+# This is a time-dependent problem, so we select this as our problem type.
+# We select a total time of 0 sec, and a time step size of 1 sec, so we
+# are performing a single time step.
+# The spatial dimension for this problem is 2.
+# For an implicit formulation (using implicit.cfg), we will perform 1
+# implicit time step from t = -1.0 to t = 0.0 (elastic solution step).
+[pylithapp.timedependent]
+dimension = 2
+normalizer.length_scale = 1.0*m
+formulation = pylith.problems.Implicit
+formulation.solver = pylith.problems.SolverNonlinear
+
+# Set bc to an array with 3 boundary conditions: 'x_neg', 'x_pos'
+bc = [x_neg,x_pos]
+bc.x_pos = pylith.bc.DirichletBoundary
+
+# Set interfaces to an array with 1 fault: 'fault'.
+interfaces = [fault]
+
+
+[pylithapp.timedependent.formulation.time_step]
+total_time = 0.0*s
+dt = 1.0*s
+
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+# Specify the material information for the problem.
+# The material type is isotropic elastic formulated for plane strain.
+[pylithapp.timedependent.materials]
+material = pylith.materials.ElasticPlaneStrain
+
+[pylithapp.timedependent.materials.material]
+
+# We give a label of 'elastic material' to this material.
+label = elastic material
+
+# The cells associated with this material are given a material ID of 0
+# in the mesh file.
+id = 0
+
+# The properties for this material are given in the spatial database file
+# 'matprops.spatialdb'.
+db_properties.iohandler.filename = matprops.spatialdb
+
+# Set cell type to quadrilateral (2-d Lagrange).
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 2
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+# Provide information on the boundary conditions.
+
+# Boundary conditions to be applied to the negative x-side of the mesh.
+[pylithapp.timedependent.bc.x_neg]
+
+# We are fixing the 0 (x) and 1 (y) degrees of freedom.
+bc_dof = [0,1]
+
+# The nodes associated with this boundary condition have the name
+# 'x_neg' in the mesh file.
+label = x_neg
+
+# Boundary conditions to be applied to the positive x-side of the mesh.
+[pylithapp.timedependent.bc.x_pos]
+
+# We are fixing the 0 (x) and prescribing 1 (y) degree of freedom.
+bc_dof = [0,1]
+
+# The nodes associated with this boundary condition have the name
+# 'x_pos' in the mesh file.
+label = x_pos
+
+db_initial = spatialdata.spatialdb.UniformDB
+db_initial.label = Dirichlet BC +x edge
+db_initial.values = [displacement-x,displacement-y]
+db_initial.data = [0.0*m,3.0*m]
+
+# ----------------------------------------------------------------------
+# faults
+# ----------------------------------------------------------------------
+# Provide information on the fault (interface).
+[pylithapp.timedependent.interfaces]
+
+fault = pylith.faults.FaultCohesiveDynL
+
+# Define fault properties.
+[pylithapp.timedependent.interfaces.fault]
+
+# The nodes associated with this fault have the name 'fault' in the mesh file.
+label = fault
+
+# 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.
+
+# The quadrature for a 2D fault is 1D with a linear shape.
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 1
+
+db_initial_tractions = spatialdata.spatialdb.UniformDB
+db_initial_tractions.label = "Initial fault tractions"
+db_initial_tractions.values = [traction-shear,traction-normal]
+db_initial_tractions.data = [0.0*Pa, -10000.0*MPa]
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+# We are using all of the default settings for PETSc except for
+# specifying the block Jacobi preconditioner.  Additional PETSc
+# command-line arguments may be found in the PETSc documentation.
+[pylithapp.petsc]
+ksp_rtol = 1.0e-8
+pc_type = asm
+# Change the preconditioner settings (must turn off
+# shift_positive_definite and turn on shift_nonzero).
+sub_pc_factor_shift_positive_definite = 0
+sub_pc_factor_shift_nonzero = 
+
+ksp_monitor = true
+ksp_view = true
+#log_summary = true
+ksp_max_it = 100
+ksp_gmres_restart = 50
+#start_in_debugger = true
+
+snes_monitor = true
+snes_view = true
+ksp_converged_reason = true
+snes_converged_reason = true
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK domain output of solution over domain.
+[pylithapp.problem.formulation.output.output.writer]
+filename = twoquad4-shear-dirichletBC.vtk
+
+# Give basename for VTK fault output.
+[pylithapp.timedependent.interfaces.fault.output]
+writer.filename = twoquad4-shear-dirichletBC-fault.vtk
+vertex_info_fields = []
+vertex_data_fields = []
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.material.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+writer.filename = twoquad4-shear-dirichletBC-statevars.vtk

Added: short/3D/PyLith/branches/pylith-friction/playpen/friction/twoquad4-shear-neumannBC.cfg
===================================================================
--- short/3D/PyLith/branches/pylith-friction/playpen/friction/twoquad4-shear-neumannBC.cfg	                        (rev 0)
+++ short/3D/PyLith/branches/pylith-friction/playpen/friction/twoquad4-shear-neumannBC.cfg	2009-11-11 08:02:12 UTC (rev 15953)
@@ -0,0 +1,218 @@
+# -*- Python -*-
+
+# The settings in this file (pylithapp.cfg) will be read automatically
+# by pylith, as long as the file is placed in the run directory.
+
+# The settings in this file will override any settings in:
+# PREFIX/etc/pylithapp.cfg
+# $HOME/.pyre/pylithapp/pylithapp.cfg
+
+# The settings in this file will be overridden by any .cfg file given
+# on the command line or by any command line settings.
+
+[pylithapp]
+
+# ----------------------------------------------------------------------
+# journal
+# ----------------------------------------------------------------------
+# The settings below turn on journal info for the specified components.
+# If you want less output to stdout, you can turn these off.
+[pylithapp.journal.info]
+timedependent = 1
+implicit = 1
+petsc = 1
+solvernonlinear = 1
+meshioascii = 1
+homogeneous = 1
+elasticityimplicit = 1
+fiatlagrange = 1
+quadrature1d = 1
+faultcohesivedyn = 1
+
+# ----------------------------------------------------------------------
+# mesh_generator
+# ----------------------------------------------------------------------
+# The settings below control the mesh generation (importing mesh info).
+# Turn on debugging output for mesh generation.
+[pylithapp.mesh_generator]
+debug = 0
+
+# This component specification means we are using PyLith ASCII format,
+# and we then specify the filename and number of space dimensions for
+# the mesh.
+[pylithapp.mesh_generator.reader]
+filename = twoquad4-shear.mesh
+coordsys.space_dim = 2
+
+# ----------------------------------------------------------------------
+# problem
+# ----------------------------------------------------------------------
+# Specify the problem settings.
+# This is a time-dependent problem, so we select this as our problem type.
+# We select a total time of 0 sec, and a time step size of 1 sec, so we
+# are performing a single time step.
+# The spatial dimension for this problem is 2.
+# For an implicit formulation (using implicit.cfg), we will perform 1
+# implicit time step from t = -1.0 to t = 0.0 (elastic solution step).
+[pylithapp.timedependent]
+dimension = 2
+normalizer.length_scale = 1.0*m
+formulation = pylith.problems.Implicit
+formulation.solver = pylith.problems.SolverNonlinear
+
+# Set bc to an array with 3 boundary conditions: 'x_neg', 'x_pos_disp', 'x_pos_tract'
+bc = [x_neg,x_pos_disp,x_pos_tract]
+bc.x_pos_tract = pylith.bc.Neumann
+
+# Set interfaces to an array with 1 fault: 'fault'.
+interfaces = [fault]
+
+
+[pylithapp.timedependent.formulation.time_step]
+total_time = 0.0*s
+dt = 1.0*s
+
+
+# ----------------------------------------------------------------------
+# materials
+# ----------------------------------------------------------------------
+# Specify the material information for the problem.
+# The material type is isotropic elastic formulated for plane strain.
+[pylithapp.timedependent.materials]
+material = pylith.materials.ElasticPlaneStrain
+
+[pylithapp.timedependent.materials.material]
+
+# We give a label of 'elastic material' to this material.
+label = elastic material
+
+# The cells associated with this material are given a material ID of 0
+# in the mesh file.
+id = 0
+
+# The properties for this material are given in the spatial database file
+# 'matprops.spatialdb'.
+db_properties.iohandler.filename = matprops.spatialdb
+
+# Set cell type to quadrilateral (2-d Lagrange).
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 2
+
+# ----------------------------------------------------------------------
+# boundary conditions
+# ----------------------------------------------------------------------
+# Provide information on the boundary conditions.
+
+# Boundary conditions to be applied to the negative x-side of the mesh.
+[pylithapp.timedependent.bc.x_neg]
+
+# We are fixing the 0 (x) and 1 (y) degrees of freedom.
+bc_dof = [0,1]
+
+# The nodes associated with this boundary condition have the name
+# 'x_neg' in the mesh file.
+label = x_neg
+
+# Boundary conditions to be applied to the positive x-side of the mesh.
+[pylithapp.timedependent.bc.x_pos_disp]
+
+# We are fixing the 0 (x) degree of freedom.
+bc_dof = [0]
+
+# The nodes associated with this boundary condition have the name
+# 'x_pos' in the mesh file.
+label = x_pos
+
+# Boundary conditions to be applied to the positive x-side of the mesh.
+[pylithapp.timedependent.bc.x_pos_tract]
+
+# The nodes associated with this boundary condition have the name
+# 'x_pos' in the mesh file.
+label = x_pos
+
+db_initial = spatialdata.spatialdb.UniformDB
+db_initial.label = Neumann BC +x edge
+db_initial.values = [traction-shear,traction-normal]
+db_initial.data = [12000*MPa,0.0*MPa,]
+
+# Set cell type to quadrilateral (1-d Lagrange).
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 1
+
+# ----------------------------------------------------------------------
+# faults
+# ----------------------------------------------------------------------
+# Provide information on the fault (interface).
+[pylithapp.timedependent.interfaces]
+
+fault = pylith.faults.FaultCohesiveDynL
+
+# Define fault properties.
+[pylithapp.timedependent.interfaces.fault]
+
+# The nodes associated with this fault have the name 'fault' in the mesh file.
+label = fault
+
+# 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.
+
+# The quadrature for a 2D fault is 1D with a linear shape.
+quadrature.cell = pylith.feassemble.FIATLagrange
+quadrature.cell.dimension = 1
+
+db_initial_tractions = spatialdata.spatialdb.UniformDB
+db_initial_tractions.label = "Initial fault tractions"
+db_initial_tractions.values = [traction-shear,traction-normal]
+db_initial_tractions.data = [0.0*Pa, -10000.0*MPa]
+
+# ----------------------------------------------------------------------
+# PETSc
+# ----------------------------------------------------------------------
+# We are using all of the default settings for PETSc except for
+# specifying the block Jacobi preconditioner.  Additional PETSc
+# command-line arguments may be found in the PETSc documentation.
+[pylithapp.petsc]
+ksp_rtol = 1.0e-8
+pc_type = asm
+# Change the preconditioner settings (must turn off
+# shift_positive_definite and turn on shift_nonzero).
+sub_pc_factor_shift_positive_definite = 0
+sub_pc_factor_shift_nonzero = 
+
+ksp_monitor = true
+ksp_view = true
+#log_summary = true
+ksp_max_it = 100
+ksp_gmres_restart = 50
+#start_in_debugger = true
+
+snes_monitor = true
+snes_view = true
+ksp_converged_reason = true
+snes_converged_reason = true
+
+# ----------------------------------------------------------------------
+# output
+# ----------------------------------------------------------------------
+# Give basename for VTK domain output of solution over domain.
+[pylithapp.problem.formulation.output.output.writer]
+filename = twoquad4-shear-neumannBC.vtk
+
+# Give basename for VTK fault output.
+[pylithapp.timedependent.interfaces.fault.output]
+writer.filename = twoquad4-shear-neumannBC-fault.vtk
+vertex_info_fields = []
+vertex_data_fields = []
+
+# Give basename for VTK output of state variables.
+[pylithapp.timedependent.materials.material.output]
+cell_filter = pylith.meshio.CellFilterAvgMesh
+writer.filename = twoquad4-shear-neumannBC-statevars.vtk

Modified: short/3D/PyLith/branches/pylith-friction/playpen/friction/twoquad4-shear.mesh
===================================================================
--- short/3D/PyLith/branches/pylith-friction/playpen/friction/twoquad4-shear.mesh	2009-11-11 03:29:33 UTC (rev 15952)
+++ short/3D/PyLith/branches/pylith-friction/playpen/friction/twoquad4-shear.mesh	2009-11-11 08:02:12 UTC (rev 15953)
@@ -2,9 +2,9 @@
 //
 //
 //  1 ----- 3 ----- 5
-//  |             |             |
-//  |		    |		  |
-//  |             |             |
+//  |       |       |
+//  |       |       |
+//  |       |       |
 //  0 ----- 2 ----- 4
 //
 // Each edge has a length of 2.0.
@@ -90,7 +90,7 @@
     type = vertices
     count = 1
     indices = {
-      0
+      2
     }
   }
 



More information about the CIG-COMMITS mailing list