[cig-commits] r21077 - in short/3D/PyLith/branches/v1.8-stable: libsrc/pylith/faults tests/2d tests/2d/nonplanar

brad at geodynamics.org brad at geodynamics.org
Tue Nov 27 12:00:08 PST 2012


Author: brad
Date: 2012-11-27 12:00:07 -0800 (Tue, 27 Nov 2012)
New Revision: 21077

Added:
   short/3D/PyLith/branches/v1.8-stable/tests/2d/nonplanar/
   short/3D/PyLith/branches/v1.8-stable/tests/2d/nonplanar/bc.jou
   short/3D/PyLith/branches/v1.8-stable/tests/2d/nonplanar/geometry.jou
   short/3D/PyLith/branches/v1.8-stable/tests/2d/nonplanar/mesh.jou
Modified:
   short/3D/PyLith/branches/v1.8-stable/libsrc/pylith/faults/FaultCohesiveLagrange.cc
Log:
Fixed bug in calculating fault tractions in parallel for explicit time stepping with prescribed slip (FaultCohesiveLagrage::adjustSolnLumped).

Modified: short/3D/PyLith/branches/v1.8-stable/libsrc/pylith/faults/FaultCohesiveLagrange.cc
===================================================================
--- short/3D/PyLith/branches/v1.8-stable/libsrc/pylith/faults/FaultCohesiveLagrange.cc	2012-11-27 17:21:05 UTC (rev 21076)
+++ short/3D/PyLith/branches/v1.8-stable/libsrc/pylith/faults/FaultCohesiveLagrange.cc	2012-11-27 20:00:07 UTC (rev 21077)
@@ -829,6 +829,13 @@
     const int v_negative = _cohesiveVertices[iVertex].negative;
     const int v_positive = _cohesiveVertices[iVertex].positive;
 
+    // Set Lagrange multiplier value. Value from preliminary solve is
+    // bogus due to artificial diagonal entry.
+    dispTIncrVertexL = 0.0;
+    assert(dispTIncrVertexL.size() == 
+	   dispTIncrSection->getFiberDimension(v_lagrange));
+    dispTIncrSection->updatePoint(v_lagrange, &dispTIncrVertexL[0]);
+
     // Compute contribution only if Lagrange constraint is local.
     if (!globalOrder->isLocal(v_lagrange))
       continue;
@@ -910,8 +917,8 @@
     // Set Lagrange multiplier value. Value from preliminary solve is
     // bogus due to artificial diagonal entry.
     assert(dispTIncrVertexL.size() == 
-	   dispTIncrSection->getFiberDimension(v_lagrange));
-    dispTIncrSection->updatePoint(v_lagrange, &dispTIncrVertexL[0]);
+	   dispTIncrAdjSection->getFiberDimension(v_lagrange));
+    dispTIncrAdjSection->updatePoint(v_lagrange, &dispTIncrVertexL[0]);
 
 #if defined(DETAILED_EVENT_LOGGING)
     _logger->eventEnd(updateEvent);

Added: short/3D/PyLith/branches/v1.8-stable/tests/2d/nonplanar/bc.jou
===================================================================
--- short/3D/PyLith/branches/v1.8-stable/tests/2d/nonplanar/bc.jou	                        (rev 0)
+++ short/3D/PyLith/branches/v1.8-stable/tests/2d/nonplanar/bc.jou	2012-11-27 20:00:07 UTC (rev 21077)
@@ -0,0 +1,66 @@
+# -*- Python -*- (syntax highlighting)
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010-2011 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ----------------------------------------------------------------------
+#
+# CUBIT journal file for creating blocks and nodesets associated with
+# materials and boundary conditions.
+#
+# NOTE: We remove the overlap between groups associated with 
+# Dirichlet BC and groups associated with faults because PyLith
+# does not allow Dirichlet BC to be applied to nodes adjacent to the fault.
+#
+# ----------------------------------------------------------------------
+# Create blocks for materials
+# ----------------------------------------------------------------------
+block 1 surface surf_inner
+block 1 name "inner"
+
+block 2 surface surf_outer
+block 2 name "outer"
+
+# ----------------------------------------------------------------------
+# Create nodeset for boundaries
+# ----------------------------------------------------------------------
+group "bndry_south" add node in curve 6
+group "bndry_south" add node in curve 7
+nodeset 11 group bndry_south
+nodeset 11 name "bndry_south"
+
+group "bndry_north" add node in curve 9
+group "bndry_north" add node in curve 8
+nodeset 12 group bndry_north
+nodeset 12 name "bndry_north"
+
+group "bndry_west" add node in curve 4
+nodeset 13 group bndry_west
+nodeset 13 name "bndry_west"
+
+group "bndry_east" add node in curve 2
+nodeset 14 group bndry_east
+nodeset 14 name "bndry_east"
+
+# ----------------------------------------------------------------------
+# Create nodeset for fault interfaces
+# ----------------------------------------------------------------------
+group "fault" add node in curve 5
+group "fault" remove node in bndry_north
+group "fault" remove node in bndry_south
+nodeset 20 group fault
+nodeset 20 name "fault"
+
+# End of file
+
+
+

Added: short/3D/PyLith/branches/v1.8-stable/tests/2d/nonplanar/geometry.jou
===================================================================
--- short/3D/PyLith/branches/v1.8-stable/tests/2d/nonplanar/geometry.jou	                        (rev 0)
+++ short/3D/PyLith/branches/v1.8-stable/tests/2d/nonplanar/geometry.jou	2012-11-27 20:00:07 UTC (rev 21077)
@@ -0,0 +1,76 @@
+# -*- Python -*- (syntax highlighting)
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010-2011 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ----------------------------------------------------------------------
+#
+# CUBIT journal file with geometry for 2-D nonplanar fault.
+#
+# ----------------------------------------------------------------------
+# Set units to SI.
+# ----------------------------------------------------------------------
+# {Units('si')}
+#
+# ----------------------------------------------------------------------
+# Reset geometry.
+# ----------------------------------------------------------------------
+reset
+
+# Make sure undo is off to prevent errors in stitching volumes.
+undo off
+
+# ----------------------------------------------------------------------
+# Create points and curves.
+# ----------------------------------------------------------------------
+# Domain
+create vertex x { -18.0*km} y {-18.0*km}
+create vertex x { +18.0*km} y {-18.0*km}
+create vertex x { +18.0*km} y {+18.0*km}
+create vertex x { -18.0*km} y {+18.0*km}
+
+create curve vertex 1 vertex 2
+create curve vertex 2 vertex 3
+create curve vertex 3 vertex 4
+create curve vertex 4 vertex 1
+
+# Arc for fault
+create vertex x { -6.0*km} y {-18.0*km}
+create vertex x {0*km} y {0*km}
+create vertex x { -6.0*km} y {+18.0*km}
+
+create curve arc three vertex 9 10 11
+
+# ----------------------------------------------------------------------
+# Split curves to form bounding curves for surfaces
+# ----------------------------------------------------------------------
+split curve 1 at vertex 9
+split curve 3 at vertex 11
+
+# ----------------------------------------------------------------------
+# Create surfaces using bounding curves
+# ----------------------------------------------------------------------
+create surface curve 4 5 6 9
+surface {Id("surface")} name "surf_inner"
+
+create surface curve 2 5 7 8
+surface {Id("surface")} name "surf_outer"
+
+# ----------------------------------------------------------------------
+# Imprint/merge
+# ----------------------------------------------------------------------
+delete vertex all
+imprint all
+merge all
+
+# End of file
+

Added: short/3D/PyLith/branches/v1.8-stable/tests/2d/nonplanar/mesh.jou
===================================================================
--- short/3D/PyLith/branches/v1.8-stable/tests/2d/nonplanar/mesh.jou	                        (rev 0)
+++ short/3D/PyLith/branches/v1.8-stable/tests/2d/nonplanar/mesh.jou	2012-11-27 20:00:07 UTC (rev 21077)
@@ -0,0 +1,57 @@
+# -*- Python -*- (syntax highlighting)
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard, U.S. Geological Survey
+# Charles A. Williams, GNS Science
+# Matthew G. Knepley, University of Chicago
+#
+# This code was developed as part of the Computational Infrastructure
+# for Geodynamics (http://geodynamics.org).
+#
+# Copyright (c) 2010-2011 University of California, Davis
+#
+# See COPYING for license information.
+#
+# ----------------------------------------------------------------------
+#
+# CUBIT journal file for generating a 2-D finite-element mesh with
+# triangular cells.
+#
+# ----------------------------------------------------------------------
+# Generate geometry
+# ----------------------------------------------------------------------
+playback 'geometry.jou'
+
+# ----------------------------------------------------------------------
+# Set discretization size and scheme
+# ----------------------------------------------------------------------
+surface all scheme trimesh
+curve all scheme default
+#{dx=600.0*m}
+surface all size {600*m}
+
+# ----------------------------------------------------------------------
+# Generate the mesh
+# ----------------------------------------------------------------------
+mesh surface all
+
+# ----------------------------------------------------------------------
+# Smooth mesh to improve quality (if nec)
+# ----------------------------------------------------------------------
+surface all smooth scheme condition number beta 1.2 cpu 10
+smooth surface all
+
+# ----------------------------------------------------------------------
+# Setup boundary conditions.
+# ----------------------------------------------------------------------
+playback 'bc.jou'
+
+# ----------------------------------------------------------------------
+# Export exodus file
+# ----------------------------------------------------------------------
+export mesh "mesh.exo" dimension 2 overwrite
+
+# End of file
+
+
+



More information about the CIG-COMMITS mailing list