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

brad at geodynamics.org brad at geodynamics.org
Wed May 9 10:23:10 PDT 2007


Author: brad
Date: 2007-05-09 10:23:09 -0700 (Wed, 09 May 2007)
New Revision: 6805

Modified:
   short/3D/PyLith/trunk/libsrc/feassemble/IntegratorElasticity.cc
Log:
Fixed bug in calculating total strain in 2-D and 3-D.

Modified: short/3D/PyLith/trunk/libsrc/feassemble/IntegratorElasticity.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/IntegratorElasticity.cc	2007-05-09 00:46:03 UTC (rev 6804)
+++ short/3D/PyLith/trunk/libsrc/feassemble/IntegratorElasticity.cc	2007-05-09 17:23:09 UTC (rev 6805)
@@ -26,6 +26,7 @@
 					    const int numBasis)
 { // calcTotalStrain1D
   assert(0 != strain);
+  assert(0 != disp);
   
   const int dimension = 1;
   const int numQuadPts = strain->size();
@@ -49,6 +50,7 @@
 					    const int numBasis)
 { // calcTotalStrain2D
   assert(0 != strain);
+  assert(0 != disp);
   
   const int dimension = 2;
   const int numQuadPts = strain->size();
@@ -58,11 +60,11 @@
   for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
     assert(3 == (*strain)[iQuad].size());
     for (int iBasis=0, iQ=iQuad*numBasis; iBasis < numBasis; ++iBasis) {
-      strain[iQuad][0] += 
+      (*strain)[iQuad][0] += 
 	basisDeriv[iQ+iBasis  ] * disp[iBasis  ];
-      strain[iQuad][1] += 
+      (*strain)[iQuad][1] += 
 	basisDeriv[iQ+iBasis+1] * disp[iBasis+1];
-      strain[iQuad][2] += 
+      (*strain)[iQuad][2] += 
 	0.5 * (basisDeriv[iQ+iBasis+1] * disp[iBasis  ] +
 	       basisDeriv[iQ+iBasis  ] * disp[iBasis+1]);
     } // for
@@ -78,6 +80,7 @@
 					    const int numBasis)
 { // calcTotalStrain3D
   assert(0 != strain);
+  assert(0 != disp);
 
   const int dimension = 3;
   const int numQuadPts = strain->size();
@@ -87,19 +90,19 @@
   for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
     assert(6 == (*strain)[iQuad].size());
     for (int iBasis=0, iQ=iQuad*numBasis; iBasis < numBasis; ++iBasis) {
-      strain[iQuad][0] += 
+      (*strain)[iQuad][0] += 
 	basisDeriv[iQ+iBasis  ] * disp[iBasis  ];
-      strain[iQuad][1] += 
+      (*strain)[iQuad][1] += 
 	basisDeriv[iQ+iBasis+1] * disp[iBasis+1];
-      strain[iQuad][2] += 
+      (*strain)[iQuad][2] += 
 	basisDeriv[iQ+iBasis+2] * disp[iBasis+2];
-      strain[iQuad][3] += 
+      (*strain)[iQuad][3] += 
 	0.5 * (basisDeriv[iQ+iBasis+1] * disp[iBasis  ] +
 	       basisDeriv[iQ+iBasis  ] * disp[iBasis+1]);
-      strain[iQuad][4] += 
+      (*strain)[iQuad][4] += 
 	0.5 * (basisDeriv[iQ+iBasis+2] * disp[iBasis+1] +
 	       basisDeriv[iQ+iBasis+1] * disp[iBasis+2]);
-      strain[iQuad][5] += 
+      (*strain)[iQuad][5] += 
 	0.5 * (basisDeriv[iQ+iBasis+2] * disp[iBasis  ] +
 	       basisDeriv[iQ+iBasis  ] * disp[iBasis+2]);
     } // for



More information about the cig-commits mailing list