[cig-commits] [commit] knepley/fix-faults-parallel: Add fault edges to examples/2d/greensfns. (104ef11)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Tue May 27 08:29:13 PDT 2014
Repository : https://github.com/geodynamics/pylith
On branch : knepley/fix-faults-parallel
Link : https://github.com/geodynamics/pylith/compare/bc4ad8c1e4f7cbe0286a7c030323fe6906bf7cbf...a6dcee9c56c2ed915b63f90186133bd8ce8789a9
>---------------------------------------------------------------
commit 104ef11da2c9518aea64ef8050a9685136705b2a
Author: Brad Aagaard <baagaard at usgs.gov>
Date: Tue May 27 08:26:48 2014 -0700
Add fault edges to examples/2d/greensfns.
>---------------------------------------------------------------
104ef11da2c9518aea64ef8050a9685136705b2a
examples/2d/greensfns/reverse/createbc.jou | 24 +++++++++++++++--------
examples/2d/greensfns/reverse/mesh_tri3.exo | Bin 127096 -> 150488 bytes
examples/2d/greensfns/reverse/pylithapp.cfg | 3 +++
examples/2d/greensfns/strikeslip/createbc.jou | 24 +++++++++++++++--------
examples/2d/greensfns/strikeslip/mesh_tri3.exo | Bin 198276 -> 234976 bytes
examples/2d/greensfns/strikeslip/pylithapp.cfg | 26 +++++++++++++++++++++++--
6 files changed, 59 insertions(+), 18 deletions(-)
diff --git a/examples/2d/greensfns/reverse/createbc.jou b/examples/2d/greensfns/reverse/createbc.jou
index 72d71b6..d92b049 100644
--- a/examples/2d/greensfns/reverse/createbc.jou
+++ b/examples/2d/greensfns/reverse/createbc.jou
@@ -12,30 +12,38 @@ nodeset 10 group fault
nodeset 10 name "fault"
# ----------------------------------------------------------------------
+# Create nodeset for fault edge
+# ----------------------------------------------------------------------
+group "fault_edge" add node in vertex 15
+nodeset 11 group fault_edge
+nodeset 11 name "fault_edge"
+
+# ----------------------------------------------------------------------
# Create nodeset for +x face
# ----------------------------------------------------------------------
group "face_xpos" add node in curve 14
-nodeset 11 group face_xpos
-nodeset 11 name "face_xpos"
+nodeset 20 group face_xpos
+nodeset 20 name "face_xpos"
# ----------------------------------------------------------------------
# Create nodeset for -x face
# ----------------------------------------------------------------------
group "face_xneg" add node in curve 16
-nodeset 12 group face_xneg
-nodeset 12 name "face_xneg"
+nodeset 21 group face_xneg
+nodeset 21 name "face_xneg"
# ----------------------------------------------------------------------
# Create nodeset for +y face
# ----------------------------------------------------------------------
group "face_ypos" add node in curve 19 20
-nodeset 13 group face_ypos
-nodeset 13 name "face_ypos"
+nodeset 22 group face_ypos
+nodeset 22 name "face_ypos"
# ----------------------------------------------------------------------
# Create nodeset for -y face
# ----------------------------------------------------------------------
group "face_yneg" add node in curve 18 21
-nodeset 14 group face_yneg
-nodeset 14 name "face_yneg"
+nodeset 23 group face_yneg
+nodeset 23 name "face_yneg"
+
diff --git a/examples/2d/greensfns/reverse/mesh_tri3.exo b/examples/2d/greensfns/reverse/mesh_tri3.exo
index 1cad2b0..993ea0d 100644
Binary files a/examples/2d/greensfns/reverse/mesh_tri3.exo and b/examples/2d/greensfns/reverse/mesh_tri3.exo differ
diff --git a/examples/2d/greensfns/reverse/pylithapp.cfg b/examples/2d/greensfns/reverse/pylithapp.cfg
index d615c2d..ce58d0b 100644
--- a/examples/2d/greensfns/reverse/pylithapp.cfg
+++ b/examples/2d/greensfns/reverse/pylithapp.cfg
@@ -107,6 +107,9 @@ interfaces = [fault]
id = 100
# The label corresponds to the name of the nodeset in CUBIT.
label = fault
+# The edge corresponds to the name of the nodeset of the buried fault
+# edge in CUBIT.
+edge = fault_edge
# We must define the quadrature information for fault cells.
# The fault cells are 1D (line).
diff --git a/examples/2d/greensfns/strikeslip/createbc.jou b/examples/2d/greensfns/strikeslip/createbc.jou
index 88f5038..b35998a 100644
--- a/examples/2d/greensfns/strikeslip/createbc.jou
+++ b/examples/2d/greensfns/strikeslip/createbc.jou
@@ -26,31 +26,39 @@ nodeset 10 group fault
nodeset 10 name "fault"
# ----------------------------------------------------------------------
+# Create nodeset for fault edge
+# ----------------------------------------------------------------------
+group "fault_edge" add node in vertex 15 16
+nodeset 11 group fault_edge
+nodeset 11 name "fault_edge"
+
+# ----------------------------------------------------------------------
# Create nodeset for +x face
# ----------------------------------------------------------------------
group "face_xpos" add node in curve 14
-nodeset 11 group face_xpos
-nodeset 11 name "face_xpos"
+nodeset 21 group face_xpos
+nodeset 21 name "face_xpos"
# ----------------------------------------------------------------------
# Create nodeset for -x face
# ----------------------------------------------------------------------
group "face_xneg" add node in curve 16
-nodeset 12 group face_xneg
-nodeset 12 name "face_xneg"
+nodeset 22 group face_xneg
+nodeset 22 name "face_xneg"
# ----------------------------------------------------------------------
# Create nodeset for +y face
# ----------------------------------------------------------------------
group "face_ypos" add node in curve 18
group "face_ypos" add node in curve 21
-nodeset 13 group face_ypos
-nodeset 13 name "face_ypos"
+nodeset 23 group face_ypos
+nodeset 23 name "face_ypos"
# ----------------------------------------------------------------------
# Create nodeset for -y face
# ----------------------------------------------------------------------
group "face_yneg" add node in curve 19
group "face_yneg" add node in curve 20
-nodeset 14 group face_yneg
-nodeset 14 name "face_yneg"
+nodeset 24 group face_yneg
+nodeset 24 name "face_yneg"
+
diff --git a/examples/2d/greensfns/strikeslip/mesh_tri3.exo b/examples/2d/greensfns/strikeslip/mesh_tri3.exo
index d1d22db..7819f22 100644
Binary files a/examples/2d/greensfns/strikeslip/mesh_tri3.exo and b/examples/2d/greensfns/strikeslip/mesh_tri3.exo differ
diff --git a/examples/2d/greensfns/strikeslip/pylithapp.cfg b/examples/2d/greensfns/strikeslip/pylithapp.cfg
index 377d293..e6892f3 100644
--- a/examples/2d/greensfns/strikeslip/pylithapp.cfg
+++ b/examples/2d/greensfns/strikeslip/pylithapp.cfg
@@ -113,6 +113,9 @@ interfaces = [fault]
id = 100
# The label corresponds to the name of the nodeset in CUBIT.
label = fault
+# The edge corresponds to the name of the nodeset of the fault edge
+# in CUBIT.
+edge = fault_edge
# We must define the quadrature information for fault cells.
# The fault cells are 1D (line).
@@ -151,8 +154,27 @@ writer = pylith.meshio.DataWriterHDF5
ksp_type = gmres
ksp_gmres_restart = 100
-pc_type = asm
-sub_pc_factor_shift_type = nonzero
+
+# Field split preconditioning. We use an algebraic multigrid
+# preconditioner from Trilinos/ML built via PETSc on the displacement
+# field. We also apply a custom preconditioner for the Lagrange
+# multiplier vertices. In this way, we split the fields.
+[pylithapp.timedependent.formulation]
+split_fields = True
+# Use custom preconditioning for the Lagrange multiplier vertices
+use_custom_constraint_pc = True
+matrix_type = aij
+
+[pylithapp.petsc]
+fs_pc_type = fieldsplit
+fs_pc_use_amat = true
+fs_pc_fieldsplit_type = multiplicative
+fs_fieldsplit_displacement_pc_type = ml
+fs_fieldsplit_lagrange_multiplier_pc_type = jacobi
+fs_fieldsplit_displacement_ksp_type = preonly
+fs_fieldsplit_lagrange_multiplier_ksp_type = preonly
+
+
ksp_rtol = 1.0e-8
ksp_atol = 1.0e-20
More information about the CIG-COMMITS
mailing list