[cig-commits] [commit] baagaard/add-release-2.0.3, baagaard/add-release-2.1.0, baagaard/dynrup-new-lagrange, baagaard/feature-output-station-names, baagaard/feature-progress-monitor, baagaard/fix-custom-faultpc, baagaard/fix-faults-intersect, baagaard/fix-friction-initial-state, baagaard/update-autoconf, knepley/feature-petsc-fe, knepley/upgrade-petsc-3.5, knepley/upgrade-petsc-master, maint, master, next, willic3/fix-plasticity: Finished embedded fault test with friction and field split w/custom fault PC. (e0cb277)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Wed Nov 5 15:44:57 PST 2014
Repository : https://github.com/geodynamics/pylith
On branches: baagaard/add-release-2.0.3,baagaard/add-release-2.1.0,baagaard/dynrup-new-lagrange,baagaard/feature-output-station-names,baagaard/feature-progress-monitor,baagaard/fix-custom-faultpc,baagaard/fix-faults-intersect,baagaard/fix-friction-initial-state,baagaard/update-autoconf,knepley/feature-petsc-fe,knepley/upgrade-petsc-3.5,knepley/upgrade-petsc-master,maint,master,next,willic3/fix-plasticity
Link : https://github.com/geodynamics/pylith/compare/f33c75b19fd60eedb2a3405db76a1fee333bb1d7...5b6d812b1612809fea3bd331c4e5af98c25a536a
>---------------------------------------------------------------
commit e0cb27717f3b0ff0b293386c7ecdb6827e0b124b
Author: Brad Aagaard <baagaard at usgs.gov>
Date: Wed Jul 16 17:42:22 2014 -0700
Finished embedded fault test with friction and field split w/custom fault PC.
>---------------------------------------------------------------
e0cb27717f3b0ff0b293386c7ecdb6827e0b124b
tests_auto/3d/hex8/Makefile.am | 6 +-
...FrictionNoSlip.py => TestFrictionNoSlipHalo.py} | 45 +++----------
tests_auto/3d/hex8/frictionnoslip.cfg | 21 +++---
...{frictionnoslip.cfg => frictionnoslip_halo.cfg} | 75 +++++++++++-----------
tests_auto/3d/hex8/testpylith.py | 6 ++
5 files changed, 68 insertions(+), 85 deletions(-)
diff --git a/tests_auto/3d/hex8/Makefile.am b/tests_auto/3d/hex8/Makefile.am
index 1808c73..128b0ae 100644
--- a/tests_auto/3d/hex8/Makefile.am
+++ b/tests_auto/3d/hex8/Makefile.am
@@ -34,6 +34,8 @@ dist_noinst_PYTHON = \
sliponefault_soln.py \
TestSlipTwoFaults.py \
sliptwofaults_soln.py \
+ TestFrictionNoSlip.py \
+ TestFrictionNoSlipHalo.py \
testpylith.py
@@ -47,7 +49,9 @@ dist_noinst_DATA = \
sheardispnoslip.cfg \
sheardispnosliprefine.cfg \
sliponefault.cfg \
- sliptwofaults.cfg
+ sliptwofaults.cfg \
+ frictionnoslip.cfg \
+ frictionnoslip_halo.cfg
noinst_TMP = \
shear_dispx.spatialdb \
diff --git a/tests_auto/3d/hex8/TestFrictionNoSlip.py b/tests_auto/3d/hex8/TestFrictionNoSlipHalo.py
similarity index 72%
copy from tests_auto/3d/hex8/TestFrictionNoSlip.py
copy to tests_auto/3d/hex8/TestFrictionNoSlipHalo.py
index d93b9e9..3390991 100644
--- a/tests_auto/3d/hex8/TestFrictionNoSlip.py
+++ b/tests_auto/3d/hex8/TestFrictionNoSlipHalo.py
@@ -16,7 +16,7 @@
# ----------------------------------------------------------------------
#
-## @file tests/3d/hex8/TestFrictionNoSlip.py
+## @file tests/3d/hex8/TestFrictionNoSlipHalo.py
##
## @brief Test suite for testing pylith with 3-D shear motion with no
## fault slip.
@@ -29,7 +29,7 @@ from sheardisp_soln import AnalyticalSoln
from pylith.apps.PyLithApp import PyLithApp
class ShearApp(PyLithApp):
def __init__(self):
- PyLithApp.__init__(self, name="frictionnoslip")
+ PyLithApp.__init__(self, name="frictionnoslip_halo")
return
@@ -51,7 +51,7 @@ def run_pylith():
return
-class TestFrictionNoSlip(TestHex8):
+class TestFrictionNoSlipHalo(TestHex8):
"""
Test suite for testing pylith with 2-D shear extension.
"""
@@ -62,14 +62,14 @@ class TestFrictionNoSlip(TestHex8):
"""
TestHex8.setUp(self)
self.nverticesO = self.mesh['nvertices']
- self.mesh['nvertices'] += 10
- self.faultMesh = {'nvertices': 21,
+ self.mesh['nvertices'] += 21
+ self.faultMesh = {'nvertices': 34,
'spaceDim': 3,
- 'ncells': 12,
+ 'ncells': 23,
'ncorners': 4}
run_pylith()
- self.outputRoot = "frictionnoslip"
+ self.outputRoot = "frictionnoslip_halo"
self.soln = AnalyticalSoln()
return
@@ -83,7 +83,7 @@ class TestFrictionNoSlip(TestHex8):
return
filename = "%s-fault_info.h5" % self.outputRoot
- fields = ["normal_dir","strike_dir","static_coefficient", "traction_initial"]
+ fields = ["static_coefficient"]
from pylith.tests.Fault import check_vertex_fields
check_vertex_fields(self, filename, self.faultMesh, fields)
@@ -144,47 +144,22 @@ class TestFrictionNoSlip(TestHex8):
nvertices = self.faultMesh['nvertices']
- if name == "normal_dir":
- field = numpy.zeros( (1, nvertices, 3), dtype=numpy.float64)
- field[0,:,0] = normalDir[0]
- field[0,:,1] = normalDir[1]
- field[0,:,2] = normalDir[2]
-
- elif name == "strike_dir":
- field = numpy.zeros( (1, nvertices, 3), dtype=numpy.float64)
- field[0,:,0] = strikeDir[0]
- field[0,:,1] = strikeDir[1]
- field[0,:,2] = strikeDir[2]
-
- elif name == "static_coefficient":
+ if name == "static_coefficient":
field = staticCoef*numpy.ones( (1, nvertices, 1), dtype=numpy.float64)
- elif name == "traction_initial":
- field = numpy.zeros( (1, nvertices, 3), dtype=numpy.float64)
- field[0,:,0] = initialTraction[0]
- field[0,:,1] = initialTraction[1]
- field[0,:,2] = initialTraction[2]
-
elif name == "slip":
field = numpy.zeros( (1, nvertices, 3), dtype=numpy.float64)
else:
raise ValueError("Unknown fault field '%s'." % name)
- # Mask clamped vertices
- maskX = numpy.fabs(vertices[:,0]) <= 1.0
- maskY = numpy.fabs(vertices[:,1]) <= 25.001e+3
- maskZ = vertices[:,2] >= -20.001e+3
- mask = numpy.bitwise_and(numpy.bitwise_and(maskX,maskY),maskZ)
- field[:,~mask,:] = 0.0
-
return field
# ----------------------------------------------------------------------
if __name__ == '__main__':
import unittest
- from TestFrictionNoSlip import TestFrictionNoSlip as Tester
+ from TestFrictionNoSlipHalo import TestFrictionNoSlipHalo as Tester
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Tester))
diff --git a/tests_auto/3d/hex8/frictionnoslip.cfg b/tests_auto/3d/hex8/frictionnoslip.cfg
index ac99949..6efddf0 100644
--- a/tests_auto/3d/hex8/frictionnoslip.cfg
+++ b/tests_auto/3d/hex8/frictionnoslip.cfg
@@ -1,5 +1,5 @@
[frictionnoslip]
-nodes = 1
+nodes = 3
[frictionnoslip.launcher] # WARNING: THIS IS NOT PORTABLE
command = mpirun -np ${nodes}
@@ -8,13 +8,13 @@ command = mpirun -np ${nodes}
# journal
# ----------------------------------------------------------------------
[frictionnoslip.journal.info]
-frictionnoslip = 1
-timedependent = 1
-implicit = 1
-petsc = 1
-solvernonlinear = 1
-meshimporter = 1
-meshiocubit = 1
+#frictionnoslip = 1
+#timedependent = 1
+#implicit = 1
+#petsc = 1
+#solvernonlinear = 1
+#meshimporter = 1
+#meshiocubit = 1
#implicitelasticity = 1
#quadrature3d = 1
#faultcohesivedyn = 1
@@ -118,8 +118,7 @@ interfaces.fault = pylith.faults.FaultCohesiveDyn
[frictionnoslip.timedependent.interfaces.fault]
id = 100
label = fault_x_trim
-up_dir = [1,0,1]
-#edge = fault_x_trim_edge
+edge = fault_x_trim_edge
quadrature.cell = pylith.feassemble.FIATLagrange
quadrature.cell.dimension = 2
@@ -193,7 +192,7 @@ friction_ksp_gmres_restart = 30
#log_summary = true
-start_in_debugger = true
+#start_in_debugger = true
# ----------------------------------------------------------------------
# output
diff --git a/tests_auto/3d/hex8/frictionnoslip.cfg b/tests_auto/3d/hex8/frictionnoslip_halo.cfg
similarity index 78%
copy from tests_auto/3d/hex8/frictionnoslip.cfg
copy to tests_auto/3d/hex8/frictionnoslip_halo.cfg
index ac99949..4e23bf6 100644
--- a/tests_auto/3d/hex8/frictionnoslip.cfg
+++ b/tests_auto/3d/hex8/frictionnoslip_halo.cfg
@@ -1,20 +1,20 @@
-[frictionnoslip]
+[frictionnoslip_halo]
nodes = 1
-[frictionnoslip.launcher] # WARNING: THIS IS NOT PORTABLE
+[frictionnoslip_halo.launcher] # WARNING: THIS IS NOT PORTABLE
command = mpirun -np ${nodes}
# ----------------------------------------------------------------------
# journal
# ----------------------------------------------------------------------
-[frictionnoslip.journal.info]
-frictionnoslip = 1
-timedependent = 1
-implicit = 1
-petsc = 1
-solvernonlinear = 1
-meshimporter = 1
-meshiocubit = 1
+[frictionnoslip_halo.journal.info]
+#frictionnoslip_halo = 1
+#timedependent = 1
+#implicit = 1
+#petsc = 1
+#solvernonlinear = 1
+#meshimporter = 1
+#meshiocubit = 1
#implicitelasticity = 1
#quadrature3d = 1
#faultcohesivedyn = 1
@@ -23,22 +23,22 @@ meshiocubit = 1
# ----------------------------------------------------------------------
# mesh_generator
# ----------------------------------------------------------------------
-[frictionnoslip.mesh_generator]
+[frictionnoslip_halo.mesh_generator]
reader = pylith.meshio.MeshIOCubit
reorder_mesh = True
-[frictionnoslip.mesh_generator.reader]
+[frictionnoslip_halo.mesh_generator.reader]
filename = mesh.exo
coordsys.space_dim = 3
# ----------------------------------------------------------------------
# problem
# ----------------------------------------------------------------------
-[frictionnoslip.timedependent]
+[frictionnoslip_halo.timedependent]
dimension = 3
normalizer.length_scale = 5.0*km
-[frictionnoslip.timedependent.formulation]
+[frictionnoslip_halo.timedependent.formulation]
solver = pylith.problems.SolverNonlinear
time_step.total_time = 0.0*s
time_step.dt = 1.0*year
@@ -46,12 +46,12 @@ time_step.dt = 1.0*year
# ----------------------------------------------------------------------
# materials
# ----------------------------------------------------------------------
-[frictionnoslip.timedependent]
+[frictionnoslip_halo.timedependent]
materials = [elastic,viscoelastic]
materials.elastic = pylith.materials.ElasticIsotropic3D
materials.viscoelastic = pylith.materials.ElasticIsotropic3D
-[frictionnoslip.timedependent.materials.elastic]
+[frictionnoslip_halo.timedependent.materials.elastic]
label = Elastic material
id = 1
db_properties.label = Elastic properties
@@ -59,7 +59,7 @@ db_properties.iohandler.filename = matprops.spatialdb
quadrature.cell = pylith.feassemble.FIATLagrange
quadrature.cell.dimension = 3
-[frictionnoslip.timedependent.materials.viscoelastic]
+[frictionnoslip_halo.timedependent.materials.viscoelastic]
label = Elastic material
id = 2
db_properties.label = Elastic properties
@@ -70,38 +70,38 @@ quadrature.cell.dimension = 3
# ----------------------------------------------------------------------
# boundary conditions
# ----------------------------------------------------------------------
-[frictionnoslip.timedependent]
+[frictionnoslip_halo.timedependent]
bc = [x_neg,x_pos,y_neg,y_pos,z_neg]
-[frictionnoslip.timedependent.bc.x_pos]
+[frictionnoslip_halo.timedependent.bc.x_pos]
bc_dof = [1]
label = face_xpos
db_initial = spatialdata.spatialdb.SimpleDB
db_initial.label = Dirichlet BC +x edge
db_initial.iohandler.filename = shear_dispy.spatialdb
-[frictionnoslip.timedependent.bc.x_neg]
+[frictionnoslip_halo.timedependent.bc.x_neg]
bc_dof = [1]
label = face_xneg
db_initial = spatialdata.spatialdb.SimpleDB
db_initial.label = Dirichlet BC -x edge
db_initial.iohandler.filename = shear_dispy.spatialdb
-[frictionnoslip.timedependent.bc.y_pos]
+[frictionnoslip_halo.timedependent.bc.y_pos]
bc_dof = [0]
label = face_ypos
db_initial = spatialdata.spatialdb.SimpleDB
db_initial.label = Dirichlet BC +y edge
db_initial.iohandler.filename = shear_dispx.spatialdb
-[frictionnoslip.timedependent.bc.y_neg]
+[frictionnoslip_halo.timedependent.bc.y_neg]
bc_dof = [0]
label = face_yneg
db_initial = spatialdata.spatialdb.SimpleDB
db_initial.label = Dirichlet BC -y edge
db_initial.iohandler.filename = shear_dispx.spatialdb
-[frictionnoslip.timedependent.bc.z_neg]
+[frictionnoslip_halo.timedependent.bc.z_neg]
bc_dof = [2]
label = face_zneg
db_initial = spatialdata.spatialdb.SimpleDB
@@ -111,15 +111,14 @@ db_initial.iohandler.filename = shear_dispz.spatialdb
# ----------------------------------------------------------------------
# faults
# ----------------------------------------------------------------------
-[frictionnoslip.timedependent]
+[frictionnoslip_halo.timedependent]
interfaces = [fault]
interfaces.fault = pylith.faults.FaultCohesiveDyn
-[frictionnoslip.timedependent.interfaces.fault]
+[frictionnoslip_halo.timedependent.interfaces.fault]
id = 100
label = fault_x_trim
up_dir = [1,0,1]
-#edge = fault_x_trim_edge
quadrature.cell = pylith.feassemble.FIATLagrange
quadrature.cell.dimension = 2
@@ -139,7 +138,7 @@ friction.db_initial_state.data = [0*m, 0*m]
traction_perturbation = pylith.faults.TractPerturbation
-[frictionnoslip.timedependent.interfaces.fault.traction_perturbation]
+[frictionnoslip_halo.timedependent.interfaces.fault.traction_perturbation]
db_initial = spatialdata.spatialdb.UniformDB
db_initial.label = Initial fault tractions
db_initial.values = [traction-shear-leftlateral,traction-shear-updip,traction-normal]
@@ -149,12 +148,12 @@ db_initial.data = [0.0*Pa, 0.0*Pa, -100.0*MPa]
# ----------------------------------------------------------------------
# PETSc
# ----------------------------------------------------------------------
-[frictionnoslip.problem.formulation]
+[frictionnoslip_halo.problem.formulation]
split_fields = True
matrix_type = aij
use_custom_constraint_pc = True
-[frictionnoslip.petsc]
+[frictionnoslip_halo.petsc]
fs_pc_type = fieldsplit
fs_pc_use_amat =
fs_pc_fieldsplit_type = multiplicative
@@ -193,26 +192,26 @@ friction_ksp_gmres_restart = 30
#log_summary = true
-start_in_debugger = true
+#start_in_debugger = true
# ----------------------------------------------------------------------
# output
# ----------------------------------------------------------------------
-[frictionnoslip.problem.formulation.output.output]
+[frictionnoslip_halo.problem.formulation.output.output]
writer = pylith.meshio.DataWriterHDF5
-writer.filename = frictionnoslip.h5
+writer.filename = frictionnoslip_halo.h5
-[frictionnoslip.timedependent.interfaces.fault.output]
+[frictionnoslip_halo.timedependent.interfaces.fault.output]
writer = pylith.meshio.DataWriterHDF5
-writer.filename = frictionnoslip-fault.h5
+writer.filename = frictionnoslip_halo-fault.h5
vertex_info_fields = [strike_dir,normal_dir,traction_initial_value,static_coefficient,cohesion]
-[frictionnoslip.timedependent.materials.elastic.output]
+[frictionnoslip_halo.timedependent.materials.elastic.output]
cell_filter = pylith.meshio.CellFilterAvg
writer = pylith.meshio.DataWriterHDF5
-writer.filename = frictionnoslip-elastic.h5
+writer.filename = frictionnoslip_halo-elastic.h5
-[frictionnoslip.timedependent.materials.viscoelastic.output]
+[frictionnoslip_halo.timedependent.materials.viscoelastic.output]
cell_filter = pylith.meshio.CellFilterAvg
writer = pylith.meshio.DataWriterHDF5
-writer.filename = frictionnoslip-viscoelastic.h5
+writer.filename = frictionnoslip_halo-viscoelastic.h5
diff --git a/tests_auto/3d/hex8/testpylith.py b/tests_auto/3d/hex8/testpylith.py
index a488d7b..9b560dc 100644
--- a/tests_auto/3d/hex8/testpylith.py
+++ b/tests_auto/3d/hex8/testpylith.py
@@ -42,6 +42,12 @@ def suite():
from TestSlipTwoFaults import TestSlipTwoFaults
suite.addTest(unittest.makeSuite(TestSlipTwoFaults))
+ from TestFrictionNoSlip import TestFrictionNoSlip
+ suite.addTest(unittest.makeSuite(TestFrictionNoSlip))
+
+ from TestFrictionNoSlipHalo import TestFrictionNoSlipHalo
+ suite.addTest(unittest.makeSuite(TestFrictionNoSlipHalo))
+
return suite
More information about the CIG-COMMITS
mailing list