[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