[cig-commits] r7331 - short/3D/PyLith/trunk/libsrc/feassemble
brad at geodynamics.org
brad at geodynamics.org
Wed Jun 20 16:52:16 PDT 2007
Author: brad
Date: 2007-06-20 16:52:16 -0700 (Wed, 20 Jun 2007)
New Revision: 7331
Modified:
short/3D/PyLith/trunk/libsrc/feassemble/ElasticityExplicit.cc
short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc
Log:
Fixed indexing of basisDeriv to be consistent with expected sizes if cellDim is not equal to spaceDim (no affect on current code).
Modified: short/3D/PyLith/trunk/libsrc/feassemble/ElasticityExplicit.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/ElasticityExplicit.cc 2007-06-20 23:46:33 UTC (rev 7330)
+++ short/3D/PyLith/trunk/libsrc/feassemble/ElasticityExplicit.cc 2007-06-20 23:52:16 UTC (rev 7331)
@@ -250,11 +250,11 @@
const double s11 = stress[iQuad][0];
const double s22 = stress[iQuad][1];
const double s12 = stress[iQuad][2];
- for (int iBasis=0, iQ=iQuad*numBasis*cellDim;
+ for (int iBasis=0, iQ=iQuad*numBasis*spaceDim;
iBasis < numBasis;
++iBasis) {
- const double N1 = wt*basisDeriv[iQ+iBasis*cellDim ];
- const double N2 = wt*basisDeriv[iQ+iBasis*cellDim+1];
+ const double N1 = wt*basisDeriv[iQ+iBasis*spaceDim ];
+ const double N2 = wt*basisDeriv[iQ+iBasis*spaceDim+1];
_cellVector[iBasis*spaceDim ] -= N1*s11 + N2*s12;
_cellVector[iBasis*spaceDim+1] -= N1*s12 + N2*s22;
} // for
@@ -280,13 +280,13 @@
const double s23 = stress[iQuad][4];
const double s13 = stress[iQuad][5];
- for (int iBasis=0, iQ=iQuad*numBasis*cellDim;
+ for (int iBasis=0, iQ=iQuad*numBasis*spaceDim;
iBasis < numBasis;
++iBasis) {
const int iBlock = iBasis*spaceDim;
- const double N1 = wt*basisDeriv[iQ+iBasis*cellDim+0];
- const double N2 = wt*basisDeriv[iQ+iBasis*cellDim+1];
- const double N3 = wt*basisDeriv[iQ+iBasis*cellDim+2];
+ const double N1 = wt*basisDeriv[iQ+iBasis*spaceDim+0];
+ const double N2 = wt*basisDeriv[iQ+iBasis*spaceDim+1];
+ const double N3 = wt*basisDeriv[iQ+iBasis*spaceDim+2];
_cellVector[iBlock ] -= N1*s11 + N2*s12 + N3*s13;
_cellVector[iBlock+1] -= N1*s12 + N2*s22 + N3*s23;
_cellVector[iBlock+2] -= N1*s13 + N2*s23 + N3*s33;
Modified: short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc 2007-06-20 23:46:33 UTC (rev 7330)
+++ short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc 2007-06-20 23:52:16 UTC (rev 7331)
@@ -486,11 +486,11 @@
const double s11 = stress[iQuad][0];
const double s22 = stress[iQuad][1];
const double s12 = stress[iQuad][2];
- for (int iBasis=0, iQ=iQuad*numBasis*cellDim;
+ for (int iBasis=0, iQ=iQuad*numBasis*spaceDim;
iBasis < numBasis;
++iBasis) {
- const double N1 = wt*basisDeriv[iQ+iBasis*cellDim ];
- const double N2 = wt*basisDeriv[iQ+iBasis*cellDim+1];
+ const double N1 = wt*basisDeriv[iQ+iBasis*spaceDim ];
+ const double N2 = wt*basisDeriv[iQ+iBasis*spaceDim+1];
_cellVector[iBasis*spaceDim ] -= N1*s11 + N2*s12;
_cellVector[iBasis*spaceDim+1] -= N1*s12 + N2*s22;
} // for
@@ -526,13 +526,14 @@
const double s23 = stress[iQuad][4];
const double s13 = stress[iQuad][5];
- for (int iBasis=0, iQ=iQuad*numBasis*cellDim;
+ for (int iBasis=0, iQ=iQuad*numBasis*spaceDim;
iBasis < numBasis;
++iBasis) {
const int iBlock = iBasis*spaceDim;
- const double N1 = wt*basisDeriv[iQ+iBasis*cellDim+0];
- const double N2 = wt*basisDeriv[iQ+iBasis*cellDim+1];
- const double N3 = wt*basisDeriv[iQ+iBasis*cellDim+2];
+ const double N1 = wt*basisDeriv[iQ+iBasis*spaceDim+0];
+ const double N2 = wt*basisDeriv[iQ+iBasis*spaceDim+1];
+ const double N3 = wt*basisDeriv[iQ+iBasis*spaceDim+2];
+
_cellVector[iBlock ] -= N1*s11 + N2*s12 + N3*s13;
_cellVector[iBlock+1] -= N1*s12 + N2*s22 + N3*s23;
_cellVector[iBlock+2] -= N1*s13 + N2*s23 + N3*s33;
@@ -607,16 +608,16 @@
const double C2222 = elasticConsts[iQuad][3];
const double C2212 = elasticConsts[iQuad][4]/2.0;
const double C1212 = elasticConsts[iQuad][5]/2.0;
- for (int iBasis=0, iQ=iQuad*numBasis*cellDim;
+ for (int iBasis=0, iQ=iQuad*numBasis*spaceDim;
iBasis < numBasis;
++iBasis) {
- const double Nip = wt*basisDeriv[iQ+iBasis*cellDim ];
- const double Niq = wt*basisDeriv[iQ+iBasis*cellDim+1];
+ const double Nip = wt*basisDeriv[iQ+iBasis*spaceDim ];
+ const double Niq = wt*basisDeriv[iQ+iBasis*spaceDim+1];
const int iBlock = (iBasis*spaceDim ) * (numBasis*spaceDim);
const int iBlock1 = (iBasis*spaceDim+1) * (numBasis*spaceDim);
for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const double Njp = basisDeriv[iQ+jBasis*cellDim ];
- const double Njq = basisDeriv[iQ+jBasis*cellDim+1];
+ const double Njp = basisDeriv[iQ+jBasis*spaceDim ];
+ const double Njq = basisDeriv[iQ+jBasis*spaceDim+1];
const double ki0j0 =
C1111 * Nip * Njp + C1112 * Niq * Njp +
C1112 * Nip * Njq + C1212 * Niq * Njq;
@@ -689,16 +690,16 @@
const double C2323 = elasticConsts[iQuad][18]/2.0;
const double C2313 = elasticConsts[iQuad][19]/2.0;
const double C1313 = elasticConsts[iQuad][20]/2.0;
- for (int iBasis=0, iQ=iQuad*numBasis*cellDim;
+ for (int iBasis=0, iQ=iQuad*numBasis*spaceDim;
iBasis < numBasis;
++iBasis) {
- const double Nip = wt*basisDeriv[iQ+iBasis*cellDim+0];
- const double Niq = wt*basisDeriv[iQ+iBasis*cellDim+1];
- const double Nir = wt*basisDeriv[iQ+iBasis*cellDim+2];
+ const double Nip = wt*basisDeriv[iQ+iBasis*spaceDim+0];
+ const double Niq = wt*basisDeriv[iQ+iBasis*spaceDim+1];
+ const double Nir = wt*basisDeriv[iQ+iBasis*spaceDim+2];
for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const double Njp = basisDeriv[iQ+jBasis*cellDim+0];
- const double Njq = basisDeriv[iQ+jBasis*cellDim+1];
- const double Njr = basisDeriv[iQ+jBasis*cellDim+2];
+ const double Njp = basisDeriv[iQ+jBasis*spaceDim+0];
+ const double Njq = basisDeriv[iQ+jBasis*spaceDim+1];
+ const double Njr = basisDeriv[iQ+jBasis*spaceDim+2];
const double ki0j0 =
C1111 * Nip * Njp + C1112 * Niq * Njp + C1113 * Nir * Njp +
C1112 * Nip * Njq + C1212 * Niq * Njq + C1213 * Nir * Njq +
More information about the cig-commits
mailing list