[cig-commits] r8155 - short/3D/PyLith/trunk/libsrc/bc

brad at geodynamics.org brad at geodynamics.org
Fri Oct 19 09:03:53 PDT 2007


Author: brad
Date: 2007-10-19 09:03:53 -0700 (Fri, 19 Oct 2007)
New Revision: 8155

Modified:
   short/3D/PyLith/trunk/libsrc/bc/AbsorbingDampers.cc
Log:
More work on absorbing dampers BC.

Modified: short/3D/PyLith/trunk/libsrc/bc/AbsorbingDampers.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/bc/AbsorbingDampers.cc	2007-10-19 16:03:16 UTC (rev 8154)
+++ short/3D/PyLith/trunk/libsrc/bc/AbsorbingDampers.cc	2007-10-19 16:03:53 UTC (rev 8155)
@@ -109,7 +109,7 @@
   const int numBasis = _quadrature->numBasis();
   const int numQuadPts = _quadrature->numQuadPts();
   const int spaceDim = cs->spaceDim();
-  const int fiberDim = spaceDim * numQuadPts;
+  const int fiberDim = numQuadPts * spaceDim;
   _dampingConsts = new real_section_type(_boundaryMesh->comm(), 
 					 _boundaryMesh->debug());
   assert(!_dampingConsts.isNull());
@@ -212,7 +212,7 @@
 
   // Get cell information
   const ALE::Obj<ALE::Mesh::label_sequence>& cells = 
-    _boundaryMesh->heightStratum(1);
+    _boundaryMesh->heightStratum(0);
   assert(!cells.isNull());
   const Mesh::label_sequence::iterator cellsEnd = cells->end();
 
@@ -256,8 +256,9 @@
     // Restrict input fields to cell
     _boundaryMesh->restrict(dispTpdt, *c_iter, &dispTpdtCell[0], cellVecSize);
     _boundaryMesh->restrict(dispTmdt, *c_iter, &dispTmdtCell[0], cellVecSize);
-    _boundaryMesh->restrict(_dampingConsts, *c_iter, 
-			    &dampingConstsCell[0], dampingConstsCell.size());
+    assert(numQuadPts*spaceDim == _dampingConsts->getFiberDimension(*c_iter));
+    const real_section_type::value_type* dampingConstsCell = 
+      _dampingConsts->restrictPoint(*c_iter);
 
     // Get cell geometry information that depends on cell
     const double_array& basis = _quadrature->basis();
@@ -305,7 +306,7 @@
 
   // Get cell information
   const ALE::Obj<ALE::Mesh::label_sequence>& cells = 
-    _boundaryMesh->heightStratum(1);
+    _boundaryMesh->heightStratum(0);
   assert(!cells.isNull());
   const Mesh::label_sequence::iterator cellsEnd = cells->end();
 



More information about the cig-commits mailing list