[cig-commits] r6618 - short/3D/PyLith/trunk/libsrc/faults

knepley at geodynamics.org knepley at geodynamics.org
Fri Apr 20 10:04:36 PDT 2007


Author: knepley
Date: 2007-04-20 10:04:36 -0700 (Fri, 20 Apr 2007)
New Revision: 6618

Modified:
   short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc
Log:
Fault tests now pass


Modified: short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc	2007-04-20 15:37:42 UTC (rev 6617)
+++ short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc	2007-04-20 17:04:36 UTC (rev 6618)
@@ -129,6 +129,7 @@
   // Add new shadow vertices
   const ALE::Obj<Mesh::label_sequence>& fVertices = fault->depthStratum(0);
   const ALE::Obj<Mesh::label_sequence>& vertices = mesh->depthStratum(0);
+  const ALE::Obj<std::set<std::string> >& groupNames = mesh->getIntSections();
   Mesh::point_type newPoint = sieve->base()->size() + sieve->cap()->size();
   std::map<int,int> vertexRenumber;
   
@@ -139,7 +140,15 @@
       std::cout << "Duplicating " << *v_iter << " to "
 		<< vertexRenumber[*v_iter] << std::endl;
     vertexRenumber[*v_iter] = newPoint;
-    groupField->setFiberDimension(newPoint, 1);
+
+    for(std::set<std::string>::const_iterator name = groupNames->begin();
+       name != groupNames->end(); ++name) {
+      const ALE::Obj<int_section_type>& group = mesh->getIntSection(*name);
+
+      if (group->hasPoint(*v_iter)) {
+        group->setFiberDimension(newPoint, 1);
+      }
+    } // for
   } // for
 
   // Split the mesh along the fault sieve and create cohesive elements



More information about the cig-commits mailing list