[cig-commits] r6593 - in short/3D/PyLith/trunk: libsrc/faults unittests/libtests/faults

knepley at geodynamics.org knepley at geodynamics.org
Tue Apr 17 13:49:46 PDT 2007


Author: knepley
Date: 2007-04-17 13:49:46 -0700 (Tue, 17 Apr 2007)
New Revision: 6593

Modified:
   short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc
   short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesive.cc
Log:
Faults work for interpolated meshes now


Modified: short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc	2007-04-17 19:21:14 UTC (rev 6592)
+++ short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc	2007-04-17 20:49:46 UTC (rev 6593)
@@ -24,6 +24,7 @@
 			      const std::set<Mesh::point_type>& faultVertices)
 { // create
   typedef std::vector<Mesh::point_type> PointArray;
+  typedef ALE::SieveAlg<Mesh> sieveAlg;
 
   const ALE::Obj<sieve_type>& sieve = mesh->getSieve();
   const ALE::Obj<Mesh> fault = new Mesh(mesh->comm(), mesh->debug());
@@ -34,7 +35,6 @@
   const std::set<Mesh::point_type>::const_iterator fvEnd = 
     faultVertices.end();
 
-  // There should be logic here to determine this
   int f = sieve->base()->size() + sieve->cap()->size();
   int debug = mesh->debug();
   ALE::Obj<PointArray> face = new PointArray();
@@ -44,16 +44,14 @@
   for(std::set<int>::const_iterator fv_iter = fvBegin;
       fv_iter != fvEnd;
       ++fv_iter) {
-    const ALE::Obj<sieve_type::traits::supportSequence>& cells =
-      sieve->support(*fv_iter);
-    const sieve_type::traits::supportSequence::iterator cBegin =
-      cells->begin();
-    const sieve_type::traits::supportSequence::iterator cEnd =
-      cells->end();
+    const ALE::Obj<sieveAlg::supportArray>& cells =
+      sieveAlg::nSupport(mesh, *fv_iter, mesh->depth());
+    const sieveAlg::supportArray::iterator cBegin = cells->begin();
+    const sieveAlg::supportArray::iterator cEnd   = cells->end();
     
     if (debug)
       std::cout << "Checking fault vertex " << *fv_iter << std::endl;
-    for(sieve_type::traits::supportSequence::iterator c_iter = cBegin;
+    for(sieveAlg::supportArray::iterator c_iter = cBegin;
 	c_iter != cEnd;
 	++c_iter) {
       const unsigned int faceSize = _numFaceVertices(*c_iter, mesh);
@@ -62,13 +60,13 @@
 	std::cout << "  Checking cell " << *c_iter << std::endl;
       if (faultCells.find(*c_iter) != faultCells.end())
 	continue;
-      const ALE::Obj<sieve_type::traits::coneSequence>& cone =
-	sieve->cone(*c_iter);
-      const sieve_type::traits::coneSequence::iterator  vBegin = cone->begin();
-      const sieve_type::traits::coneSequence::iterator  vEnd = cone->end();
+      const ALE::Obj<sieveAlg::coneArray>& cone =
+        sieveAlg::nCone(mesh, *c_iter, mesh->height());
+      const sieveAlg::coneArray::iterator vBegin = cone->begin();
+      const sieveAlg::coneArray::iterator vEnd   = cone->end();
       
       face->clear();
-      for(sieve_type::traits::coneSequence::iterator v_iter = vBegin;
+      for(sieveAlg::coneArray::iterator v_iter = vBegin;
 	  v_iter != vEnd;
 	  ++v_iter) {
 	if (faultVertices.find(*v_iter) != fvEnd) {

Modified: short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesive.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesive.cc	2007-04-17 19:21:14 UTC (rev 6592)
+++ short/3D/PyLith/trunk/unittests/libtests/faults/TestFaultCohesive.cc	2007-04-17 20:49:46 UTC (rev 6593)
@@ -45,7 +45,7 @@
   meshio::MeshIOAscii iohandler;
   iohandler.filename(filename);
   iohandler.debug(true);
-  iohandler.interpolate(false);
+  iohandler.interpolate(true);
   iohandler.read(&mesh);
 
   FaultCohesiveKin fault;



More information about the cig-commits mailing list