[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