[cig-commits] r8358 - short/3D/PyLith/trunk/libsrc/feassemble

brad at geodynamics.org brad at geodynamics.org
Fri Nov 30 13:30:39 PST 2007


Author: brad
Date: 2007-11-30 13:30:39 -0800 (Fri, 30 Nov 2007)
New Revision: 8358

Modified:
   short/3D/PyLith/trunk/libsrc/feassemble/ElasticityExplicit.cc
   short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc
   short/3D/PyLith/trunk/libsrc/feassemble/IntegratorElasticity.hh
Log:
Fixed bug associated with setting up custom atlas for residual. FieldsManager already sets up atlas do we don't need to do so in integrateResidual.

Modified: short/3D/PyLith/trunk/libsrc/feassemble/ElasticityExplicit.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/ElasticityExplicit.cc	2007-11-30 21:28:50 UTC (rev 8357)
+++ short/3D/PyLith/trunk/libsrc/feassemble/ElasticityExplicit.cc	2007-11-30 21:30:39 UTC (rev 8358)
@@ -177,12 +177,10 @@
     fields->getFieldAtlasTagByHistory(1, materialId);
   const int dispTmdtAtlasTag = 
     fields->getFieldAtlasTagByHistory(2, materialId);
+  
+  const int residualAtlasTag = 
+    fields->getFieldAtlasTag("residual", materialId);
 
-  if (_residualAtlasTags.find(materialId) == _residualAtlasTags.end()) {
-    _residualAtlasTags[materialId] = 
-      mesh->calculateCustomAtlas(residual, cells);
-  } // if
-  const int residualAtlasTag = _residualAtlasTags[materialId];
   std::cout << "TAGS for material"
 	    << " id: " << materialId
 	    << ", dispT: " << dispTAtlasTag

Modified: short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc	2007-11-30 21:28:50 UTC (rev 8357)
+++ short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc	2007-11-30 21:30:39 UTC (rev 8358)
@@ -158,14 +158,12 @@
 
 #ifdef FASTER
   fields->createCustomAtlas("material-id", materialId);
-  const int dispAtlasTag = fields->getFieldAtlasTag("dispTBctpdt", materialId);
-
-  if (_residualAtlasTags.find(materialId) == _residualAtlasTags.end()) {
-    _residualAtlasTags[materialId] = 
-      residual->copyCustomAtlas(dispTBctpdt, dispAtlasTag);
-  } // if
-  const int residualAtlasTag = _residualAtlasTags[materialId];
+  const int dispAtlasTag = 
+    fields->getFieldAtlasTag("dispTBctpdt", materialId);
+  const int residualAtlasTag = 
+    fields->getFieldAtlasTag("residual", materialId);
 #endif
+
   // Precompute the geometric and function space information
   _quadrature->precomputeGeometry(mesh, coordinates, cells);
 

Modified: short/3D/PyLith/trunk/libsrc/feassemble/IntegratorElasticity.hh
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/IntegratorElasticity.hh	2007-11-30 21:28:50 UTC (rev 8357)
+++ short/3D/PyLith/trunk/libsrc/feassemble/IntegratorElasticity.hh	2007-11-30 21:30:39 UTC (rev 8358)
@@ -181,9 +181,6 @@
   /// Elastic material associated with integrator
   materials::ElasticMaterial* _material;
 
-  /// Tag for custom atlas for residual field, optimized restrict()/update()
-  std::map<int,int> _residualAtlasTags;
-
 }; // IntegratorElasticity
 
 #endif // pylith_feassemble_integratorelasticity_hh



More information about the cig-commits mailing list