[cig-commits] r7025 - in short/3D/PyLith/trunk: libsrc/feassemble
unittests/libtests/feassemble unittests/libtests/feassemble/data
brad at geodynamics.org
brad at geodynamics.org
Thu May 31 17:34:42 PDT 2007
Author: brad
Date: 2007-05-31 17:34:41 -0700 (Thu, 31 May 2007)
New Revision: 7025
Added:
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicit.py
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.hh
Removed:
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia1D.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia1D.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia2D.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia2D.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia3D.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia3D.hh
Modified:
short/3D/PyLith/trunk/libsrc/feassemble/ElasticityExplicit.cc
short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorElasticity.py
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution3DLinear.py
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh
Log:
Worked on unit tests for implicit elasticity integrator. Unit tests expose bug in implicit elasticity integrator in 3-D (Jacobian ij terms are 3x3 unsymmetric submatrix, not symmetric).
Modified: short/3D/PyLith/trunk/libsrc/feassemble/ElasticityExplicit.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/ElasticityExplicit.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/libsrc/feassemble/ElasticityExplicit.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -118,7 +118,7 @@
// Allocate vectors for cell values.
_initCellVector();
- const int cellVecSize = spaceDim*numBasis;
+ const int cellVecSize = numBasis*spaceDim;
double_array dispTpdtCell(cellVecSize);
double_array dispTCell(cellVecSize);
double_array dispTmdtCell(cellVecSize);
@@ -225,8 +225,8 @@
++iBasis) {
const double N1 = wt*basisDeriv[iQ+iBasis*cellDim ];
const double N2 = wt*basisDeriv[iQ+iBasis*cellDim+1];
- _cellVector[iBasis*spaceDim ] -= N1*s11 + N2*s12;
- _cellVector[iBasis*spaceDim+1] -= N1*s12 + N2*s22;
+ _cellVector[iBasis*spaceDim ] -= N1*s11 + 0.5*N2*s12;
+ _cellVector[iBasis*spaceDim+1] -= 0.5*N1*s12 + N2*s22;
} // for
} // for
err = PetscLogFlops(numQuadPts*(1+numBasis*(8+2+9)));
@@ -253,12 +253,13 @@
for (int iBasis=0, iQ=iQuad*numBasis*cellDim;
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];
- _cellVector[iBasis*spaceDim ] -= N1*s11 + N2*s12 + N3*s13;
- _cellVector[iBasis*spaceDim+1] -= N1*s12 + N2*s22 + N3*s23;
- _cellVector[iBasis*spaceDim+2] -= N1*s13 + N2*s23 + N3*s33;
+ _cellVector[iBlock ] -= N1*s11 + 0.5*N2*s12 + 0.5*N3*s13;
+ _cellVector[iBlock+1] -= 0.5*N1*s12 + N2*s22 + 0.5*N3*s23;
+ _cellVector[iBlock+2] -= 0.5*N1*s13 + 0.5*N2*s23 + N3*s33;
} // for
} // for
err = PetscLogFlops(numQuadPts*(1+numBasis*(3+12)));
@@ -342,7 +343,7 @@
for (int jBasis=0; jBasis < numBasis; ++jBasis) {
const double valIJ = valI * basis[iQ+jBasis];
for (int iDim=0; iDim < spaceDim; ++iDim) {
- const int iBlock = (iBasis*spaceDim + iDim) * (spaceDim*numBasis);
+ const int iBlock = (iBasis*spaceDim + iDim) * (numBasis*spaceDim);
const int jBlock = (jBasis*spaceDim + iDim);
_cellMatrix[iBlock+jBlock] += valIJ;
} // for
@@ -396,7 +397,7 @@
const int spaceDim = _quadrature->spaceDim();
const int cellDim = _quadrature->cellDim();
- const int cellVecSize = spaceDim*numBasis;
+ const int cellVecSize = numBasis*spaceDim;
double_array dispCell(cellVecSize);
// Allocate vector for total strain
Modified: short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -99,7 +99,7 @@
// Allocate vector for cell values.
_initCellVector();
- const int cellVecSize = spaceDim*numBasis;
+ const int cellVecSize = numBasis*spaceDim;
double_array dispTCell(cellVecSize);
//double_array gravCell(cellVecSize);
@@ -209,8 +209,8 @@
++iBasis) {
const double N1 = wt*basisDeriv[iQ+iBasis*cellDim ];
const double N2 = wt*basisDeriv[iQ+iBasis*cellDim+1];
- _cellVector[iBasis*spaceDim ] -= N1*s11 + N2*s12;
- _cellVector[iBasis*spaceDim+1] -= N1*s12 + N2*s22;
+ _cellVector[iBasis*spaceDim ] -= N1*s11 + 0.5*N2*s12;
+ _cellVector[iBasis*spaceDim+1] -= 0.5*N1*s12 + N2*s22;
} // for
} // for
PetscErrorCode err = PetscLogFlops(numQuadPts*(1+numBasis*(8+2+9)));
@@ -237,12 +237,13 @@
for (int iBasis=0, iQ=iQuad*numBasis*cellDim;
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];
- _cellVector[iBasis*spaceDim ] -= N1*s11 + N2*s12 + N3*s13;
- _cellVector[iBasis*spaceDim+1] -= N1*s12 + N2*s22 + N3*s23;
- _cellVector[iBasis*spaceDim+2] -= N1*s13 + N2*s23 + N3*s33;
+ _cellVector[iBlock ] -= N1*s11 + 0.5*N2*s12 + 0.5*N3*s13;
+ _cellVector[iBlock+1] -= 0.5*N1*s12 + N2*s22 + 0.5*N3*s23;
+ _cellVector[iBlock+2] -= 0.5*N1*s13 + 0.5*N2*s23 + N3*s33;
} // for
} // for
PetscErrorCode err = PetscLogFlops(numQuadPts*(1+numBasis*(3+12)));
@@ -304,7 +305,7 @@
// Allocate matrix and vectors for cell values.
_initCellMatrix();
- const int cellVecSize = spaceDim*numBasis;
+ const int cellVecSize = numBasis*spaceDim;
double_array dispTCell(cellVecSize);
// Allocate vector for total strain
@@ -358,11 +359,11 @@
const double wt = quadWts[iQuad] * jacobianDet[iQuad];
const double C1111 = elasticConsts[iQuad][0];
for (int iBasis=0, iQ=iQuad*numBasis; iBasis < numBasis; ++iBasis) {
- const int iBlock = iBasis * spaceDim;
const double valI = wt*basisDeriv[iQ+iBasis]*C1111;
for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const int jBlock = jBasis * spaceDim;
const double valIJ = valI * basisDeriv[iQ+jBasis];
+ const int iBlock = iBasis*spaceDim * (numBasis*spaceDim);
+ const int jBlock = jBasis*spaceDim;
_cellMatrix[iBlock+jBlock] += valIJ;
} // for
} // for
@@ -385,34 +386,37 @@
const double wt = quadWts[iQuad] * jacobianDet[iQuad];
const double C1111 = elasticConsts[iQuad][0];
const double C1122 = elasticConsts[iQuad][1];
- const double C1112 = elasticConsts[iQuad][2];
+ const double C1112 = elasticConsts[iQuad][2]/2.0;
const double C2222 = elasticConsts[iQuad][3];
- const double C2212 = elasticConsts[iQuad][4];
- const double C1212 = elasticConsts[iQuad][5];
+ const double C2212 = elasticConsts[iQuad][4]/2.0;
+ const double C1212 = elasticConsts[iQuad][5]/4.0;
for (int iBasis=0, iQ=iQuad*numBasis*cellDim;
iBasis < numBasis;
++iBasis) {
const double Nip = wt*basisDeriv[iQ+iBasis*cellDim ];
const double Niq = wt*basisDeriv[iQ+iBasis*cellDim+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 ki0j0 =
- C1111 * Nip * Njp + C1112 * Niq * Njp +
+ C1111 * Nip * Njp + C1112 * Niq * Njp +
C1112 * Nip * Njq + C1212 * Niq * Njq;
const double ki0j1 =
- C1122 * Nip * Njq + C2212 * Niq * Njq +
+ C1122 * Nip * Njq + C2212 * Niq * Njq +
C1112 * Nip * Njp + C1212 * Niq * Njp;
+ const double ki1j0 =
+ C1122 * Niq * Njp + C2212 * Niq * Njq +
+ C1112 * Nip * Njp + C1212 * Nip * Njq;
const double ki1j1 =
- C2222 * Niq * Njq + C2212 * Nip * Njq +
+ C2222 * Niq * Njq + C2212 * Nip * Njq +
C2212 * Niq * Njp + C1212 * Nip * Njp;
- const int iBlock = iBasis*spaceDim * (spaceDim*numBasis);
- const int iBlock1 = (iBasis*spaceDim+1) * (spaceDim*numBasis);
- const int jBlock = jBasis*spaceDim;
- const int jBlock1 = jBasis*spaceDim+1;
- _cellMatrix[iBlock +jBlock ] += ki0j0;
+ const int jBlock = (jBasis*spaceDim );
+ const int jBlock1 = (jBasis*spaceDim+1);
+ _cellMatrix[iBlock +jBlock ] += ki0j0;
_cellMatrix[iBlock +jBlock1] += ki0j1;
- _cellMatrix[iBlock1+jBlock ] += ki0j1;
+ _cellMatrix[iBlock1+jBlock ] += ki1j0;
_cellMatrix[iBlock1+jBlock1] += ki1j1;
} // for
} // for
@@ -435,24 +439,24 @@
const double C1111 = elasticConsts[iQuad][ 0];
const double C1122 = elasticConsts[iQuad][ 1];
const double C1133 = elasticConsts[iQuad][ 2];
- const double C1112 = elasticConsts[iQuad][ 3];
- const double C1123 = elasticConsts[iQuad][ 4];
- const double C1113 = elasticConsts[iQuad][ 5];
+ const double C1112 = elasticConsts[iQuad][ 3]/2.0;
+ const double C1123 = elasticConsts[iQuad][ 4]/2.0;
+ const double C1113 = elasticConsts[iQuad][ 5]/2.0;
const double C2222 = elasticConsts[iQuad][ 6];
const double C2233 = elasticConsts[iQuad][ 7];
- const double C2212 = elasticConsts[iQuad][ 8];
- const double C2223 = elasticConsts[iQuad][ 9];
- const double C2213 = elasticConsts[iQuad][10];
+ const double C2212 = elasticConsts[iQuad][ 8]/2.0;
+ const double C2223 = elasticConsts[iQuad][ 9]/2.0;
+ const double C2213 = elasticConsts[iQuad][10]/2.0;
const double C3333 = elasticConsts[iQuad][11];
- const double C3312 = elasticConsts[iQuad][12];
- const double C3323 = elasticConsts[iQuad][13];
- const double C3313 = elasticConsts[iQuad][14];
- const double C1212 = elasticConsts[iQuad][15];
- const double C1223 = elasticConsts[iQuad][16];
- const double C1213 = elasticConsts[iQuad][17];
- const double C2323 = elasticConsts[iQuad][18];
- const double C2313 = elasticConsts[iQuad][19];
- const double C1313 = elasticConsts[iQuad][20];
+ const double C3312 = elasticConsts[iQuad][12]/2.0;
+ const double C3323 = elasticConsts[iQuad][13]/2.0;
+ const double C3313 = elasticConsts[iQuad][14]/2.0;
+ const double C1212 = elasticConsts[iQuad][15]/4.0;
+ const double C1223 = elasticConsts[iQuad][16]/4.0;
+ const double C1213 = elasticConsts[iQuad][17]/4.0;
+ const double C2323 = elasticConsts[iQuad][18]/4.0;
+ const double C2313 = elasticConsts[iQuad][19]/4.0;
+ const double C1313 = elasticConsts[iQuad][20]/4.0;
for (int iBasis=0, iQ=iQuad*numBasis*cellDim;
iBasis < numBasis;
++iBasis) {
@@ -464,7 +468,7 @@
const double Njq = basisDeriv[iQ+jBasis*cellDim+1];
const double Njr = basisDeriv[iQ+jBasis*cellDim+2];
const double ki0j0 =
- C1111 * Nip * Njp + C1112 * Niq * Njp + C1113 * Nir * Njp +
+ C1111 * Nip * Njp + C1112 * Niq * Njp + C1113 * Nir * Njp +
C1112 * Nip * Njq + C1212 * Niq * Njq + C1213 * Nir * Njq +
C1113 * Nip * Njr + C1213 * Niq * Njr + C1313 * Nir * Njr;
const double ki0j1 =
@@ -488,9 +492,9 @@
C3323 * Nir * Njq + C2323 * Niq * Njq + C2313 * Nip * Njq +
C3313 * Nir * Njp + C2313 * Niq * Njp + C1313 * Nip * Njp;
- const int iBlock = iBasis*spaceDim * (spaceDim*numBasis);
- const int iBlock1 = (iBasis*spaceDim+1) * (spaceDim*numBasis);
- const int iBlock2 = (iBasis*spaceDim+2) * (spaceDim*numBasis);
+ const int iBlock = iBasis*spaceDim * (numBasis*spaceDim);
+ const int iBlock1 = (iBasis*spaceDim+1) * (numBasis*spaceDim);
+ const int iBlock2 = (iBasis*spaceDim+2) * (numBasis*spaceDim);
const int jBlock = jBasis*spaceDim;
const int jBlock1 = jBasis*spaceDim+1;
const int jBlock2 = jBasis*spaceDim+2;
@@ -556,7 +560,7 @@
const int spaceDim = _quadrature->spaceDim();
const int cellDim = _quadrature->cellDim();
- const int cellVecSize = spaceDim*numBasis;
+ const int cellVecSize = numBasis*spaceDim;
double_array dispCell(cellVecSize);
// Allocate vector for total strain
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/Makefile.am 2007-06-01 00:34:41 UTC (rev 7025)
@@ -28,6 +28,13 @@
TestElasticityExplicit2DQuadratic.cc \
TestElasticityExplicit3DLinear.cc \
TestElasticityExplicit3DQuadratic.cc \
+ TestElasticityImplicit.cc \
+ TestElasticityImplicit1DLinear.cc \
+ TestElasticityImplicit1DQuadratic.cc \
+ TestElasticityImplicit2DLinear.cc \
+ TestElasticityImplicit2DQuadratic.cc \
+ TestElasticityImplicit3DLinear.cc \
+ TestElasticityImplicit3DQuadratic.cc \
TestIntegrator.cc \
TestQuadrature.cc \
TestQuadrature1D.cc \
@@ -45,6 +52,13 @@
TestElasticityExplicit2DQuadratic.hh \
TestElasticityExplicit3DLinear.hh \
TestElasticityExplicit3DQuadratic.hh \
+ TestElasticityImplicit.hh \
+ TestElasticityImplicit1DLinear.hh \
+ TestElasticityImplicit1DQuadratic.hh \
+ TestElasticityImplicit2DLinear.hh \
+ TestElasticityImplicit2DQuadratic.hh \
+ TestElasticityImplicit3DLinear.hh \
+ TestElasticityImplicit3DQuadratic.hh \
TestIntegrator.hh \
TestQuadrature.hh \
TestQuadrature1D.hh \
@@ -62,6 +76,12 @@
data/ElasticityExplicitData2DQuadratic.cc \
data/ElasticityExplicitData3DLinear.cc \
data/ElasticityExplicitData3DQuadratic.cc \
+ data/ElasticityImplicitData1DLinear.cc \
+ data/ElasticityImplicitData1DQuadratic.cc \
+ data/ElasticityImplicitData2DLinear.cc \
+ data/ElasticityImplicitData2DQuadratic.cc \
+ data/ElasticityImplicitData3DLinear.cc \
+ data/ElasticityImplicitData3DQuadratic.cc \
data/QuadratureData.cc \
data/QuadratureData1DLinear.cc \
data/QuadratureData1DQuadratic.cc \
@@ -87,6 +107,12 @@
data/ElasticityExplicitData2DQuadratic.hh \
data/ElasticityExplicitData3DLinear.hh \
data/ElasticityExplicitData3DQuadratic.hh \
+ data/ElasticityImplicitData1DLinear.hh \
+ data/ElasticityImplicitData1DQuadratic.hh \
+ data/ElasticityImplicitData2DLinear.hh \
+ data/ElasticityImplicitData2DQuadratic.hh \
+ data/ElasticityImplicitData3DLinear.hh \
+ data/ElasticityImplicitData3DQuadratic.hh \
data/QuadratureData.hh \
data/QuadratureData1DLinear.hh \
data/QuadratureData1DQuadratic.hh \
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -27,8 +27,6 @@
#include <math.h> // USES fabs()
-#include <stdexcept> // TEMPORARY
-
// ----------------------------------------------------------------------
CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityExplicit );
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.hh 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.hh 2007-06-01 00:34:41 UTC (rev 7025)
@@ -31,7 +31,7 @@
class TestElasticityExplicit;
class ElasticityExplicit; // USES ElasticityExplicit
- class IntegratorData; // HOLDSA ElasticityExplicitData
+ class IntegratorData; // HOLDSA IntegratorData
class Quadrature; // HOLDSA Quadrature
} // feassemble
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,291 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestElasticityImplicit.hh" // Implementation of class methods
+
+#include "pylith/feassemble/ElasticityImplicit.hh" // USES ElasticityImplicit
+#include "data/IntegratorData.hh" // USES IntegratorData
+
+#include "pylith/materials/ElasticIsotropic3D.hh" // USES ElasticIsotropic3D
+#include "pylith/feassemble/Quadrature.hh" // USES Quadrature
+#include "pylith/topology/FieldsManager.hh" // USES FieldsManager
+
+#include "spatialdata/geocoords/CSCart.hh" // USES CSCart
+#include "spatialdata/spatialdb/SimpleDB.hh" // USES SimpleDB
+#include "spatialdata/spatialdb/SimpleIOAscii.hh" // USES SimpleIOAscii
+
+#include <math.h> // USES fabs()
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit );
+
+// ----------------------------------------------------------------------
+// Test constructor.
+void
+pylith::feassemble::TestElasticityImplicit::testConstructor(void)
+{ // testConstructor
+ ElasticityImplicit integrator;
+} // testConstructor
+
+// ----------------------------------------------------------------------
+// Test timeStep().
+void
+pylith::feassemble::TestElasticityImplicit::testTimeStep(void)
+{ // testTimeStep
+ ElasticityImplicit integrator;
+
+ const double dt1 = 2.0;
+ integrator.timeStep(dt1);
+ CPPUNIT_ASSERT_EQUAL(dt1, integrator._dt);
+ integrator.timeStep(dt1);
+ CPPUNIT_ASSERT_EQUAL(dt1, integrator._dtm1);
+ CPPUNIT_ASSERT_EQUAL(dt1, integrator._dt);
+} // testTimeStep
+
+// ----------------------------------------------------------------------
+// Test StableTimeStep().
+void
+pylith::feassemble::TestElasticityImplicit::testStableTimeStep(void)
+{ // testStableTimeStep
+ ElasticityImplicit integrator;
+
+ const double dt1 = 2.0;
+ integrator.timeStep(dt1);
+ const double stableTimeStep = integrator.stableTimeStep();
+ CPPUNIT_ASSERT_EQUAL(dt1, stableTimeStep);
+} // testStableTimeStep
+
+// ----------------------------------------------------------------------
+// Test material().
+void
+pylith::feassemble::TestElasticityImplicit::testMaterial(void)
+{ // testMaterial
+ ElasticityImplicit integrator;
+
+ materials::ElasticIsotropic3D material;
+ const int id = 3;
+ const std::string label("my material");
+ material.id(id);
+ material.label(label.c_str());
+ integrator.material(&material);
+ CPPUNIT_ASSERT_EQUAL(id, integrator._material->id());
+ CPPUNIT_ASSERT_EQUAL(label, std::string(integrator._material->label()));
+} // testMaterial
+
+// ----------------------------------------------------------------------
+// Test updateState().
+void
+pylith::feassemble::TestElasticityImplicit::testUpdateState(void)
+{ // testUpdateState
+ CPPUNIT_ASSERT(0 != _data);
+
+ ALE::Obj<ALE::Mesh> mesh;
+ ElasticityImplicit integrator;
+ topology::FieldsManager fields(mesh);
+ _initialize(&mesh, &integrator, &fields);
+
+ const ALE::Obj<real_section_type>& dispT = fields.getReal("dispT");
+ CPPUNIT_ASSERT(!dispT.isNull());
+ integrator.updateState(dispT, mesh);
+} // testUpdateState
+
+// ----------------------------------------------------------------------
+// Test integrateResidual().
+void
+pylith::feassemble::TestElasticityImplicit::testIntegrateResidual(void)
+{ // testIntegrateResidual
+ CPPUNIT_ASSERT(0 != _data);
+
+ ALE::Obj<ALE::Mesh> mesh;
+ ElasticityImplicit integrator;
+ topology::FieldsManager fields(mesh);
+ _initialize(&mesh, &integrator, &fields);
+
+ const ALE::Obj<real_section_type>& residual = fields.getReal("residual");
+ CPPUNIT_ASSERT(!residual.isNull());
+ integrator.integrateResidual(residual, &fields, mesh);
+
+ const double* valsE = _data->valsResidual;
+ const int sizeE = _data->spaceDim * _data->numVertices;
+
+ const double* vals = residual->restrict();
+ const int size = residual->sizeWithBC();
+ CPPUNIT_ASSERT_EQUAL(sizeE, size);
+
+ const double tolerance = 1.0e-06;
+ for (int i=0; i < size; ++i)
+ if (fabs(valsE[i]) > 1.0)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[i]/valsE[i], tolerance);
+ else
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(valsE[i], vals[i], tolerance);
+} // testIntegrateResidual
+
+// ----------------------------------------------------------------------
+// Test integrateJacobian().
+void
+pylith::feassemble::TestElasticityImplicit::testIntegrateJacobian(void)
+{ // testIntegrateJacobian
+ CPPUNIT_ASSERT(0 != _data);
+
+ ALE::Obj<ALE::Mesh> mesh;
+ ElasticityImplicit integrator;
+ topology::FieldsManager fields(mesh);
+ _initialize(&mesh, &integrator, &fields);
+
+ const ALE::Obj<pylith::real_section_type>& dispT = fields.getReal("dispT");
+ CPPUNIT_ASSERT(!dispT.isNull());
+
+ PetscMat jacobian;
+ PetscErrorCode err = MeshCreateMatrix(mesh, dispT, MATMPIBAIJ, &jacobian);
+ CPPUNIT_ASSERT(0 == err);
+
+ integrator.integrateJacobian(&jacobian, &fields, mesh);
+ err = MatAssemblyBegin(jacobian, MAT_FINAL_ASSEMBLY);
+ CPPUNIT_ASSERT(0 == err);
+ err = MatAssemblyEnd(jacobian, MAT_FINAL_ASSEMBLY);
+ CPPUNIT_ASSERT(0 == err);
+
+ const double* valsE = _data->valsJacobian;
+ const int nrowsE = _data->numVertices * _data->spaceDim;
+ const int ncolsE = _data->numVertices * _data->spaceDim;
+
+ int nrows = 0;
+ int ncols = 0;
+ MatGetSize(jacobian, &nrows, &ncols);
+ CPPUNIT_ASSERT_EQUAL(nrowsE, nrows);
+ CPPUNIT_ASSERT_EQUAL(ncolsE, ncols);
+
+ MatView(jacobian, PETSC_VIEWER_STDOUT_WORLD);
+
+ PetscMat jDense;
+ PetscMat jSparseAIJ;
+ MatConvert(jacobian, MATSEQAIJ, MAT_INITIAL_MATRIX, &jSparseAIJ);
+ MatConvert(jSparseAIJ, MATSEQDENSE, MAT_INITIAL_MATRIX, &jDense);
+
+ double_array vals(nrows*ncols);
+ int_array rows(nrows);
+ int_array cols(ncols);
+ for (int iRow=0; iRow < nrows; ++iRow)
+ rows[iRow] = iRow;
+ for (int iCol=0; iCol < ncols; ++iCol)
+ cols[iCol] = iCol;
+ MatGetValues(jDense, nrows, &rows[0], ncols, &cols[0], &vals[0]);
+ const double tolerance = 1.0e-06;
+ for (int iRow=0; iRow < nrows; ++iRow)
+ for (int iCol=0; iCol < ncols; ++iCol) {
+ const int index = ncols*iRow+iCol;
+ if (fabs(valsE[index]) > 1.0)
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(1.0, vals[index]/valsE[index], tolerance);
+ else
+ CPPUNIT_ASSERT_DOUBLES_EQUAL(valsE[index], vals[index], tolerance);
+ } // for
+ MatDestroy(jDense);
+ MatDestroy(jSparseAIJ);
+} // testIntegrateJacobian
+
+// ----------------------------------------------------------------------
+// Initialize elasticity integrator.
+void
+pylith::feassemble::TestElasticityImplicit::_initialize(
+ ALE::Obj<ALE::Mesh>* mesh,
+ ElasticityImplicit* const integrator,
+ topology::FieldsManager* fields)
+{ // _initialize
+ CPPUNIT_ASSERT(0 != mesh);
+ CPPUNIT_ASSERT(0 != integrator);
+ CPPUNIT_ASSERT(0 != _data);
+ CPPUNIT_ASSERT(0 != _quadrature);
+ CPPUNIT_ASSERT(0 != _material);
+
+ // Setup mesh
+ spatialdata::geocoords::CSCart cs;
+ cs.setSpaceDim(_data->spaceDim);
+ cs.initialize();
+ *mesh = new ALE::Mesh(PETSC_COMM_WORLD, _data->cellDim);
+ CPPUNIT_ASSERT(!mesh->isNull());
+ ALE::Obj<sieve_type> sieve = new sieve_type((*mesh)->comm());
+ CPPUNIT_ASSERT(!sieve.isNull());
+ const bool interpolate = false;
+ ALE::SieveBuilder<Mesh>::buildTopology(sieve, _data->cellDim,
+ _data->numCells, const_cast<int*>(_data->cells),
+ _data->numVertices, interpolate, _data->numBasis);
+ (*mesh)->setSieve(sieve);
+ (*mesh)->stratify();
+ ALE::SieveBuilder<Mesh>::buildCoordinates((*mesh), _data->spaceDim,
+ _data->vertices);
+ const ALE::Obj<Mesh::label_type>& labelMaterials =
+ (*mesh)->createLabel("material-id");
+ int i = 0;
+ const ALE::Obj<Mesh::label_sequence>& cells = (*mesh)->heightStratum(0);
+ CPPUNIT_ASSERT(!cells.isNull());
+ for(Mesh::label_sequence::iterator c_iter = cells->begin();
+ c_iter != cells->end();
+ ++c_iter)
+ (*mesh)->setValue(labelMaterials, *c_iter, _data->matId);
+ (*mesh)->getFactory()->clear(); // clear numberings
+
+ // Setup quadrature
+ _quadrature->initialize(_data->basis, _data->basisDeriv, _data->quadPts,
+ _data->quadWts, _data->cellDim, _data->numBasis,
+ _data->numQuadPts, _data->spaceDim);
+
+ // Setup material
+ spatialdata::spatialdb::SimpleIOAscii iohandler;
+ iohandler.filename(_data->matDBFilename);
+ spatialdata::spatialdb::SimpleDB db;
+ db.ioHandler(&iohandler);
+
+ _material->id(_data->matId);
+ _material->label(_data->matLabel);
+ _material->timestep(_data->dt);
+ _material->db(&db);
+ _material->initialize(*mesh, &cs, _quadrature);
+
+ integrator->quadrature(_quadrature);
+ integrator->timeStep(_data->dt);
+ integrator->material(_material);
+
+ // Setup fields
+ CPPUNIT_ASSERT(0 != fields);
+ fields->addReal("residual");
+ fields->addReal("dispBCTpdt");
+ fields->addReal("dispT");
+ const char* history[] = { "dispBCTpdt", "dispT" };
+ const int historySize = 2;
+ fields->createHistory(history, historySize);
+
+ const ALE::Obj<real_section_type>& residual = fields->getReal("residual");
+ CPPUNIT_ASSERT(!residual.isNull());
+ residual->setFiberDimension((*mesh)->depthStratum(0), _data->spaceDim);
+ (*mesh)->allocate(residual);
+ residual->zero();
+ fields->copyLayout("residual");
+
+ const int fieldSize = _data->spaceDim * _data->numVertices;
+ const ALE::Obj<real_section_type>& dispBCTpdt =
+ fields->getReal("dispBCTpdt");
+ const ALE::Obj<real_section_type>& dispT = fields->getReal("dispT");
+ CPPUNIT_ASSERT(!dispBCTpdt.isNull());
+ CPPUNIT_ASSERT(!dispT.isNull());
+ const int offset = _data->numCells;
+ for (int iVertex=0; iVertex < _data->numVertices; ++iVertex) {
+ dispBCTpdt->updatePoint(iVertex+offset,
+ &_data->fieldTpdt[iVertex*_data->spaceDim]);
+ dispT->updatePoint(iVertex+offset,
+ &_data->fieldT[iVertex*_data->spaceDim]);
+ } // for
+} // _initialize
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.hh 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit.hh 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,110 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestElasticityImplicit.hh
+ *
+ * @brief C++ TestElasticityImplicit object
+ *
+ * C++ unit testing for ElasticityImplicit.
+ */
+
+#if !defined(pylith_feassemble_testelasticityimplicit_hh)
+#define pylith_feassemble_testelasticityimplicit_hh
+
+#include <cppunit/extensions/HelperMacros.h>
+
+#include "pylith/utils/sievefwd.hh" // USES PETSc Mesh
+
+/// Namespace for pylith package
+namespace pylith {
+ namespace feassemble {
+ class TestElasticityImplicit;
+
+ class ElasticityImplicit; // USES ElasticityImplicit
+ class IntegratorData; // HOLDSA IntegratorData
+ class Quadrature; // HOLDSA Quadrature
+ } // feassemble
+
+ namespace materials {
+ class ElasticMaterial; // HOLDSA ElasticMaterial
+ } // materials
+
+ namespace topology {
+ class FieldsManager; // USES FieldsManager
+ } // topology
+} // pylith
+
+/// C++ unit testing for ElasticityImplicit
+class pylith::feassemble::TestElasticityImplicit : public CppUnit::TestFixture
+{ // class TestElasticityImplicit
+
+ // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+ CPPUNIT_TEST_SUITE( TestElasticityImplicit );
+
+ CPPUNIT_TEST( testConstructor );
+ CPPUNIT_TEST( testTimeStep );
+ CPPUNIT_TEST( testStableTimeStep );
+ CPPUNIT_TEST( testMaterial );
+
+ CPPUNIT_TEST_SUITE_END();
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Test constructor.
+ void testConstructor(void);
+
+ /// Test timeStep().
+ void testTimeStep(void);
+
+ /// Test StableTimeStep().
+ void testStableTimeStep(void);
+
+ /// Test material().
+ void testMaterial(void);
+
+ /// Test updateState().
+ void testUpdateState(void);
+
+ /// Test integrateResidual().
+ void testIntegrateResidual(void);
+
+ /// Test integrateJacobian().
+ void testIntegrateJacobian(void);
+
+ // PROTECTED MEMBERS //////////////////////////////////////////////////
+protected :
+
+ IntegratorData* _data; ///< Data for testing.
+ materials::ElasticMaterial* _material; ///< Elastic material.
+ Quadrature* _quadrature; ///< Quadrature information.
+
+ // PRIVATE METHODS ////////////////////////////////////////////////////
+private :
+
+ /** Initialize elasticity integrator.
+ *
+ * @param mesh PETSc mesh to initialize.
+ * @param integrator ElasticityIntegrator to initialize.
+ * @param fields Solution fields.
+ */
+ void _initialize(ALE::Obj<ALE::Mesh>* mesh,
+ ElasticityImplicit* const integrator,
+ topology::FieldsManager* const fields);
+
+}; // class TestElasticityImplicit
+
+#endif // pylith_feassemble_testelasticityimplicit_hh
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,50 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestElasticityImplicit1DLinear.hh" // Implementation of class methods
+
+#include "data/ElasticityImplicitData1DLinear.hh"
+
+#include "pylith/feassemble/Quadrature1D.hh" // USES Quadrature1D
+#include "pylith/materials/ElasticStrain1D.hh" // USES ElasticStrain1D
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit1DLinear );
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicit1DLinear::setUp(void)
+{ // setUp
+ _data = new ElasticityImplicitData1DLinear();
+ _quadrature = new Quadrature1D();
+ _material = new materials::ElasticStrain1D;
+
+ CPPUNIT_ASSERT(0 != _data);
+ CPPUNIT_ASSERT_EQUAL(std::string("ElasticStrain1D"),
+ std::string(_data->matType));
+} // setUp
+
+// ----------------------------------------------------------------------
+// Tear down testing data.
+void
+pylith::feassemble::TestElasticityImplicit1DLinear::tearDown(void)
+{ // tearDown
+ delete _data;
+ delete _quadrature;
+ delete _material;
+} // tearDown
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.hh 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DLinear.hh 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,61 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestElasticityImplicit1DLinear.hh
+ *
+ * @brief C++ TestElasticityImplicit object
+ *
+ * C++ unit testing for ElasticityImplicit with 1-D linear cells.
+ */
+
+#if !defined(pylith_feassemble_testelasticityimplicit1dlinear_hh)
+#define pylith_feassemble_testelasticityimplicit1dlinear_hh
+
+#include "TestElasticityImplicit.hh" // ISA TestElasticityImplicit
+
+/// Namespace for pylith package
+namespace pylith {
+ namespace feassemble {
+ class TestElasticityImplicit1DLinear;
+ } // feassemble
+} // pylith
+
+/// C++ unit testing for ElasticityImplicit
+class pylith::feassemble::TestElasticityImplicit1DLinear :
+ public TestElasticityImplicit
+{ // class TestElasticityImplicit1DLinear
+
+ // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+ CPPUNIT_TEST_SUITE( TestElasticityImplicit1DLinear );
+
+ CPPUNIT_TEST( testUpdateState );
+ CPPUNIT_TEST( testIntegrateResidual );
+ CPPUNIT_TEST( testIntegrateJacobian );
+
+ CPPUNIT_TEST_SUITE_END();
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Setup testing data.
+ void setUp(void);
+
+ /// Tear down testing data.
+ void tearDown(void);
+
+}; // class TestElasticityImplicit1DLinear
+
+#endif // pylith_feassemble_testelasticityimplicit1dlinear_hh
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,50 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestElasticityImplicit1DQuadratic.hh" // Implementation of class methods
+
+#include "data/ElasticityImplicitData1DQuadratic.hh"
+
+#include "pylith/feassemble/Quadrature1D.hh" // USES Quadrature1D
+#include "pylith/materials/ElasticStrain1D.hh" // USES ElasticStrain1D
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit1DQuadratic );
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicit1DQuadratic::setUp(void)
+{ // setUp
+ _data = new ElasticityImplicitData1DQuadratic();
+ _quadrature = new Quadrature1D();
+ _material = new materials::ElasticStrain1D;
+
+ CPPUNIT_ASSERT(0 != _data);
+ CPPUNIT_ASSERT_EQUAL(std::string("ElasticStrain1D"),
+ std::string(_data->matType));
+} // setUp
+
+// ----------------------------------------------------------------------
+// Tear down testing data.
+void
+pylith::feassemble::TestElasticityImplicit1DQuadratic::tearDown(void)
+{ // tearDown
+ delete _data;
+ delete _quadrature;
+ delete _material;
+} // tearDown
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.hh 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.hh 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,61 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestElasticityImplicit1DQuadratic.hh
+ *
+ * @brief C++ TestElasticityImplicit object
+ *
+ * C++ unit testing for ElasticityImplicit with 1-D quadratic cells.
+ */
+
+#if !defined(pylith_feassemble_testelasticityimplicit1dquadratic_hh)
+#define pylith_feassemble_testelasticityimplicit1dquadratic_hh
+
+#include "TestElasticityImplicit.hh" // ISA TestElasticityImplicit
+
+/// Namespace for pylith package
+namespace pylith {
+ namespace feassemble {
+ class TestElasticityImplicit1DQuadratic;
+ } // feassemble
+} // pylith
+
+/// C++ unit testing for ElasticityImplicit
+class pylith::feassemble::TestElasticityImplicit1DQuadratic :
+ public TestElasticityImplicit
+{ // class TestElasticityImplicit1DQuadratic
+
+ // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+ CPPUNIT_TEST_SUITE( TestElasticityImplicit1DQuadratic );
+
+ CPPUNIT_TEST( testUpdateState );
+ CPPUNIT_TEST( testIntegrateResidual );
+ CPPUNIT_TEST( testIntegrateJacobian );
+
+ CPPUNIT_TEST_SUITE_END();
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Setup testing data.
+ void setUp(void);
+
+ /// Tear down testing data.
+ void tearDown(void);
+
+}; // class TestElasticityImplicit1DQuadratic
+
+#endif // pylith_feassemble_testelasticityimplicit1dquadratic_hh
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,50 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestElasticityImplicit2DLinear.hh" // Implementation of class methods
+
+#include "data/ElasticityImplicitData2DLinear.hh"
+
+#include "pylith/feassemble/Quadrature2D.hh" // USES Quadrature2D
+#include "pylith/materials/ElasticPlaneStrain.hh" // USES ElasticPlaneStrain
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit2DLinear );
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicit2DLinear::setUp(void)
+{ // setUp
+ _data = new ElasticityImplicitData2DLinear();
+ _quadrature = new Quadrature2D();
+ _material = new materials::ElasticPlaneStrain;
+
+ CPPUNIT_ASSERT(0 != _data);
+ CPPUNIT_ASSERT_EQUAL(std::string("ElasticPlaneStrain"),
+ std::string(_data->matType));
+} // setUp
+
+// ----------------------------------------------------------------------
+// Tear down testing data.
+void
+pylith::feassemble::TestElasticityImplicit2DLinear::tearDown(void)
+{ // tearDown
+ delete _data;
+ delete _quadrature;
+ delete _material;
+} // tearDown
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.hh 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DLinear.hh 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,61 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestElasticityImplicit2DLinear.hh
+ *
+ * @brief C++ TestElasticityImplicit object
+ *
+ * C++ unit testing for ElasticityImplicit with 1-D linear cells.
+ */
+
+#if !defined(pylith_feassemble_testelasticityimplicit2dlinear_hh)
+#define pylith_feassemble_testelasticityimplicit2dlinear_hh
+
+#include "TestElasticityImplicit.hh" // ISA TestElasticityImplicit
+
+/// Namespace for pylith package
+namespace pylith {
+ namespace feassemble {
+ class TestElasticityImplicit2DLinear;
+ } // feassemble
+} // pylith
+
+/// C++ unit testing for ElasticityImplicit
+class pylith::feassemble::TestElasticityImplicit2DLinear :
+ public TestElasticityImplicit
+{ // class TestElasticityImplicit2DLinear
+
+ // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+ CPPUNIT_TEST_SUITE( TestElasticityImplicit2DLinear );
+
+ CPPUNIT_TEST( testUpdateState );
+ CPPUNIT_TEST( testIntegrateResidual );
+ CPPUNIT_TEST( testIntegrateJacobian );
+
+ CPPUNIT_TEST_SUITE_END();
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Setup testing data.
+ void setUp(void);
+
+ /// Tear down testing data.
+ void tearDown(void);
+
+}; // class TestElasticityImplicit2DLinear
+
+#endif // pylith_feassemble_testelasticityimplicit2dlinear_hh
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,50 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestElasticityImplicit2DQuadratic.hh" // Implementation of class methods
+
+#include "data/ElasticityImplicitData2DQuadratic.hh"
+
+#include "pylith/feassemble/Quadrature2D.hh" // USES Quadrature2D
+#include "pylith/materials/ElasticPlaneStrain.hh" // USES ElasticPlaneStrain
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit2DQuadratic );
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicit2DQuadratic::setUp(void)
+{ // setUp
+ _data = new ElasticityImplicitData2DQuadratic();
+ _quadrature = new Quadrature2D();
+ _material = new materials::ElasticPlaneStrain;
+
+ CPPUNIT_ASSERT(0 != _data);
+ CPPUNIT_ASSERT_EQUAL(std::string("ElasticPlaneStrain"),
+ std::string(_data->matType));
+} // setUp
+
+// ----------------------------------------------------------------------
+// Tear down testing data.
+void
+pylith::feassemble::TestElasticityImplicit2DQuadratic::tearDown(void)
+{ // tearDown
+ delete _data;
+ delete _quadrature;
+ delete _material;
+} // tearDown
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.hh 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.hh 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,61 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestElasticityImplicit2DQuadratic.hh
+ *
+ * @brief C++ TestElasticityImplicit object
+ *
+ * C++ unit testing for ElasticityImplicit with 2-D quadratic cells.
+ */
+
+#if !defined(pylith_feassemble_testelasticityimplicit2dquadratic_hh)
+#define pylith_feassemble_testelasticityimplicit2dquadratic_hh
+
+#include "TestElasticityImplicit.hh" // ISA TestElasticityImplicit
+
+/// Namespace for pylith package
+namespace pylith {
+ namespace feassemble {
+ class TestElasticityImplicit2DQuadratic;
+ } // feassemble
+} // pylith
+
+/// C++ unit testing for ElasticityImplicit
+class pylith::feassemble::TestElasticityImplicit2DQuadratic :
+ public TestElasticityImplicit
+{ // class TestElasticityImplicit2DQuadratic
+
+ // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+ CPPUNIT_TEST_SUITE( TestElasticityImplicit2DQuadratic );
+
+ CPPUNIT_TEST( testUpdateState );
+ CPPUNIT_TEST( testIntegrateResidual );
+ CPPUNIT_TEST( testIntegrateJacobian );
+
+ CPPUNIT_TEST_SUITE_END();
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Setup testing data.
+ void setUp(void);
+
+ /// Tear down testing data.
+ void tearDown(void);
+
+}; // class TestElasticityImplicit2DQuadratic
+
+#endif // pylith_feassemble_testelasticityimplicit2dquadratic_hh
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,50 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestElasticityImplicit3DLinear.hh" // Implementation of class methods
+
+#include "data/ElasticityImplicitData3DLinear.hh"
+
+#include "pylith/feassemble/Quadrature3D.hh" // USES Quadrature3D
+#include "pylith/materials/ElasticIsotropic3D.hh" // USES ElasticIsotropic3D
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit3DLinear );
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicit3DLinear::setUp(void)
+{ // setUp
+ _data = new ElasticityImplicitData3DLinear();
+ _quadrature = new Quadrature3D();
+ _material = new materials::ElasticIsotropic3D;
+
+ CPPUNIT_ASSERT(0 != _data);
+ CPPUNIT_ASSERT_EQUAL(std::string("ElasticIsotropic3D"),
+ std::string(_data->matType));
+} // setUp
+
+// ----------------------------------------------------------------------
+// Tear down testing data.
+void
+pylith::feassemble::TestElasticityImplicit3DLinear::tearDown(void)
+{ // tearDown
+ delete _data;
+ delete _quadrature;
+ delete _material;
+} // tearDown
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.hh 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DLinear.hh 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,61 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestElasticityImplicit3DLinear.hh
+ *
+ * @brief C++ TestElasticityImplicit object
+ *
+ * C++ unit testing for ElasticityImplicit with 1-D linear cells.
+ */
+
+#if !defined(pylith_feassemble_testelasticityimplicit3dlinear_hh)
+#define pylith_feassemble_testelasticityimplicit3dlinear_hh
+
+#include "TestElasticityImplicit.hh" // ISA TestElasticityImplicit
+
+/// Namespace for pylith package
+namespace pylith {
+ namespace feassemble {
+ class TestElasticityImplicit3DLinear;
+ } // feassemble
+} // pylith
+
+/// C++ unit testing for ElasticityImplicit
+class pylith::feassemble::TestElasticityImplicit3DLinear :
+ public TestElasticityImplicit
+{ // class TestElasticityImplicit3DLinear
+
+ // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+ CPPUNIT_TEST_SUITE( TestElasticityImplicit3DLinear );
+
+ CPPUNIT_TEST( testUpdateState );
+ CPPUNIT_TEST( testIntegrateResidual );
+ CPPUNIT_TEST( testIntegrateJacobian );
+
+ CPPUNIT_TEST_SUITE_END();
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Setup testing data.
+ void setUp(void);
+
+ /// Tear down testing data.
+ void tearDown(void);
+
+}; // class TestElasticityImplicit3DLinear
+
+#endif // pylith_feassemble_testelasticityimplicit3dlinear_hh
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,50 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+#include <portinfo>
+
+#include "TestElasticityImplicit3DQuadratic.hh" // Implementation of class methods
+
+#include "data/ElasticityImplicitData3DQuadratic.hh"
+
+#include "pylith/feassemble/Quadrature3D.hh" // USES Quadrature3D
+#include "pylith/materials/ElasticIsotropic3D.hh" // USES ElasticIsotropic3D
+
+// ----------------------------------------------------------------------
+CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestElasticityImplicit3DQuadratic );
+
+// ----------------------------------------------------------------------
+// Setup testing data.
+void
+pylith::feassemble::TestElasticityImplicit3DQuadratic::setUp(void)
+{ // setUp
+ _data = new ElasticityImplicitData3DQuadratic();
+ _quadrature = new Quadrature3D();
+ _material = new materials::ElasticIsotropic3D;
+
+ CPPUNIT_ASSERT(0 != _data);
+ CPPUNIT_ASSERT_EQUAL(std::string("ElasticIsotropic3D"),
+ std::string(_data->matType));
+} // setUp
+
+// ----------------------------------------------------------------------
+// Tear down testing data.
+void
+pylith::feassemble::TestElasticityImplicit3DQuadratic::tearDown(void)
+{ // tearDown
+ delete _data;
+ delete _quadrature;
+ delete _material;
+} // tearDown
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.hh 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.hh 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,61 @@
+// -*- C++ -*-
+//
+// ----------------------------------------------------------------------
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ----------------------------------------------------------------------
+//
+
+/**
+ * @file unittests/libtests/feassemble/TestElasticityImplicit3DQuadratic.hh
+ *
+ * @brief C++ TestElasticityImplicit object
+ *
+ * C++ unit testing for ElasticityImplicit with 3-D quadratic cells.
+ */
+
+#if !defined(pylith_feassemble_testelasticityimplicit3dquadratic_hh)
+#define pylith_feassemble_testelasticityimplicit3dquadratic_hh
+
+#include "TestElasticityImplicit.hh" // ISA TestElasticityImplicit
+
+/// Namespace for pylith package
+namespace pylith {
+ namespace feassemble {
+ class TestElasticityImplicit3DQuadratic;
+ } // feassemble
+} // pylith
+
+/// C++ unit testing for ElasticityImplicit
+class pylith::feassemble::TestElasticityImplicit3DQuadratic :
+ public TestElasticityImplicit
+{ // class TestElasticityImplicit3DQuadratic
+
+ // CPPUNIT TEST SUITE /////////////////////////////////////////////////
+ CPPUNIT_TEST_SUITE( TestElasticityImplicit3DQuadratic );
+
+ CPPUNIT_TEST( testUpdateState );
+ CPPUNIT_TEST( testIntegrateResidual );
+ CPPUNIT_TEST( testIntegrateJacobian );
+
+ CPPUNIT_TEST_SUITE_END();
+
+ // PUBLIC METHODS /////////////////////////////////////////////////////
+public :
+
+ /// Setup testing data.
+ void setUp(void);
+
+ /// Tear down testing data.
+ void tearDown(void);
+
+}; // class TestElasticityImplicit3DQuadratic
+
+#endif // pylith_feassemble_testelasticityimplicit3dquadratic_hh
+
+
+// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia1D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia1D.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia1D.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -1,172 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestIntegratorInertia1D.hh" // Implementation of class methods
-
-#include "pylith/feassemble/IntegratorInertia.hh"
-#include "pylith/feassemble/Quadrature1D.hh"
-
-#include "data/IntegratorDataInertia1DLinear.hh"
-#include "data/IntegratorDataInertia1DQuadratic.hh"
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestIntegratorInertia1D );
-
-// ----------------------------------------------------------------------
-// Test constructor
-void
-pylith::feassemble::TestIntegratorInertia1D::testConstructor(void)
-{ // testConstructor
- IntegratorInertia integrator;
-} // testConstructor
-
-// ----------------------------------------------------------------------
-// Test integrateAction() w/linear basis fns
-void
-pylith::feassemble::TestIntegratorInertia1D::testActionLinear(void)
-{ // testActionLinear
- IntegratorDataInertia1DLinear data;
-
- Quadrature1D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrateAction(&integrator, data);
-} // testActionLinear
-
-// ----------------------------------------------------------------------
-// Test integrate() w/linear basis fns
-void
-pylith::feassemble::TestIntegratorInertia1D::testIntegrateLinear(void)
-{ // testIntegrateLinear
- IntegratorDataInertia1DLinear data;
-
- Quadrature1D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrate(&integrator, data);
-} // testIntegrateLinear
-
-// ----------------------------------------------------------------------
-// Test integrateLumped() w/linear basis fns
-void
-pylith::feassemble::TestIntegratorInertia1D::testLumpedLinear(void)
-{ // testLumpedLinear
- IntegratorDataInertia1DLinear data;
-
- Quadrature1D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrateLumped(&integrator, data);
-} // testLumpedLinear
-
-// ----------------------------------------------------------------------
-// Test integrateAction() w/quadratic basis fns
-void
-pylith::feassemble::TestIntegratorInertia1D::testActionQuadratic(void)
-{ // testActionQuadratic
- IntegratorDataInertia1DQuadratic data;
-
- Quadrature1D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrateAction(&integrator, data);
-} // testActionQuadratic
-
-// ----------------------------------------------------------------------
-// Test integrate() w/quadratic basis fns
-void
-pylith::feassemble::TestIntegratorInertia1D::testIntegrateQuadratic(void)
-{ // testIntegrateQuadratic
- IntegratorDataInertia1DQuadratic data;
-
- Quadrature1D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrate(&integrator, data);
-} // testIntegrateQuadratic
-
-// ----------------------------------------------------------------------
-// Test integrateLumped() w/quadratic basis fns
-void
-pylith::feassemble::TestIntegratorInertia1D::testLumpedQuadratic(void)
-{ // testLumpedQuadratic
- IntegratorDataInertia1DQuadratic data;
-
- Quadrature1D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrateLumped(&integrator, data);
-} // testLumpedQuadratic
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia1D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia1D.hh 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia1D.hh 2007-06-01 00:34:41 UTC (rev 7025)
@@ -1,77 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestIntegratorInertia1D.hh
- *
- * @brief C++ TestIntegratorInertia1D object
- *
- * C++ unit testing for IntegratorInertia.
- */
-
-#if !defined(pylith_feassemble_testintegratorinertia1d_hh)
-#define pylith_feassemble_testintegratorinertia1d_hh
-
-#include "TestIntegratorInertia.hh"
-
-/// Namespace for pylith package
-namespace pylith {
- namespace feassemble {
- class TestIntegratorInertia1D;
- } // feassemble
-} // pylith
-
-/// C++ unit testing for IntegratorInertia1D
-class pylith::feassemble::TestIntegratorInertia1D :
- public TestIntegratorInertia
-{ // class TestIntegratorInertia1D
-
- // CPPUNIT TEST SUITE /////////////////////////////////////////////////
- CPPUNIT_TEST_SUITE( TestIntegratorInertia1D );
- CPPUNIT_TEST( testConstructor );
- CPPUNIT_TEST( testActionLinear );
- CPPUNIT_TEST( testIntegrateLinear );
- CPPUNIT_TEST( testLumpedLinear );
- CPPUNIT_TEST( testActionQuadratic );
- CPPUNIT_TEST( testIntegrateQuadratic );
- CPPUNIT_TEST( testLumpedQuadratic );
- CPPUNIT_TEST_SUITE_END();
-
- // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
- /// Test constructor
- void testConstructor(void);
-
- /// Test integrateAction() w/linear basis fns
- void testActionLinear(void);
-
- /// Test integrate() w/linear basis fns
- void testIntegrateLinear(void);
-
- /// Test integrateLumped() w/linear basis fns
- void testLumpedLinear(void);
-
- /// Test integrateAction() w/quadratic basis fns
- void testActionQuadratic(void);
-
- /// Test integrate() w/quadratic basis fns
- void testIntegrateQuadratic(void);
-
- /// Test integrateLumped() w/quadratic basis fns
- void testLumpedQuadratic(void);
-
-}; // class TestIntegratorInertia1D
-
-#endif // pylith_feassemble_testintegratorinertia1d_hh
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia2D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia2D.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia2D.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -1,234 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestIntegratorInertia2D.hh" // Implementation of class methods
-
-#include "pylith/feassemble/IntegratorInertia.hh"
-#include "pylith/feassemble/Quadrature2Din3D.hh"
-
-#include "data/IntegratorDataInertia2Din3DOne.hh"
-#include "data/IntegratorDataInertia2Din3DTwo.hh"
-#include "data/IntegratorDataInertia2Din3DThree.hh"
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestIntegratorInertia2D );
-
-// ----------------------------------------------------------------------
-// Test integrateAction() w/linear basis fns (1 cell)
-void
-pylith::feassemble::TestIntegratorInertia2D::testActionOne(void)
-{ // testActionOne
- IntegratorDataInertia2Din3DOne data;
-
- Quadrature2Din3D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrateAction(&integrator, data);
-} // testActionLinear
-
-// ----------------------------------------------------------------------
-// Test integrate() w/linear basis fns (1 cell)
-void
-pylith::feassemble::TestIntegratorInertia2D::testIntegrateOne(void)
-{ // testIntegrateOne
- IntegratorDataInertia2Din3DOne data;
-
- Quadrature2Din3D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrate(&integrator, data);
-} // testIntegrateLinear
-
-// ----------------------------------------------------------------------
-// Test integrateLumped() w/linear basis fns (1 cell)
-void
-pylith::feassemble::TestIntegratorInertia2D::testLumpedOne(void)
-{ // testLumpedOne
- IntegratorDataInertia2Din3DOne data;
-
- Quadrature2Din3D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrateLumped(&integrator, data);
-} // testLumpedLinear
-
-// ----------------------------------------------------------------------
-// Test integrateAction() w/linear basis fns (2 cells sharing 1 vertex)
-void
-pylith::feassemble::TestIntegratorInertia2D::testActionOverlap1(void)
-{ // testActionOverlap1
- IntegratorDataInertia2Din3DTwo data;
-
- Quadrature2Din3D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrateAction(&integrator, data);
-} // testActionOverlap1
-
-// ----------------------------------------------------------------------
-// Test integrateAction() w/linear basis fns (2 cells sharing 1 vertex)
-void
-pylith::feassemble::TestIntegratorInertia2D::testIntegrateOverlap1(void)
-{ // testIntegrateOverlap1
- IntegratorDataInertia2Din3DTwo data;
-
- Quadrature2Din3D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrate(&integrator, data);
-} // testIntegrateOverlap1
-
-// ----------------------------------------------------------------------
-// Test integrateLumped() w/linear basis fns (2 cells sharing 1 vertex)
-void
-pylith::feassemble::TestIntegratorInertia2D::testLumpedOverlap1(void)
-{ // testLumpedOverlap1
- IntegratorDataInertia2Din3DTwo data;
-
- Quadrature2Din3D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrateLumped(&integrator, data);
-} // testLumpedOverlap1
-
-// ----------------------------------------------------------------------
-// Test integrateAction() w/linear basis fns (2 cells sharing 2 vertices)
-void
-pylith::feassemble::TestIntegratorInertia2D::testActionOverlap2(void)
-{ // testActionOverlap2
- IntegratorDataInertia2Din3DThree data;
-
- Quadrature2Din3D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrateAction(&integrator, data);
-} // testActionOverlap2
-
-// ----------------------------------------------------------------------
-// Test integrate() w/linear basis fns (2 cells sharing 2 vertices)
-void
-pylith::feassemble::TestIntegratorInertia2D::testIntegrateOverlap2(void)
-{ // testIntegrateOverlap2
- IntegratorDataInertia2Din3DThree data;
-
- Quadrature2Din3D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrate(&integrator, data);
-} // testIntegrateOverlap2
-
-// ----------------------------------------------------------------------
-// Test integrateLumped() w/linear basis fns (2 cells sharing 2 vertices)
-void
-pylith::feassemble::TestIntegratorInertia2D::testLumpedOverlap2(void)
-{ // testLumpedOverlap2
- IntegratorDataInertia2Din3DThree data;
-
- Quadrature2Din3D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrateLumped(&integrator, data);
-} // testLumpedOverlap2
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia2D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia2D.hh 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia2D.hh 2007-06-01 00:34:41 UTC (rev 7025)
@@ -1,89 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestIntegratorInertia2D.hh
- *
- * @brief C++ TestIntegratorInertia2D object
- *
- * C++ unit testing for IntegratorInertia.
- */
-
-#if !defined(pylith_feassemble_testintegratorinertia2d_hh)
-#define pylith_feassemble_testintegratorinertia2d_hh
-
-#include "TestIntegratorInertia.hh"
-
-/// Namespace for pylith package
-namespace pylith {
- namespace feassemble {
- class TestIntegratorInertia2D;
- } // feassemble
-} // pylith
-
-/// C++ unit testing for IntegratorInertia2D
-class pylith::feassemble::TestIntegratorInertia2D :
- public TestIntegratorInertia
-{ // class TestIntegratorInertia2D
-
- // CPPUNIT TEST SUITE /////////////////////////////////////////////////
- CPPUNIT_TEST_SUITE( TestIntegratorInertia2D );
-
- CPPUNIT_TEST( testActionOne );
- CPPUNIT_TEST( testIntegrateOne );
- CPPUNIT_TEST( testLumpedOne );
-
- CPPUNIT_TEST( testActionOverlap1 );
- CPPUNIT_TEST( testIntegrateOverlap1 );
- CPPUNIT_TEST( testLumpedOverlap1 );
-
- CPPUNIT_TEST( testActionOverlap2 );
- CPPUNIT_TEST( testIntegrateOverlap2 );
- CPPUNIT_TEST( testLumpedOverlap2 );
-
- CPPUNIT_TEST_SUITE_END();
-
- // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
- /// Test integrateAction() w/linear basis fns (1 cell)
- void testActionOne(void);
-
- /// Test integrate() w/linear basis fns (1 cell)
- void testIntegrateOne(void);
-
- /// Test integrateLumped() w/linear basis fns (1 cell)
- void testLumpedOne(void);
-
- /// Test integrateAction() w/linear basis fns (2 cells sharing 1 vertex)
- void testActionOverlap1(void);
-
- /// Test integrate() w/linear basis fns (2 cells sharing 1 vertex)
- void testIntegrateOverlap1(void);
-
- /// Test integrateLumped() w/linear basis fns (2 cells sharing 1 vertex)
- void testLumpedOverlap1(void);
-
- /// Test integrateAction() w/linear basis fns (2 cells sharing 2 vertices)
- void testActionOverlap2(void);
-
- /// Test integrate() w/linear basis fns (2 cells sharing 2 vertices)
- void testIntegrateOverlap2(void);
-
- /// Test integrateLumped() w/linear basis fns (2 cells sharing 2 vertices)
- void testLumpedOverlap2(void);
-
-}; // class TestIntegratorInertia2D
-
-#endif // pylith_feassemble_testintegratorinertia2d_hh
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia3D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia3D.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia3D.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -1,164 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-#include <portinfo>
-
-#include "TestIntegratorInertia3D.hh" // Implementation of class methods
-
-#include "pylith/feassemble/IntegratorInertia.hh"
-#include "pylith/feassemble/Quadrature3D.hh"
-
-#include "data/IntegratorDataInertia3DLinear.hh"
-#include "data/IntegratorDataInertia3DQuadratic.hh"
-
-// ----------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_REGISTRATION( pylith::feassemble::TestIntegratorInertia3D );
-
-// ----------------------------------------------------------------------
-// Test integrateAction() w/linear basis fns
-void
-pylith::feassemble::TestIntegratorInertia3D::testActionLinear(void)
-{ // testActionLinear
- IntegratorDataInertia3DLinear data;
-
- Quadrature3D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrateAction(&integrator, data);
-} // testActionLinear
-
-// ----------------------------------------------------------------------
-// Test integrate() w/linear basis fns
-void
-pylith::feassemble::TestIntegratorInertia3D::testIntegrateLinear(void)
-{ // testIntegrateLinear
- IntegratorDataInertia3DLinear data;
-
- Quadrature3D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrate(&integrator, data);
-} // testIntegrateLinear
-
-// ----------------------------------------------------------------------
-// Test integrateLumped() w/linear basis fns
-void
-pylith::feassemble::TestIntegratorInertia3D::testLumpedLinear(void)
-{ // testLumpedLinear
- IntegratorDataInertia3DLinear data;
-
- Quadrature3D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrateLumped(&integrator, data);
-} // testLumpedLinear
-
-// ----------------------------------------------------------------------
-// Test integrateAction() w/quadratic basis fns
-void
-pylith::feassemble::TestIntegratorInertia3D::testActionQuadratic(void)
-{ // testActionQuadratic
- IntegratorDataInertia3DQuadratic data;
-
- Quadrature3D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrateAction(&integrator, data);
-} // testActionQuadratic
-
-// ----------------------------------------------------------------------
-// Test integrate() w/quadratic basis fns
-void
-pylith::feassemble::TestIntegratorInertia3D::testIntegrateQuadratic(void)
-{ // testIntegrateQuadratic
- IntegratorDataInertia3DQuadratic data;
-
- Quadrature3D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrate(&integrator, data);
-} // testIntegrateQuadratic
-
-// ----------------------------------------------------------------------
-// Test integrateLumped() w/quadratic basis fns
-void
-pylith::feassemble::TestIntegratorInertia3D::testLumpedQuadratic(void)
-{ // testLumpedQuadratic
- IntegratorDataInertia3DQuadratic data;
-
- Quadrature3D q;
- q.initialize(data.basis,
- data.basisDeriv,
- data.quadPts,
- data.quadWts,
- data.cellDim,
- data.numCorners,
- data.numQuadPts,
- data.spaceDim);
-
- IntegratorInertia integrator;
- integrator.quadrature(&q);
-
- _testIntegrateLumped(&integrator, data);
-} // testLumpedQuadratic
-
-// End of file
Deleted: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia3D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia3D.hh 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestIntegratorInertia3D.hh 2007-06-01 00:34:41 UTC (rev 7025)
@@ -1,76 +0,0 @@
-// -*- C++ -*-
-//
-// ----------------------------------------------------------------------
-//
-// Brad T. Aagaard
-// U.S. Geological Survey
-//
-// {LicenseText}
-//
-// ----------------------------------------------------------------------
-//
-
-/**
- * @file unittests/libtests/feassemble/TestIntegratorInertia3D.hh
- *
- * @brief C++ TestIntegratorInertia3D object
- *
- * C++ unit testing for IntegratorInertia.
- */
-
-#if !defined(pylith_feassemble_testintegratorinertia3d_hh)
-#define pylith_feassemble_testintegratorinertia3d_hh
-
-#include "TestIntegratorInertia.hh"
-
-/// Namespace for pylith package
-namespace pylith {
- namespace feassemble {
- class TestIntegratorInertia3D;
- } // feassemble
-} // pylith
-
-/// C++ unit testing for IntegratorInertia3D
-class pylith::feassemble::TestIntegratorInertia3D :
- public TestIntegratorInertia
-{ // class TestIntegratorInertia3D
-
- // CPPUNIT TEST SUITE /////////////////////////////////////////////////
- CPPUNIT_TEST_SUITE( TestIntegratorInertia3D );
-
- CPPUNIT_TEST( testActionLinear );
- CPPUNIT_TEST( testIntegrateLinear );
- CPPUNIT_TEST( testLumpedLinear );
-
- CPPUNIT_TEST( testActionQuadratic );
- CPPUNIT_TEST( testIntegrateQuadratic );
- CPPUNIT_TEST( testLumpedQuadratic );
-
- CPPUNIT_TEST_SUITE_END();
-
- // PUBLIC METHODS /////////////////////////////////////////////////////
-public :
-
- /// Test integrateAction() w/linear basis fns
- void testActionLinear(void);
-
- /// Test integrate() w/linear basis fns
- void testIntegrateLinear(void);
-
- /// Test integrateLumped() w/linear basis fns
- void testLumpedLinear(void);
-
- /// Test integrateAction() w/quadratic basis fns
- void testActionQuadratic(void);
-
- /// Test integrate() w/quadratic basis fns
- void testIntegrateQuadratic(void);
-
- /// Test integrateLumped() w/quadratic basis fns
- void testLumpedQuadratic(void);
-
-}; // class TestIntegratorInertia3D
-
-#endif // pylith_feassemble_testintegratorinertia3d_hh
-
-// End of file
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DLinear.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -84,9 +84,9 @@
};
const double pylith::feassemble::ElasticityExplicitData2DLinear::_valsResidual[] = {
- -4.45506111e+10, -3.13529028e+10,
- 3.95993889e+10, 4.94709722e+09,
- 4.94938889e+09, 2.63970972e+10,
+ -4.20756111e+10, -2.88779028e+10,
+ 3.95993889e+10, 2.47209722e+09,
+ 2.47438889e+09, 2.63970972e+10,
};
const double pylith::feassemble::ElasticityExplicitData2DLinear::_valsJacobian[] = {
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData2DQuadratic.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -121,12 +121,12 @@
};
const double pylith::feassemble::ElasticityExplicitData2DQuadratic::_valsResidual[] = {
- -2.31996617e+10, 2.89043296e+09,
- -1.24763329e+11, -6.07499338e+10,
- -4.35147872e+10, -9.72849436e+10,
- 3.06207774e+11, 4.04154283e+11,
- -4.20118462e+11, -4.84409983e+11,
- 3.05400760e+11, 2.35408162e+11,
+ -2.15070691e+10, 4.58302555e+09,
+ -1.24763329e+11, -3.03758597e+10,
+ -2.17573798e+10, -9.72849436e+10,
+ 2.25394811e+11, 3.72087616e+11,
+ -3.39305499e+11, -4.12213687e+11,
+ 2.81950760e+11, 1.63211865e+11,
};
const double pylith::feassemble::ElasticityExplicitData2DQuadratic::_valsJacobian[] = {
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DLinear.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -68,14 +68,14 @@
};
const double pylith::feassemble::ElasticityExplicitData3DLinear::_fieldTpdt[] = {
- 4.00000000e-01, 2.00000000e-01, -5.00000000e-01,
+ 3.00000000e-01, 2.00000000e-01, -5.00000000e-01,
-3.00000000e-01, -4.00000000e-01, -6.00000000e-01,
2.00000000e-01, 6.00000000e-01, 3.00000000e-01,
-6.00000000e-01, -1.00000000e-01, -3.00000000e-01,
};
const double pylith::feassemble::ElasticityExplicitData3DLinear::_fieldT[] = {
- 1.00000000e-01, 1.00000000e-01, -6.00000000e-01,
+ 8.00000000e-01, 1.00000000e-01, -6.00000000e-01,
-1.00000000e-01, -2.00000000e-01, -5.00000000e-01,
1.00000000e-01, 7.00000000e-01, 2.00000000e-01,
-5.00000000e-01, -0.00000000e+00, -2.00000000e-01,
@@ -89,10 +89,10 @@
};
const double pylith::feassemble::ElasticityExplicitData3DLinear::_valsResidual[] = {
- -6.45616813e+09, 3.87365044e+10, 2.90517478e+10,
- -6.45616812e+09, 4.84250438e+09, 8.06974781e+09,
- 4.84183188e+09, -3.22794956e+10, -1.12982522e+10,
- 8.06983188e+09, -1.12974956e+10, -2.58242522e+10,
+ -4.51909072e+10, 1.85615044e+10, 1.04907478e+10,
+ 2.74390928e+10, 8.07050438e+09, 9.68374781e+09,
+ 8.07109281e+09, -2.09814956e+10, -5.64925219e+09,
+ 9.68509281e+09, -5.64849563e+09, -1.45262522e+10,
};
const double pylith::feassemble::ElasticityExplicitData3DLinear::_valsJacobian[] = {
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitData3DQuadratic.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -164,16 +164,16 @@
};
const double pylith::feassemble::ElasticityExplicitData3DQuadratic::_valsResidual[] = {
- 1.84687210e+12, 5.70862959e+11, 2.80600256e+12,
- -1.31068344e+11, -2.48979010e+11, 1.54805758e+10,
- -7.37392773e+11, -2.72245362e+12, -2.96206199e+11,
- 1.09603429e+12, 6.31435717e+11, 2.06777127e+12,
- -1.66296306e+12, -1.95985880e+12, -4.07664833e+12,
- 1.82196155e+10, 2.99159565e+12, -6.71583673e+11,
- -8.56680206e+12, -7.43943766e+12, -5.67503563e+12,
- 6.00107219e+11, 1.86196321e+12, 7.80134346e+11,
- 1.95088530e+12, 4.62461427e+12, 6.22205519e+11,
- 5.58607418e+12, 1.69029148e+12, 4.42789859e+12,
+ 1.37303139e+12, 3.59478514e+11, 2.01772066e+12,
+ -1.31068344e+11, -1.24490591e+11, 7.74704496e+09,
+ -3.68695119e+11, -2.72245362e+12, -1.48103804e+11,
+ 5.48007226e+11, 3.15715495e+11, 2.06777127e+12,
+ -1.21553554e+12, -2.00599538e+12, -3.41366551e+12,
+ -1.41823397e+11, 2.78298871e+12, -2.96590241e+11,
+ -6.77814032e+12, -6.14553903e+12, -4.48612861e+12,
+ 4.50987749e+11, 1.95705297e+12, 3.90071124e+11,
+ 9.75436695e+11, 4.73813145e+12, 2.71900074e+11,
+ 5.28776613e+12, 8.45145678e+11, 3.58929700e+12,
};
const double pylith::feassemble::ElasticityExplicitData3DQuadratic::_valsJacobian[] = {
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicit.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicit.py 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicit.py 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,74 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file unittests/libtests/feassemble/data/ElasticityImplicit.py
+
+## @brief Python application for generating C++ data files for testing
+## C++ ElasticityImplicit object.
+
+from IntegratorElasticity import IntegratorElasticity
+
+import numpy
+
+# ----------------------------------------------------------------------
+
+# ElasticityImplicit class
+class ElasticityImplicit(IntegratorElasticity):
+ """
+ Python application for generating C++ data files for testing C++
+ ElasticityImplicit object.
+ """
+
+ # PUBLIC METHODS /////////////////////////////////////////////////////
+
+ def __init__(self, name="elasticityimplicit"):
+ """
+ Constructor.
+ """
+ IntegratorElasticity.__init__(self, name)
+ return
+
+
+ # PRIVATE METHODS ////////////////////////////////////////////////////
+
+ def _calculateResidual(self):
+ """
+ Calculate contribution to residual of operator for integrator.
+
+ {r} = -[K]{u(t)}
+ """
+ K = self._calculateStiffnessMat()
+
+ self.valsResidual = -numpy.dot(K, self.fieldT)
+ return
+
+
+ def _calculateJacobian(self):
+ """
+ Calculate contribution to Jacobian matrix of operator for integrator.
+
+ [A] = [K]
+ """
+ K = self._calculateStiffnessMat()
+
+ self.valsJacobian = K
+ return
+
+
+# MAIN /////////////////////////////////////////////////////////////////
+if __name__ == "__main__":
+
+ app = ElasticityImplicit()
+ app.run()
+
+
+# End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,124 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application elasticityimplicit.
+
+#include "ElasticityImplicitData1DLinear.hh"
+
+const int pylith::feassemble::ElasticityImplicitData1DLinear::_spaceDim = 1;
+
+const int pylith::feassemble::ElasticityImplicitData1DLinear::_cellDim = 1;
+
+const int pylith::feassemble::ElasticityImplicitData1DLinear::_numVertices = 2;
+
+const int pylith::feassemble::ElasticityImplicitData1DLinear::_numCells = 1;
+
+const int pylith::feassemble::ElasticityImplicitData1DLinear::_numBasis = 2;
+
+const int pylith::feassemble::ElasticityImplicitData1DLinear::_numQuadPts = 1;
+
+const char* pylith::feassemble::ElasticityImplicitData1DLinear::_matType = "ElasticStrain1D";
+
+const char* pylith::feassemble::ElasticityImplicitData1DLinear::_matDBFilename = "data/elasticstrain1d.spatialdb";
+
+const int pylith::feassemble::ElasticityImplicitData1DLinear::_matId = 0;
+
+const char* pylith::feassemble::ElasticityImplicitData1DLinear::_matLabel = "elastic strain 1-D";
+
+const double pylith::feassemble::ElasticityImplicitData1DLinear::_dt = 1.00000000e-02;
+
+const double pylith::feassemble::ElasticityImplicitData1DLinear::_vertices[] = {
+ -2.50000000e-01,
+ 2.00000000e+00,
+};
+
+const int pylith::feassemble::ElasticityImplicitData1DLinear::_cells[] = {
+0,1,
+};
+
+const double pylith::feassemble::ElasticityImplicitData1DLinear::_quadPts[] = {
+ 0.00000000e+00,
+};
+
+const double pylith::feassemble::ElasticityImplicitData1DLinear::_quadWts[] = {
+ 2.00000000e+00,
+};
+
+const double pylith::feassemble::ElasticityImplicitData1DLinear::_basis[] = {
+ 5.00000000e-01,
+ 5.00000000e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData1DLinear::_basisDeriv[] = {
+ -5.00000000e-01,
+ 5.00000000e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData1DLinear::_fieldTpdt[] = {
+ 1.20000000e+00,
+ 1.70000000e+00,
+};
+
+const double pylith::feassemble::ElasticityImplicitData1DLinear::_fieldT[] = {
+ 1.10000000e+00,
+ 1.50000000e+00,
+};
+
+const double pylith::feassemble::ElasticityImplicitData1DLinear::_fieldTmdt[] = {
+ 1.00000000e+00,
+ 1.30000000e+00,
+};
+
+const double pylith::feassemble::ElasticityImplicitData1DLinear::_valsResidual[] = {
+ 2.02500000e+10,
+ -2.02500000e+10,
+};
+
+const double pylith::feassemble::ElasticityImplicitData1DLinear::_valsJacobian[] = {
+ 5.06250000e+10,
+ -5.06250000e+10,
+ -5.06250000e+10,
+ 5.06250000e+10,
+};
+
+pylith::feassemble::ElasticityImplicitData1DLinear::ElasticityImplicitData1DLinear(void)
+{ // constructor
+ spaceDim = _spaceDim;
+ cellDim = _cellDim;
+ numVertices = _numVertices;
+ numCells = _numCells;
+ numBasis = _numBasis;
+ numQuadPts = _numQuadPts;
+ matType = const_cast<char*>(_matType);
+ matDBFilename = const_cast<char*>(_matDBFilename);
+ matId = _matId;
+ matLabel = const_cast<char*>(_matLabel);
+ dt = _dt;
+ vertices = const_cast<double*>(_vertices);
+ cells = const_cast<int*>(_cells);
+ quadPts = const_cast<double*>(_quadPts);
+ quadWts = const_cast<double*>(_quadWts);
+ basis = const_cast<double*>(_basis);
+ basisDeriv = const_cast<double*>(_basisDeriv);
+ fieldTpdt = const_cast<double*>(_fieldTpdt);
+ fieldT = const_cast<double*>(_fieldT);
+ fieldTmdt = const_cast<double*>(_fieldTmdt);
+ valsResidual = const_cast<double*>(_valsResidual);
+ valsJacobian = const_cast<double*>(_valsJacobian);
+} // constructor
+
+pylith::feassemble::ElasticityImplicitData1DLinear::~ElasticityImplicitData1DLinear(void)
+{}
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.hh 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DLinear.hh 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,88 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application elasticityimplicit.
+
+#if !defined(pylith_feassemble_elasticityimplicitdata1dlinear_hh)
+#define pylith_feassemble_elasticityimplicitdata1dlinear_hh
+
+#include "IntegratorData.hh"
+
+namespace pylith {
+ namespace feassemble {
+ class ElasticityImplicitData1DLinear;
+ } // pylith
+} // feassemble
+
+class pylith::feassemble::ElasticityImplicitData1DLinear : public IntegratorData
+{
+
+public:
+
+ /// Constructor
+ ElasticityImplicitData1DLinear(void);
+
+ /// Destructor
+ ~ElasticityImplicitData1DLinear(void);
+
+private:
+
+ static const int _spaceDim;
+
+ static const int _cellDim;
+
+ static const int _numVertices;
+
+ static const int _numCells;
+
+ static const int _numBasis;
+
+ static const int _numQuadPts;
+
+ static const char* _matType;
+
+ static const char* _matDBFilename;
+
+ static const int _matId;
+
+ static const char* _matLabel;
+
+ static const double _dt;
+
+ static const double _vertices[];
+
+ static const int _cells[];
+
+ static const double _quadPts[];
+
+ static const double _quadWts[];
+
+ static const double _basis[];
+
+ static const double _basisDeriv[];
+
+ static const double _fieldTpdt[];
+
+ static const double _fieldT[];
+
+ static const double _fieldTmdt[];
+
+ static const double _valsResidual[];
+
+ static const double _valsJacobian[];
+
+};
+
+#endif // pylith_feassemble_elasticityimplicitdata1dlinear_hh
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,143 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application elasticityimplicit.
+
+#include "ElasticityImplicitData1DQuadratic.hh"
+
+const int pylith::feassemble::ElasticityImplicitData1DQuadratic::_spaceDim = 1;
+
+const int pylith::feassemble::ElasticityImplicitData1DQuadratic::_cellDim = 1;
+
+const int pylith::feassemble::ElasticityImplicitData1DQuadratic::_numVertices = 3;
+
+const int pylith::feassemble::ElasticityImplicitData1DQuadratic::_numCells = 1;
+
+const int pylith::feassemble::ElasticityImplicitData1DQuadratic::_numBasis = 3;
+
+const int pylith::feassemble::ElasticityImplicitData1DQuadratic::_numQuadPts = 2;
+
+const char* pylith::feassemble::ElasticityImplicitData1DQuadratic::_matType = "ElasticStrain1D";
+
+const char* pylith::feassemble::ElasticityImplicitData1DQuadratic::_matDBFilename = "data/elasticstrain1d.spatialdb";
+
+const int pylith::feassemble::ElasticityImplicitData1DQuadratic::_matId = 0;
+
+const char* pylith::feassemble::ElasticityImplicitData1DQuadratic::_matLabel = "elastic strain 1-D";
+
+const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_dt = 1.00000000e-02;
+
+const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_vertices[] = {
+ -2.50000000e-01,
+ 8.75000000e-01,
+ 2.00000000e+00,
+};
+
+const int pylith::feassemble::ElasticityImplicitData1DQuadratic::_cells[] = {
+0,1,2,
+};
+
+const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_quadPts[] = {
+ -5.77350269e-01,
+ 5.77350269e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_quadWts[] = {
+ 1.00000000e+00, 1.00000000e+00,
+};
+
+const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_basis[] = {
+ 4.55341801e-01,
+ 6.66666667e-01,
+ -1.22008468e-01,
+ -1.22008468e-01,
+ 6.66666667e-01,
+ 4.55341801e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_basisDeriv[] = {
+ -1.07735027e+00,
+ 1.15470054e+00,
+ -7.73502692e-02,
+ 7.73502692e-02,
+ -1.15470054e+00,
+ 1.07735027e+00,
+};
+
+const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_fieldTpdt[] = {
+ 1.20000000e+00,
+ 0.00000000e+00,
+ 1.70000000e+00,
+};
+
+const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_fieldT[] = {
+ 1.10000000e+00,
+ 1.00000000e-01,
+ 1.50000000e+00,
+};
+
+const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_fieldTmdt[] = {
+ 1.00000000e+00,
+ 1.00000000e-01,
+ 1.30000000e+00,
+};
+
+const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_valsResidual[] = {
+ -1.41750000e+11,
+ 3.24000000e+11,
+ -1.82250000e+11,
+};
+
+const double pylith::feassemble::ElasticityImplicitData1DQuadratic::_valsJacobian[] = {
+ 1.18125000e+11,
+ -1.35000000e+11,
+ 1.68750000e+10,
+ -1.35000000e+11,
+ 2.70000000e+11,
+ -1.35000000e+11,
+ 1.68750000e+10,
+ -1.35000000e+11,
+ 1.18125000e+11,
+};
+
+pylith::feassemble::ElasticityImplicitData1DQuadratic::ElasticityImplicitData1DQuadratic(void)
+{ // constructor
+ spaceDim = _spaceDim;
+ cellDim = _cellDim;
+ numVertices = _numVertices;
+ numCells = _numCells;
+ numBasis = _numBasis;
+ numQuadPts = _numQuadPts;
+ matType = const_cast<char*>(_matType);
+ matDBFilename = const_cast<char*>(_matDBFilename);
+ matId = _matId;
+ matLabel = const_cast<char*>(_matLabel);
+ dt = _dt;
+ vertices = const_cast<double*>(_vertices);
+ cells = const_cast<int*>(_cells);
+ quadPts = const_cast<double*>(_quadPts);
+ quadWts = const_cast<double*>(_quadWts);
+ basis = const_cast<double*>(_basis);
+ basisDeriv = const_cast<double*>(_basisDeriv);
+ fieldTpdt = const_cast<double*>(_fieldTpdt);
+ fieldT = const_cast<double*>(_fieldT);
+ fieldTmdt = const_cast<double*>(_fieldTmdt);
+ valsResidual = const_cast<double*>(_valsResidual);
+ valsJacobian = const_cast<double*>(_valsJacobian);
+} // constructor
+
+pylith::feassemble::ElasticityImplicitData1DQuadratic::~ElasticityImplicitData1DQuadratic(void)
+{}
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.hh 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData1DQuadratic.hh 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,88 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application elasticityimplicit.
+
+#if !defined(pylith_feassemble_elasticityimplicitdata1dquadratic_hh)
+#define pylith_feassemble_elasticityimplicitdata1dquadratic_hh
+
+#include "IntegratorData.hh"
+
+namespace pylith {
+ namespace feassemble {
+ class ElasticityImplicitData1DQuadratic;
+ } // pylith
+} // feassemble
+
+class pylith::feassemble::ElasticityImplicitData1DQuadratic : public IntegratorData
+{
+
+public:
+
+ /// Constructor
+ ElasticityImplicitData1DQuadratic(void);
+
+ /// Destructor
+ ~ElasticityImplicitData1DQuadratic(void);
+
+private:
+
+ static const int _spaceDim;
+
+ static const int _cellDim;
+
+ static const int _numVertices;
+
+ static const int _numCells;
+
+ static const int _numBasis;
+
+ static const int _numQuadPts;
+
+ static const char* _matType;
+
+ static const char* _matDBFilename;
+
+ static const int _matId;
+
+ static const char* _matLabel;
+
+ static const double _dt;
+
+ static const double _vertices[];
+
+ static const int _cells[];
+
+ static const double _quadPts[];
+
+ static const double _quadWts[];
+
+ static const double _basis[];
+
+ static const double _basisDeriv[];
+
+ static const double _fieldTpdt[];
+
+ static const double _fieldT[];
+
+ static const double _fieldTmdt[];
+
+ static const double _valsResidual[];
+
+ static const double _valsJacobian[];
+
+};
+
+#endif // pylith_feassemble_elasticityimplicitdata1dquadratic_hh
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,143 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application elasticityimplicit.
+
+#include "ElasticityImplicitData2DLinear.hh"
+
+const int pylith::feassemble::ElasticityImplicitData2DLinear::_spaceDim = 2;
+
+const int pylith::feassemble::ElasticityImplicitData2DLinear::_cellDim = 2;
+
+const int pylith::feassemble::ElasticityImplicitData2DLinear::_numVertices = 3;
+
+const int pylith::feassemble::ElasticityImplicitData2DLinear::_numCells = 1;
+
+const int pylith::feassemble::ElasticityImplicitData2DLinear::_numBasis = 3;
+
+const int pylith::feassemble::ElasticityImplicitData2DLinear::_numQuadPts = 1;
+
+const char* pylith::feassemble::ElasticityImplicitData2DLinear::_matType = "ElasticPlaneStrain";
+
+const char* pylith::feassemble::ElasticityImplicitData2DLinear::_matDBFilename = "data/elasticplanestrain.spatialdb";
+
+const int pylith::feassemble::ElasticityImplicitData2DLinear::_matId = 0;
+
+const char* pylith::feassemble::ElasticityImplicitData2DLinear::_matLabel = "elastic strain 2-D";
+
+const double pylith::feassemble::ElasticityImplicitData2DLinear::_dt = 1.00000000e-02;
+
+const double pylith::feassemble::ElasticityImplicitData2DLinear::_vertices[] = {
+ 2.00000000e-01, -4.00000000e-01,
+ 3.00000000e-01, 5.00000000e-01,
+ -1.00000000e+00, -2.00000000e-01,
+};
+
+const int pylith::feassemble::ElasticityImplicitData2DLinear::_cells[] = {
+0,1,2,
+};
+
+const double pylith::feassemble::ElasticityImplicitData2DLinear::_quadPts[] = {
+ 3.33333333e-01, 3.33333333e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData2DLinear::_quadWts[] = {
+ 5.00000000e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData2DLinear::_basis[] = {
+ 3.33333333e-01, 3.33333333e-01,
+ 3.33333333e-01,};
+
+const double pylith::feassemble::ElasticityImplicitData2DLinear::_basisDeriv[] = {
+ -1.00000000e+00, -1.00000000e+00,
+ 1.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 1.00000000e+00,
+};
+
+const double pylith::feassemble::ElasticityImplicitData2DLinear::_fieldTpdt[] = {
+ 1.90000000e+00, -9.00000000e-01,
+ 1.40000000e+00, 1.50000000e+00,
+ 5.00000000e-01, -9.00000000e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData2DLinear::_fieldT[] = {
+ 1.60000000e+00, -8.00000000e-01,
+ 9.00000000e-01, 7.00000000e-01,
+ -2.00000000e-01, -1.10000000e+00,
+};
+
+const double pylith::feassemble::ElasticityImplicitData2DLinear::_fieldTmdt[] = {
+ 8.00000000e-01, 1.00000000e-01,
+ 5.00000000e-01, 3.00000000e-01,
+ -1.00000000e-01, -6.00000000e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData2DLinear::_valsResidual[] = {
+ -4.20750000e+10, -2.88750000e+10,
+ 3.96000000e+10, 2.47500000e+09,
+ 2.47500000e+09, 2.64000000e+10,
+};
+
+const double pylith::feassemble::ElasticityImplicitData2DLinear::_valsJacobian[] = {
+ 5.77500000e+10, 2.47500000e+10,
+ -4.95000000e+10, -8.25000000e+09,
+ -8.25000000e+09, -1.65000000e+10,
+ 2.47500000e+10, 5.77500000e+10,
+ -1.65000000e+10, -8.25000000e+09,
+ -8.25000000e+09, -4.95000000e+10,
+ -4.95000000e+10, -1.65000000e+10,
+ 4.95000000e+10, 0.00000000e+00,
+ 0.00000000e+00, 1.65000000e+10,
+ -8.25000000e+09, -8.25000000e+09,
+ 0.00000000e+00, 8.25000000e+09,
+ 8.25000000e+09, 0.00000000e+00,
+ -8.25000000e+09, -8.25000000e+09,
+ 0.00000000e+00, 8.25000000e+09,
+ 8.25000000e+09, 0.00000000e+00,
+ -1.65000000e+10, -4.95000000e+10,
+ 1.65000000e+10, 0.00000000e+00,
+ 0.00000000e+00, 4.95000000e+10,
+};
+
+pylith::feassemble::ElasticityImplicitData2DLinear::ElasticityImplicitData2DLinear(void)
+{ // constructor
+ spaceDim = _spaceDim;
+ cellDim = _cellDim;
+ numVertices = _numVertices;
+ numCells = _numCells;
+ numBasis = _numBasis;
+ numQuadPts = _numQuadPts;
+ matType = const_cast<char*>(_matType);
+ matDBFilename = const_cast<char*>(_matDBFilename);
+ matId = _matId;
+ matLabel = const_cast<char*>(_matLabel);
+ dt = _dt;
+ vertices = const_cast<double*>(_vertices);
+ cells = const_cast<int*>(_cells);
+ quadPts = const_cast<double*>(_quadPts);
+ quadWts = const_cast<double*>(_quadWts);
+ basis = const_cast<double*>(_basis);
+ basisDeriv = const_cast<double*>(_basisDeriv);
+ fieldTpdt = const_cast<double*>(_fieldTpdt);
+ fieldT = const_cast<double*>(_fieldT);
+ fieldTmdt = const_cast<double*>(_fieldTmdt);
+ valsResidual = const_cast<double*>(_valsResidual);
+ valsJacobian = const_cast<double*>(_valsJacobian);
+} // constructor
+
+pylith::feassemble::ElasticityImplicitData2DLinear::~ElasticityImplicitData2DLinear(void)
+{}
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.hh 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DLinear.hh 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,88 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application elasticityimplicit.
+
+#if !defined(pylith_feassemble_elasticityimplicitdata2dlinear_hh)
+#define pylith_feassemble_elasticityimplicitdata2dlinear_hh
+
+#include "IntegratorData.hh"
+
+namespace pylith {
+ namespace feassemble {
+ class ElasticityImplicitData2DLinear;
+ } // pylith
+} // feassemble
+
+class pylith::feassemble::ElasticityImplicitData2DLinear : public IntegratorData
+{
+
+public:
+
+ /// Constructor
+ ElasticityImplicitData2DLinear(void);
+
+ /// Destructor
+ ~ElasticityImplicitData2DLinear(void);
+
+private:
+
+ static const int _spaceDim;
+
+ static const int _cellDim;
+
+ static const int _numVertices;
+
+ static const int _numCells;
+
+ static const int _numBasis;
+
+ static const int _numQuadPts;
+
+ static const char* _matType;
+
+ static const char* _matDBFilename;
+
+ static const int _matId;
+
+ static const char* _matLabel;
+
+ static const double _dt;
+
+ static const double _vertices[];
+
+ static const int _cells[];
+
+ static const double _quadPts[];
+
+ static const double _quadWts[];
+
+ static const double _basis[];
+
+ static const double _basisDeriv[];
+
+ static const double _fieldTpdt[];
+
+ static const double _fieldT[];
+
+ static const double _fieldTmdt[];
+
+ static const double _valsResidual[];
+
+ static const double _valsJacobian[];
+
+};
+
+#endif // pylith_feassemble_elasticityimplicitdata2dlinear_hh
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,237 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application elasticityimplicit.
+
+#include "ElasticityImplicitData2DQuadratic.hh"
+
+const int pylith::feassemble::ElasticityImplicitData2DQuadratic::_spaceDim = 2;
+
+const int pylith::feassemble::ElasticityImplicitData2DQuadratic::_cellDim = 2;
+
+const int pylith::feassemble::ElasticityImplicitData2DQuadratic::_numVertices = 6;
+
+const int pylith::feassemble::ElasticityImplicitData2DQuadratic::_numCells = 1;
+
+const int pylith::feassemble::ElasticityImplicitData2DQuadratic::_numBasis = 6;
+
+const int pylith::feassemble::ElasticityImplicitData2DQuadratic::_numQuadPts = 3;
+
+const char* pylith::feassemble::ElasticityImplicitData2DQuadratic::_matType = "ElasticPlaneStrain";
+
+const char* pylith::feassemble::ElasticityImplicitData2DQuadratic::_matDBFilename = "data/elasticplanestrain.spatialdb";
+
+const int pylith::feassemble::ElasticityImplicitData2DQuadratic::_matId = 0;
+
+const char* pylith::feassemble::ElasticityImplicitData2DQuadratic::_matLabel = "elastic strain 2-D";
+
+const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_dt = 1.00000000e-02;
+
+const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_vertices[] = {
+ -1.00000000e+00, -1.00000000e+00,
+ 1.00000000e+00, 2.00000000e-01,
+ -1.50000000e+00, 5.00000000e-01,
+ 0.00000000e+00, -6.00000000e-01,
+ 2.50000000e-01, 3.50000000e-01,
+ -1.25000000e+00, -2.50000000e-01,
+};
+
+const int pylith::feassemble::ElasticityImplicitData2DQuadratic::_cells[] = {
+0,1,2,3,4,5,
+};
+
+const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_quadPts[] = {
+ 6.66666667e-01, 1.66666667e-01,
+ 1.66666667e-01, 6.66666667e-01,
+ 1.66666667e-01, 1.66666667e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_quadWts[] = {
+ 1.66666667e-01, 1.66666667e-01, 1.66666667e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_basis[] = {
+ -1.11111111e-01, 2.22222222e-01,
+ -1.11111111e-01, 4.44444444e-01,
+ 4.44444444e-01, 1.11111111e-01,
+ -1.11111111e-01, -1.11111111e-01,
+ 2.22222222e-01, 1.11111111e-01,
+ 4.44444444e-01, 4.44444444e-01,
+ 2.22222222e-01, -1.11111111e-01,
+ -1.11111111e-01, 4.44444444e-01,
+ 1.11111111e-01, 4.44444444e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_basisDeriv[] = {
+ 3.33333333e-01, 3.33333333e-01,
+ 1.66666667e+00, 0.00000000e+00,
+ 0.00000000e+00, -3.33333333e-01,
+ -2.00000000e+00, -2.66666667e+00,
+ 6.66666667e-01, 2.66666667e+00,
+ -6.66666667e-01, 0.00000000e+00,
+ 3.33333333e-01, 3.33333333e-01,
+ -3.33333333e-01, 0.00000000e+00,
+ 0.00000000e+00, 1.66666667e+00,
+ 0.00000000e+00, -6.66666667e-01,
+ 2.66666667e+00, 6.66666667e-01,
+ -2.66666667e+00, -2.00000000e+00,
+ -1.66666667e+00, -1.66666667e+00,
+ -3.33333333e-01, 0.00000000e+00,
+ 0.00000000e+00, -3.33333333e-01,
+ 2.00000000e+00, -6.66666667e-01,
+ 6.66666667e-01, 6.66666667e-01,
+ -6.66666667e-01, 2.00000000e+00,
+};
+
+const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_fieldTpdt[] = {
+ -4.00000000e-01, -6.00000000e-01,
+ 7.00000000e-01, 8.00000000e-01,
+ 0.00000000e+00, 2.00000000e-01,
+ -5.00000000e-01, -4.00000000e-01,
+ 3.00000000e-01, 9.00000000e-01,
+ -3.00000000e-01, -9.00000000e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_fieldT[] = {
+ -3.00000000e-01, -4.00000000e-01,
+ 5.00000000e-01, 6.00000000e-01,
+ 0.00000000e+00, 1.00000000e-01,
+ -2.00000000e-01, -3.00000000e-01,
+ 2.00000000e-01, 3.00000000e-01,
+ -1.00000000e-01, -2.00000000e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_fieldTmdt[] = {
+ -2.00000000e-01, -3.00000000e-01,
+ 3.00000000e-01, 4.00000000e-01,
+ 0.00000000e+00, 1.00000000e-01,
+ -3.00000000e-01, -2.00000000e-01,
+ 1.00000000e-01, 4.00000000e-01,
+ -2.00000000e-01, -6.00000000e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_valsResidual[] = {
+ -2.15074074e+10, 4.58148148e+09,
+ -1.24762963e+11, -3.03740741e+10,
+ -2.17574074e+10, -9.72851852e+10,
+ 2.25390741e+11, 3.72085185e+11,
+ -3.39309259e+11, -4.12214815e+11,
+ 2.81946296e+11, 1.63207407e+11,
+};
+
+const double pylith::feassemble::ElasticityImplicitData2DQuadratic::_valsJacobian[] = {
+ 2.09351852e+11, 8.97222222e+10,
+ 5.18888889e+10, 8.64814815e+09,
+ 1.23703704e+10, 2.47407407e+10,
+ -2.31092593e+11, -3.80740741e+10,
+ 2.06481481e+10, 3.00000000e+09,
+ -6.31666667e+10, -8.80370370e+10,
+ 8.97222222e+10, 2.09351852e+11,
+ 1.72962963e+10, 8.64814815e+09,
+ 1.23703704e+10, 7.42222222e+10,
+ -7.68703704e+10, -3.71111111e+10,
+ 6.72222222e+09, 2.03703704e+09,
+ -4.92407407e+10, -2.57148148e+11,
+ 5.18888889e+10, 1.72962963e+10,
+ 1.58111111e+11, 0.00000000e+00,
+ 0.00000000e+00, -2.29629630e+10,
+ -2.10000000e+11, -6.51481481e+10,
+ -3.15555556e+10, 6.51481481e+10,
+ 3.15555556e+10, 5.66666667e+09,
+ 8.64814815e+09, 8.64814815e+09,
+ 0.00000000e+00, 2.63518519e+10,
+ -1.14814815e+10, 0.00000000e+00,
+ -3.25740741e+10, -3.50000000e+10,
+ 3.25740741e+10, -5.25925926e+09,
+ 2.83333333e+09, 5.25925926e+09,
+ 1.23703704e+10, 1.23703704e+10,
+ 0.00000000e+00, -1.14814815e+10,
+ 4.12407407e+10, 0.00000000e+00,
+ -5.90740741e+09, -8.88888889e+08,
+ 5.90740741e+09, 5.86296296e+10,
+ -5.36111111e+10, -5.86296296e+10,
+ 2.47407407e+10, 7.42222222e+10,
+ -2.29629630e+10, 0.00000000e+00,
+ 0.00000000e+00, 2.47444444e+11,
+ -1.77777778e+09, -3.54444444e+10,
+ 1.17259259e+11, 3.54444444e+10,
+ -1.17259259e+11, -3.21666667e+11,
+ -2.31092593e+11, -7.68703704e+10,
+ -2.10000000e+11, -3.25740741e+10,
+ -5.90740741e+09, -1.77777778e+09,
+ 5.12629630e+11, 9.70000000e+10,
+ -6.06296296e+10, -1.09296296e+11,
+ -5.00000000e+09, 1.23518519e+11,
+ -3.80740741e+10, -3.71111111e+10,
+ -6.51481481e+10, -3.50000000e+10,
+ -8.88888889e+08, -3.54444444e+10,
+ 9.70000000e+10, 5.01333333e+11,
+ -1.21592593e+11, -4.26000000e+11,
+ 1.28703704e+11, 3.22222222e+10,
+ 2.06481481e+10, 6.72222222e+09,
+ -3.15555556e+10, 3.25740741e+10,
+ 5.90740741e+09, 1.17259259e+11,
+ -6.06296296e+10, -1.21592593e+11,
+ 7.22407407e+11, 1.33888889e+11,
+ -6.56777778e+11, -1.68851852e+11,
+ 3.00000000e+09, 2.03703704e+09,
+ 6.51481481e+10, -5.25925926e+09,
+ 5.86296296e+10, 3.54444444e+10,
+ -1.09296296e+11, -4.26000000e+11,
+ 1.33888889e+11, 5.36296296e+11,
+ -1.51370370e+11, -1.42518519e+11,
+ -6.31666667e+10, -4.92407407e+10,
+ 3.15555556e+10, 2.83333333e+09,
+ -5.36111111e+10, -1.17259259e+11,
+ -5.00000000e+09, 1.28703704e+11,
+ -6.56777778e+11, -1.51370370e+11,
+ 7.47000000e+11, 1.86333333e+11,
+ -8.80370370e+10, -2.57148148e+11,
+ 5.66666667e+09, 5.25925926e+09,
+ -5.86296296e+10, -3.21666667e+11,
+ 1.23518519e+11, 3.22222222e+10,
+ -1.68851852e+11, -1.42518519e+11,
+ 1.86333333e+11, 6.83851852e+11,
+};
+
+pylith::feassemble::ElasticityImplicitData2DQuadratic::ElasticityImplicitData2DQuadratic(void)
+{ // constructor
+ spaceDim = _spaceDim;
+ cellDim = _cellDim;
+ numVertices = _numVertices;
+ numCells = _numCells;
+ numBasis = _numBasis;
+ numQuadPts = _numQuadPts;
+ matType = const_cast<char*>(_matType);
+ matDBFilename = const_cast<char*>(_matDBFilename);
+ matId = _matId;
+ matLabel = const_cast<char*>(_matLabel);
+ dt = _dt;
+ vertices = const_cast<double*>(_vertices);
+ cells = const_cast<int*>(_cells);
+ quadPts = const_cast<double*>(_quadPts);
+ quadWts = const_cast<double*>(_quadWts);
+ basis = const_cast<double*>(_basis);
+ basisDeriv = const_cast<double*>(_basisDeriv);
+ fieldTpdt = const_cast<double*>(_fieldTpdt);
+ fieldT = const_cast<double*>(_fieldT);
+ fieldTmdt = const_cast<double*>(_fieldTmdt);
+ valsResidual = const_cast<double*>(_valsResidual);
+ valsJacobian = const_cast<double*>(_valsJacobian);
+} // constructor
+
+pylith::feassemble::ElasticityImplicitData2DQuadratic::~ElasticityImplicitData2DQuadratic(void)
+{}
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.hh 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData2DQuadratic.hh 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,88 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application elasticityimplicit.
+
+#if !defined(pylith_feassemble_elasticityimplicitdata2dquadratic_hh)
+#define pylith_feassemble_elasticityimplicitdata2dquadratic_hh
+
+#include "IntegratorData.hh"
+
+namespace pylith {
+ namespace feassemble {
+ class ElasticityImplicitData2DQuadratic;
+ } // pylith
+} // feassemble
+
+class pylith::feassemble::ElasticityImplicitData2DQuadratic : public IntegratorData
+{
+
+public:
+
+ /// Constructor
+ ElasticityImplicitData2DQuadratic(void);
+
+ /// Destructor
+ ~ElasticityImplicitData2DQuadratic(void);
+
+private:
+
+ static const int _spaceDim;
+
+ static const int _cellDim;
+
+ static const int _numVertices;
+
+ static const int _numCells;
+
+ static const int _numBasis;
+
+ static const int _numQuadPts;
+
+ static const char* _matType;
+
+ static const char* _matDBFilename;
+
+ static const int _matId;
+
+ static const char* _matLabel;
+
+ static const double _dt;
+
+ static const double _vertices[];
+
+ static const int _cells[];
+
+ static const double _quadPts[];
+
+ static const double _quadWts[];
+
+ static const double _basis[];
+
+ static const double _basisDeriv[];
+
+ static const double _fieldTpdt[];
+
+ static const double _fieldT[];
+
+ static const double _fieldTmdt[];
+
+ static const double _valsResidual[];
+
+ static const double _valsJacobian[];
+
+};
+
+#endif // pylith_feassemble_elasticityimplicitdata2dquadratic_hh
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,179 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application elasticityimplicit.
+
+#include "ElasticityImplicitData3DLinear.hh"
+
+const int pylith::feassemble::ElasticityImplicitData3DLinear::_spaceDim = 3;
+
+const int pylith::feassemble::ElasticityImplicitData3DLinear::_cellDim = 3;
+
+const int pylith::feassemble::ElasticityImplicitData3DLinear::_numVertices = 4;
+
+const int pylith::feassemble::ElasticityImplicitData3DLinear::_numCells = 1;
+
+const int pylith::feassemble::ElasticityImplicitData3DLinear::_numBasis = 4;
+
+const int pylith::feassemble::ElasticityImplicitData3DLinear::_numQuadPts = 1;
+
+const char* pylith::feassemble::ElasticityImplicitData3DLinear::_matType = "ElasticIsotropic3D";
+
+const char* pylith::feassemble::ElasticityImplicitData3DLinear::_matDBFilename = "data/elasticisotropic3d.spatialdb";
+
+const int pylith::feassemble::ElasticityImplicitData3DLinear::_matId = 0;
+
+const char* pylith::feassemble::ElasticityImplicitData3DLinear::_matLabel = "elastic isotropic 3-D";
+
+const double pylith::feassemble::ElasticityImplicitData3DLinear::_dt = 1.00000000e-02;
+
+const double pylith::feassemble::ElasticityImplicitData3DLinear::_vertices[] = {
+ -5.00000000e-01, -1.00000000e+00, -5.00000000e-01,
+ 2.00000000e+00, -5.00000000e-01, -4.00000000e-01,
+ 1.00000000e+00, -1.00000000e-01, -3.00000000e-01,
+ -2.00000000e-01, 5.00000000e-01, 2.00000000e+00,
+};
+
+const int pylith::feassemble::ElasticityImplicitData3DLinear::_cells[] = {
+0,1,2,3,
+};
+
+const double pylith::feassemble::ElasticityImplicitData3DLinear::_quadPts[] = {
+ 2.50000000e-01, 2.50000000e-01, 2.50000000e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData3DLinear::_quadWts[] = {
+ 1.66666667e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData3DLinear::_basis[] = {
+ 2.50000000e-01, 2.50000000e-01, 2.50000000e-01,
+ 2.50000000e-01,};
+
+const double pylith::feassemble::ElasticityImplicitData3DLinear::_basisDeriv[] = {
+ -1.00000000e+00, -1.00000000e+00, -1.00000000e+00,
+ 1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
+};
+
+const double pylith::feassemble::ElasticityImplicitData3DLinear::_fieldTpdt[] = {
+ 3.00000000e-01, 2.00000000e-01, -5.00000000e-01,
+ -3.00000000e-01, -4.00000000e-01, -6.00000000e-01,
+ 2.00000000e-01, 6.00000000e-01, 3.00000000e-01,
+ -6.00000000e-01, -1.00000000e-01, -3.00000000e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData3DLinear::_fieldT[] = {
+ 8.00000000e-01, 1.00000000e-01, -6.00000000e-01,
+ -1.00000000e-01, -2.00000000e-01, -5.00000000e-01,
+ 1.00000000e-01, 7.00000000e-01, 2.00000000e-01,
+ -5.00000000e-01, -0.00000000e+00, -2.00000000e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData3DLinear::_fieldTmdt[] = {
+ 1.00000000e-01, 1.00000000e-01, -3.00000000e-01,
+ -2.00000000e-01, -1.00000000e-01, -5.00000000e-01,
+ 2.00000000e-01, 4.00000000e-01, 1.00000000e-01,
+ -4.00000000e-01, -1.00000000e-01, -1.00000000e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData3DLinear::_valsResidual[] = {
+ -4.51920000e+10, 1.85610000e+10, 1.04910000e+10,
+ 2.74380000e+10, 8.07000000e+09, 9.68400000e+09,
+ 8.07000000e+09, -2.09820000e+10, -5.64900000e+09,
+ 9.68400000e+09, -5.64900000e+09, -1.45260000e+10,
+};
+
+const double pylith::feassemble::ElasticityImplicitData3DLinear::_valsJacobian[] = {
+ 6.45600000e+10, 2.42100000e+10, 2.42100000e+10,
+ -4.84200000e+10, -8.07000000e+09, -8.07000000e+09,
+ -8.07000000e+09, -1.61400000e+10, 0.00000000e+00,
+ -8.07000000e+09, 0.00000000e+00, -1.61400000e+10,
+ 2.42100000e+10, 6.45600000e+10, 2.42100000e+10,
+ -1.61400000e+10, -8.07000000e+09, 0.00000000e+00,
+ -8.07000000e+09, -4.84200000e+10, -8.07000000e+09,
+ 0.00000000e+00, -8.07000000e+09, -1.61400000e+10,
+ 2.42100000e+10, 2.42100000e+10, 6.45600000e+10,
+ -1.61400000e+10, 0.00000000e+00, -8.07000000e+09,
+ 0.00000000e+00, -1.61400000e+10, -8.07000000e+09,
+ -8.07000000e+09, -8.07000000e+09, -4.84200000e+10,
+ -4.84200000e+10, -1.61400000e+10, -1.61400000e+10,
+ 4.84200000e+10, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 1.61400000e+10, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, 1.61400000e+10,
+ -8.07000000e+09, -8.07000000e+09, 0.00000000e+00,
+ 0.00000000e+00, 8.07000000e+09, 0.00000000e+00,
+ 8.07000000e+09, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ -8.07000000e+09, 0.00000000e+00, -8.07000000e+09,
+ 0.00000000e+00, 0.00000000e+00, 8.07000000e+09,
+ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ 8.07000000e+09, 0.00000000e+00, 0.00000000e+00,
+ -8.07000000e+09, -8.07000000e+09, 0.00000000e+00,
+ 0.00000000e+00, 8.07000000e+09, 0.00000000e+00,
+ 8.07000000e+09, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ -1.61400000e+10, -4.84200000e+10, -1.61400000e+10,
+ 1.61400000e+10, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 4.84200000e+10, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, 1.61400000e+10,
+ 0.00000000e+00, -8.07000000e+09, -8.07000000e+09,
+ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, 8.07000000e+09,
+ 0.00000000e+00, 8.07000000e+09, 0.00000000e+00,
+ -8.07000000e+09, 0.00000000e+00, -8.07000000e+09,
+ 0.00000000e+00, 0.00000000e+00, 8.07000000e+09,
+ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ 8.07000000e+09, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, -8.07000000e+09, -8.07000000e+09,
+ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, 8.07000000e+09,
+ 0.00000000e+00, 8.07000000e+09, 0.00000000e+00,
+ -1.61400000e+10, -1.61400000e+10, -4.84200000e+10,
+ 1.61400000e+10, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 1.61400000e+10, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, 4.84200000e+10,
+};
+
+pylith::feassemble::ElasticityImplicitData3DLinear::ElasticityImplicitData3DLinear(void)
+{ // constructor
+ spaceDim = _spaceDim;
+ cellDim = _cellDim;
+ numVertices = _numVertices;
+ numCells = _numCells;
+ numBasis = _numBasis;
+ numQuadPts = _numQuadPts;
+ matType = const_cast<char*>(_matType);
+ matDBFilename = const_cast<char*>(_matDBFilename);
+ matId = _matId;
+ matLabel = const_cast<char*>(_matLabel);
+ dt = _dt;
+ vertices = const_cast<double*>(_vertices);
+ cells = const_cast<int*>(_cells);
+ quadPts = const_cast<double*>(_quadPts);
+ quadWts = const_cast<double*>(_quadWts);
+ basis = const_cast<double*>(_basis);
+ basisDeriv = const_cast<double*>(_basisDeriv);
+ fieldTpdt = const_cast<double*>(_fieldTpdt);
+ fieldT = const_cast<double*>(_fieldT);
+ fieldTmdt = const_cast<double*>(_fieldTmdt);
+ valsResidual = const_cast<double*>(_valsResidual);
+ valsJacobian = const_cast<double*>(_valsJacobian);
+} // constructor
+
+pylith::feassemble::ElasticityImplicitData3DLinear::~ElasticityImplicitData3DLinear(void)
+{}
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.hh 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DLinear.hh 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,88 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application elasticityimplicit.
+
+#if !defined(pylith_feassemble_elasticityimplicitdata3dlinear_hh)
+#define pylith_feassemble_elasticityimplicitdata3dlinear_hh
+
+#include "IntegratorData.hh"
+
+namespace pylith {
+ namespace feassemble {
+ class ElasticityImplicitData3DLinear;
+ } // pylith
+} // feassemble
+
+class pylith::feassemble::ElasticityImplicitData3DLinear : public IntegratorData
+{
+
+public:
+
+ /// Constructor
+ ElasticityImplicitData3DLinear(void);
+
+ /// Destructor
+ ~ElasticityImplicitData3DLinear(void);
+
+private:
+
+ static const int _spaceDim;
+
+ static const int _cellDim;
+
+ static const int _numVertices;
+
+ static const int _numCells;
+
+ static const int _numBasis;
+
+ static const int _numQuadPts;
+
+ static const char* _matType;
+
+ static const char* _matDBFilename;
+
+ static const int _matId;
+
+ static const char* _matLabel;
+
+ static const double _dt;
+
+ static const double _vertices[];
+
+ static const int _cells[];
+
+ static const double _quadPts[];
+
+ static const double _quadWts[];
+
+ static const double _basis[];
+
+ static const double _basisDeriv[];
+
+ static const double _fieldTpdt[];
+
+ static const double _fieldT[];
+
+ static const double _fieldTmdt[];
+
+ static const double _valsResidual[];
+
+ static const double _valsJacobian[];
+
+};
+
+#endif // pylith_feassemble_elasticityimplicitdata3dlinear_hh
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.cc 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.cc 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,512 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application elasticityimplicit.
+
+#include "ElasticityImplicitData3DQuadratic.hh"
+
+const int pylith::feassemble::ElasticityImplicitData3DQuadratic::_spaceDim = 3;
+
+const int pylith::feassemble::ElasticityImplicitData3DQuadratic::_cellDim = 3;
+
+const int pylith::feassemble::ElasticityImplicitData3DQuadratic::_numVertices = 10;
+
+const int pylith::feassemble::ElasticityImplicitData3DQuadratic::_numCells = 1;
+
+const int pylith::feassemble::ElasticityImplicitData3DQuadratic::_numBasis = 10;
+
+const int pylith::feassemble::ElasticityImplicitData3DQuadratic::_numQuadPts = 4;
+
+const char* pylith::feassemble::ElasticityImplicitData3DQuadratic::_matType = "ElasticIsotropic3D";
+
+const char* pylith::feassemble::ElasticityImplicitData3DQuadratic::_matDBFilename = "data/elasticisotropic3d.spatialdb";
+
+const int pylith::feassemble::ElasticityImplicitData3DQuadratic::_matId = 0;
+
+const char* pylith::feassemble::ElasticityImplicitData3DQuadratic::_matLabel = "elastic isotropic 3-D";
+
+const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_dt = 1.00000000e-02;
+
+const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_vertices[] = {
+ -5.00000000e-01, -2.00000000e+00, -1.00000000e+00,
+ 2.00000000e+00, -2.00000000e+00, -5.00000000e-01,
+ 1.00000000e+00, 1.00000000e+00, 0.00000000e+00,
+ 2.00000000e-01, 5.00000000e-01, 2.00000000e+00,
+ 7.00000000e-01, -2.10000000e+00, -8.00000000e-01,
+ 3.00000000e-01, -5.00000000e-01, -5.00000000e-01,
+ -2.00000000e-01, -8.00000000e-01, 5.00000000e-01,
+ 1.50000000e+00, -6.00000000e-01, -2.00000000e-01,
+ 6.00000000e-01, 8.00000000e-01, 9.00000000e-01,
+ 1.10000000e+00, -8.00000000e-01, 7.00000000e-01,
+};
+
+const int pylith::feassemble::ElasticityImplicitData3DQuadratic::_cells[] = {
+0,1,2,3,4,5,6,7,8,9,
+};
+
+const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_quadPts[] = {
+ 8.33333333e-02, 8.33333333e-02, 8.33333333e-02,
+ 7.50000000e-01, 8.33333333e-02, 8.33333333e-02,
+ 8.33333333e-02, 7.50000000e-01, 8.33333333e-02,
+ 8.33333333e-02, 8.33333333e-02, 7.50000000e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_quadWts[] = {
+ 1.25000000e-01, 1.25000000e-01, 1.25000000e-01, 1.25000000e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_basis[] = {
+ 3.75000000e-01, -6.94444444e-02, -6.94444444e-02,
+ -6.94444444e-02, 2.50000000e-01, 2.50000000e-01,
+ 2.50000000e-01, 2.77777778e-02, 2.77777778e-02,
+ 2.77777778e-02, -6.94444444e-02, 3.75000000e-01,
+ -6.94444444e-02, -6.94444444e-02, 2.50000000e-01,
+ 2.77777778e-02, 2.77777778e-02, 2.50000000e-01,
+ 2.77777778e-02, 2.50000000e-01, -6.94444444e-02,
+ -6.94444444e-02, 3.75000000e-01, -6.94444444e-02,
+ 2.77777778e-02, 2.50000000e-01, 2.77777778e-02,
+ 2.50000000e-01, 2.50000000e-01, 2.77777778e-02,
+ -6.94444444e-02, -6.94444444e-02, -6.94444444e-02,
+ 3.75000000e-01, 2.77777778e-02, 2.77777778e-02,
+ 2.50000000e-01, 2.77777778e-02, 2.50000000e-01,
+ 2.50000000e-01,};
+
+const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_basisDeriv[] = {
+ -2.00000000e+00, -2.00000000e+00, -2.00000000e+00,
+ -6.66666667e-01, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, -6.66666667e-01, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, -6.66666667e-01,
+ 2.66666667e+00, -3.33333333e-01, -3.33333333e-01,
+ -3.33333333e-01, 2.66666667e+00, -3.33333333e-01,
+ -3.33333333e-01, -3.33333333e-01, 2.66666667e+00,
+ 3.33333333e-01, 3.33333333e-01, 0.00000000e+00,
+ 0.00000000e+00, 3.33333333e-01, 3.33333333e-01,
+ 3.33333333e-01, 0.00000000e+00, 3.33333333e-01,
+ 6.66666667e-01, 6.66666667e-01, 6.66666667e-01,
+ 2.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, -6.66666667e-01, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, -6.66666667e-01,
+ -2.66666667e+00, -3.00000000e+00, -3.00000000e+00,
+ -3.33333333e-01, 1.11022302e-16, -3.33333333e-01,
+ -3.33333333e-01, -3.33333333e-01, 1.11022302e-16,
+ 3.33333333e-01, 3.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 3.33333333e-01, 3.33333333e-01,
+ 3.33333333e-01, 0.00000000e+00, 3.00000000e+00,
+ 6.66666667e-01, 6.66666667e-01, 6.66666667e-01,
+ -6.66666667e-01, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 2.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, -6.66666667e-01,
+ 1.11022302e-16, -3.33333333e-01, -3.33333333e-01,
+ -3.00000000e+00, -2.66666667e+00, -3.00000000e+00,
+ -3.33333333e-01, -3.33333333e-01, -1.11022302e-16,
+ 3.00000000e+00, 3.33333333e-01, 0.00000000e+00,
+ 0.00000000e+00, 3.33333333e-01, 3.00000000e+00,
+ 3.33333333e-01, 0.00000000e+00, 3.33333333e-01,
+ 6.66666667e-01, 6.66666667e-01, 6.66666667e-01,
+ -6.66666667e-01, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, -6.66666667e-01, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, 2.00000000e+00,
+ -1.11022302e-16, -3.33333333e-01, -3.33333333e-01,
+ -3.33333333e-01, -1.11022302e-16, -3.33333333e-01,
+ -3.00000000e+00, -3.00000000e+00, -2.66666667e+00,
+ 3.33333333e-01, 3.33333333e-01, 0.00000000e+00,
+ 0.00000000e+00, 3.00000000e+00, 3.33333333e-01,
+ 3.00000000e+00, 0.00000000e+00, 3.33333333e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_fieldTpdt[] = {
+ 3.00000000e-01, -4.00000000e-01, -4.00000000e-01,
+ -6.00000000e-01, 8.00000000e-01, 2.00000000e-01,
+ 5.00000000e-01, 5.00000000e-01, 7.00000000e-01,
+ -7.00000000e-01, -5.00000000e-01, -7.00000000e-01,
+ -6.00000000e-01, -3.00000000e-01, 8.00000000e-01,
+ -4.00000000e-01, -8.00000000e-01, -5.00000000e-01,
+ 7.00000000e-01, 8.00000000e-01, -5.00000000e-01,
+ -5.00000000e-01, -5.00000000e-01, -7.00000000e-01,
+ -3.00000000e-01, -9.00000000e-01, 8.00000000e-01,
+ -1.00000000e-01, 5.00000000e-01, -9.00000000e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_fieldT[] = {
+ 1.00000000e-01, -2.00000000e-01, -6.00000000e-01,
+ -3.00000000e-01, 4.00000000e-01, 9.00000000e-01,
+ 6.00000000e-01, 8.00000000e-01, 5.00000000e-01,
+ -8.00000000e-01, -6.00000000e-01, -8.00000000e-01,
+ -0.00000000e+00, -2.00000000e-01, 6.00000000e-01,
+ -4.00000000e-01, -7.00000000e-01, -2.00000000e-01,
+ 7.00000000e-01, 6.00000000e-01, -1.00000000e-01,
+ -4.00000000e-01, -3.00000000e-01, -3.00000000e-01,
+ -7.00000000e-01, -6.00000000e-01, 1.00000000e-01,
+ -9.00000000e-01, 3.00000000e-01, -8.00000000e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_fieldTmdt[] = {
+ 2.00000000e-01, -3.00000000e-01, -4.00000000e-01,
+ -6.00000000e-01, 2.00000000e-01, 3.00000000e-01,
+ 5.00000000e-01, 2.00000000e-01, 5.00000000e-01,
+ -3.00000000e-01, -6.00000000e-01, -3.00000000e-01,
+ -5.00000000e-01, -9.00000000e-01, 4.00000000e-01,
+ -3.00000000e-01, -6.00000000e-01, -8.00000000e-01,
+ 9.00000000e-01, 5.00000000e-01, -2.00000000e-01,
+ -7.00000000e-01, -3.00000000e-01, -3.00000000e-01,
+ -5.00000000e-01, -8.00000000e-01, 4.00000000e-01,
+ -4.00000000e-01, 5.00000000e-01, -8.00000000e-01,
+};
+
+const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_valsResidual[] = {
+ 1.37302827e+12, 3.59474617e+11, 2.01771825e+12,
+ -1.31076938e+11, -1.24488420e+11, 7.73353086e+09,
+ -3.68697654e+11, -2.72246232e+12, -1.48102395e+11,
+ 5.48027062e+11, 3.15720222e+11, 2.06778262e+12,
+ -1.21553814e+12, -2.00599957e+12, -3.41367532e+12,
+ -1.41822963e+11, 2.78297909e+12, -2.96592593e+11,
+ -6.77812870e+12, -6.14554194e+12, -4.48612599e+12,
+ 4.50985444e+11, 1.95704638e+12, 3.90063222e+11,
+ 9.75448605e+11, 4.73812614e+12, 2.71904605e+11,
+ 5.28777501e+12, 8.45145802e+11, 3.58929407e+12,
+};
+
+const double pylith::feassemble::ElasticityImplicitData3DQuadratic::_valsJacobian[] = {
+ 1.41147259e+12, 5.29302222e+11, 5.29302222e+11,
+ 3.09597037e+11, 5.15995062e+10, 5.15995062e+10,
+ 5.22760494e+10, 1.04552099e+11, 0.00000000e+00,
+ 7.25585185e+10, 0.00000000e+00, 1.45117037e+11,
+ -1.46768938e+12, -3.27521481e+11, -3.27521481e+11,
+ -5.81653580e+11, -5.07840741e+11, -1.51261481e+11,
+ -7.43913333e+11, -2.12108889e+11, -5.68688148e+11,
+ 3.52266914e+11, 1.49908395e+11, 5.04204938e+10,
+ 1.21123457e+11, 1.41405926e+11, 1.00840988e+11,
+ 4.73961728e+11, 7.07029630e+10, 1.70190864e+11,
+ 5.29302222e+11, 1.41147259e+12, 5.29302222e+11,
+ 1.03199012e+11, 5.15995062e+10, 0.00000000e+00,
+ 5.22760494e+10, 3.13656296e+11, 5.22760494e+10,
+ 0.00000000e+00, 7.25585185e+10, 1.45117037e+11,
+ -5.05811111e+11, -5.76241235e+11, -1.49231852e+11,
+ -3.29551111e+11, -1.47310173e+12, -3.29551111e+11,
+ -2.12108889e+11, -7.43913333e+11, -5.68688148e+11,
+ 1.50584938e+11, 3.48884198e+11, 4.97439506e+10,
+ 7.07029630e+10, 4.74638272e+11, 1.71543951e+11,
+ 1.41405926e+11, 1.20446914e+11, 9.94879012e+10,
+ 5.29302222e+11, 5.29302222e+11, 1.41147259e+12,
+ 1.03199012e+11, 0.00000000e+00, 5.15995062e+10,
+ 0.00000000e+00, 1.04552099e+11, 5.22760494e+10,
+ 7.25585185e+10, 7.25585185e+10, 4.35351111e+11,
+ -5.05811111e+11, -1.49231852e+11, -5.76241235e+11,
+ -1.51261481e+11, -5.07840741e+11, -5.81653580e+11,
+ -3.90398519e+11, -3.90398519e+11, -1.63536148e+12,
+ 1.00840988e+11, 9.94879012e+10, 1.00164444e+11,
+ 5.04204938e+10, 1.91826420e+11, 3.73225926e+11,
+ 1.91149877e+11, 4.97439506e+10, 3.69166667e+11,
+ 3.09597037e+11, 1.03199012e+11, 1.03199012e+11,
+ 9.52269630e+11, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, -8.68296296e+10, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, -1.27394568e+11,
+ -1.26186667e+12, -2.94550617e+11, -2.94550617e+11,
+ 3.29106667e+11, -1.63693827e+10, 1.09702222e+11,
+ 4.50801481e+11, 1.50267160e+11, 2.41955556e+10,
+ -3.29106667e+11, 2.94550617e+11, 0.00000000e+00,
+ 0.00000000e+00, -1.50267160e+11, -1.09702222e+11,
+ -4.50801481e+11, 0.00000000e+00, 2.94550617e+11,
+ 5.15995062e+10, 5.15995062e+10, 0.00000000e+00,
+ 0.00000000e+00, 1.58711605e+11, 0.00000000e+00,
+ -4.34148148e+10, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ -1.47275309e+11, -2.10311111e+11, 0.00000000e+00,
+ -8.18469136e+09, 5.48511111e+10, 0.00000000e+00,
+ 7.51335802e+10, 7.51335802e+10, 0.00000000e+00,
+ 1.47275309e+11, -5.48511111e+10, 0.00000000e+00,
+ -7.51335802e+10, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, -7.51335802e+10, 0.00000000e+00,
+ 5.15995062e+10, 0.00000000e+00, 5.15995062e+10,
+ 0.00000000e+00, 0.00000000e+00, 1.58711605e+11,
+ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ -6.36972840e+10, 0.00000000e+00, 0.00000000e+00,
+ -1.47275309e+11, 0.00000000e+00, -2.10311111e+11,
+ 5.48511111e+10, 0.00000000e+00, 5.48511111e+10,
+ 1.20977778e+10, 0.00000000e+00, 7.51335802e+10,
+ 0.00000000e+00, 0.00000000e+00, -5.48511111e+10,
+ -5.48511111e+10, 0.00000000e+00, 0.00000000e+00,
+ 1.47275309e+11, 0.00000000e+00, -7.51335802e+10,
+ 5.22760494e+10, 5.22760494e+10, 0.00000000e+00,
+ 0.00000000e+00, -4.34148148e+10, 0.00000000e+00,
+ 1.60064691e+11, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ 5.38362963e+10, -8.86123457e+09, 0.00000000e+00,
+ -2.12340741e+11, -1.49643210e+11, 0.00000000e+00,
+ 7.47953086e+10, 7.47953086e+10, 0.00000000e+00,
+ -5.38362963e+10, 1.49643210e+11, 0.00000000e+00,
+ -7.47953086e+10, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, -7.47953086e+10, 0.00000000e+00,
+ 1.04552099e+11, 3.13656296e+11, 1.04552099e+11,
+ -8.68296296e+10, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 9.60388148e+11, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, -1.28747654e+11,
+ -1.77224691e+10, 3.23017778e+11, 1.07672593e+11,
+ -2.99286420e+11, -1.27404444e+12, -2.99286420e+11,
+ 1.49590617e+11, 4.48771852e+11, 2.41955556e+10,
+ 2.99286420e+11, -3.23017778e+11, 0.00000000e+00,
+ 0.00000000e+00, -4.48771852e+11, 2.99286420e+11,
+ -1.49590617e+11, 0.00000000e+00, -1.07672593e+11,
+ 0.00000000e+00, 5.22760494e+10, 5.22760494e+10,
+ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, 1.60064691e+11,
+ 0.00000000e+00, -6.43738272e+10, 0.00000000e+00,
+ 0.00000000e+00, 5.38362963e+10, 5.38362963e+10,
+ 0.00000000e+00, -1.49643210e+11, -2.12340741e+11,
+ 0.00000000e+00, 1.20977778e+10, 7.47953086e+10,
+ 0.00000000e+00, 0.00000000e+00, -5.38362963e+10,
+ 0.00000000e+00, 1.49643210e+11, -7.47953086e+10,
+ 0.00000000e+00, -5.38362963e+10, 0.00000000e+00,
+ 7.25585185e+10, 0.00000000e+00, 7.25585185e+10,
+ 0.00000000e+00, 0.00000000e+00, -6.36972840e+10,
+ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ 2.00629630e+11, 0.00000000e+00, 0.00000000e+00,
+ 4.36950617e+10, 0.00000000e+00, -8.86123457e+09,
+ 4.43716049e+10, 0.00000000e+00, 4.43716049e+10,
+ -2.73188148e+11, 0.00000000e+00, -2.20631852e+11,
+ 0.00000000e+00, 0.00000000e+00, -4.43716049e+10,
+ -4.43716049e+10, 0.00000000e+00, 0.00000000e+00,
+ -4.36950617e+10, 0.00000000e+00, 2.20631852e+11,
+ 0.00000000e+00, 7.25585185e+10, 7.25585185e+10,
+ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, -6.43738272e+10,
+ 0.00000000e+00, 2.00629630e+11, 0.00000000e+00,
+ 0.00000000e+00, 4.36950617e+10, 4.36950617e+10,
+ 0.00000000e+00, 4.43716049e+10, -8.18469136e+09,
+ 0.00000000e+00, -2.73188148e+11, -2.20631852e+11,
+ 0.00000000e+00, 0.00000000e+00, -4.36950617e+10,
+ 0.00000000e+00, -4.43716049e+10, 2.20631852e+11,
+ 0.00000000e+00, -4.36950617e+10, 0.00000000e+00,
+ 1.45117037e+11, 1.45117037e+11, 4.35351111e+11,
+ -1.27394568e+11, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, -1.28747654e+11, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, 1.20377778e+12,
+ -1.77224691e+10, 8.73901235e+10, 2.62170370e+11,
+ 8.87432099e+10, -1.63693827e+10, 2.66229630e+11,
+ -4.41263704e+11, -4.41263704e+11, -1.63912889e+12,
+ -8.87432099e+10, -8.73901235e+10, 0.00000000e+00,
+ 0.00000000e+00, 4.41263704e+11, -2.66229630e+11,
+ 4.41263704e+11, 0.00000000e+00, -2.62170370e+11,
+ -1.46768938e+12, -5.05811111e+11, -5.05811111e+11,
+ -1.26186667e+12, -1.47275309e+11, -1.47275309e+11,
+ 5.38362963e+10, -1.77224691e+10, 0.00000000e+00,
+ 4.36950617e+10, 0.00000000e+00, -1.77224691e+10,
+ 3.16268617e+12, 5.91057778e+11, 5.91057778e+11,
+ 3.45213580e+10, 5.38987037e+11, 5.63361728e+10,
+ 5.48038272e+10, 6.64774074e+10, 5.49128272e+11,
+ -2.39725309e+11, -4.59235926e+11, -6.51974074e+10,
+ -1.40536049e+11, 8.86123457e+09, 8.86123457e+09,
+ -2.39725309e+11, -7.53386420e+10, -4.69377160e+11,
+ -3.27521481e+11, -5.76241235e+11, -1.49231852e+11,
+ -2.94550617e+11, -2.10311111e+11, 0.00000000e+00,
+ -8.86123457e+09, 3.23017778e+11, 5.38362963e+10,
+ 0.00000000e+00, 4.36950617e+10, 8.73901235e+10,
+ 5.91057778e+11, 2.30250778e+12, 7.98927037e+11,
+ 3.67289630e+11, 3.62127160e+10, 1.26302469e+11,
+ 1.46246667e+11, 4.53650123e+11, 8.74364198e+10,
+ -3.27414074e+11, -1.59342346e+12, -2.66309012e+11,
+ 4.43061728e+09, -5.17229259e+11, -2.05733457e+11,
+ -1.50677284e+11, -2.61878395e+11, -5.32618025e+11,
+ -3.27521481e+11, -1.49231852e+11, -5.76241235e+11,
+ -2.94550617e+11, 0.00000000e+00, -2.10311111e+11,
+ 0.00000000e+00, 1.07672593e+11, 5.38362963e+10,
+ -8.86123457e+09, 4.36950617e+10, 2.62170370e+11,
+ 5.91057778e+11, 7.98927037e+11, 2.30250778e+12,
+ 1.25964198e+11, 5.70127160e+10, 3.82661481e+11,
+ 3.87572099e+11, 1.56726173e+11, 1.07201358e+11,
+ -1.30394815e+11, -5.32618025e+11, -2.61878395e+11,
+ 4.43061728e+09, -2.15874691e+11, -4.66523086e+11,
+ -3.47696543e+11, -2.66309012e+11, -1.59342346e+12,
+ -5.81653580e+11, -3.29551111e+11, -1.51261481e+11,
+ 3.29106667e+11, -8.18469136e+09, 5.48511111e+10,
+ -2.12340741e+11, -2.99286420e+11, 0.00000000e+00,
+ 4.43716049e+10, 0.00000000e+00, 8.87432099e+10,
+ 3.45213580e+10, 3.67289630e+11, 1.25964198e+11,
+ 2.32889296e+12, 6.00191111e+11, 8.09075185e+11,
+ 4.56018025e+11, 1.47261481e+11, 8.77746914e+10,
+ -1.61405802e+12, -3.30458519e+11, -2.69691728e+11,
+ -2.65599383e+11, -1.51353827e+11, -5.39383457e+11,
+ -5.19258889e+11, 4.09234568e+09, -2.06071728e+11,
+ -5.07840741e+11, -1.47310173e+12, -5.07840741e+11,
+ -1.63693827e+10, 5.48511111e+10, 0.00000000e+00,
+ -1.49643210e+11, -1.27404444e+12, -1.49643210e+11,
+ 0.00000000e+00, 4.43716049e+10, -1.63693827e+10,
+ 5.38987037e+11, 3.62127160e+10, 5.70127160e+10,
+ 6.00191111e+11, 3.18568864e+12, 6.00191111e+11,
+ 6.74922222e+10, 5.71717284e+10, 5.49466543e+11,
+ -4.65324815e+11, -2.45137654e+11, -6.51974074e+10,
+ -7.56769136e+10, -2.45137654e+11, -4.75804321e+11,
+ 8.18469136e+09, -1.40874321e+11, 8.18469136e+09,
+ -1.51261481e+11, -3.29551111e+11, -5.81653580e+11,
+ 1.09702222e+11, 0.00000000e+00, 5.48511111e+10,
+ 0.00000000e+00, -2.99286420e+11, -2.12340741e+11,
+ 4.43716049e+10, -8.18469136e+09, 2.66229630e+11,
+ 5.63361728e+10, 1.26302469e+11, 3.82661481e+11,
+ 8.09075185e+11, 6.00191111e+11, 2.32889296e+12,
+ 1.57402716e+11, 3.88248642e+11, 1.07877901e+11,
+ -5.39383457e+11, -1.30394815e+11, -2.65599383e+11,
+ -2.69691728e+11, -3.51417531e+11, -1.61405802e+12,
+ -2.16551235e+11, 4.09234568e+09, -4.66861358e+11,
+ -7.43913333e+11, -2.12108889e+11, -3.90398519e+11,
+ 4.50801481e+11, 7.51335802e+10, 1.20977778e+10,
+ 7.47953086e+10, 1.49590617e+11, 0.00000000e+00,
+ -2.73188148e+11, 0.00000000e+00, -4.41263704e+11,
+ 5.48038272e+10, 1.46246667e+11, 3.87572099e+11,
+ 4.56018025e+11, 6.74922222e+10, 1.57402716e+11,
+ 3.11990926e+12, 1.11331222e+12, 8.74004444e+11,
+ -5.29400123e+11, -2.26354198e+11, -6.04888889e+09,
+ -3.77152963e+11, -7.42208148e+11, -1.51353827e+11,
+ -2.23267333e+12, -3.71104074e+11, -4.42012099e+11,
+ -2.12108889e+11, -7.43913333e+11, -3.90398519e+11,
+ 1.50267160e+11, 7.51335802e+10, 0.00000000e+00,
+ 7.47953086e+10, 4.48771852e+11, 1.20977778e+10,
+ 0.00000000e+00, -2.73188148e+11, -4.41263704e+11,
+ 6.64774074e+10, 4.53650123e+11, 1.56726173e+11,
+ 1.47261481e+11, 5.71717284e+10, 3.88248642e+11,
+ 1.11331222e+12, 3.11990926e+12, 8.74004444e+11,
+ -2.26692469e+11, -5.27708765e+11, -6.04888889e+09,
+ -3.71104074e+11, -2.23267333e+12, -4.42688642e+11,
+ -7.42208148e+11, -3.77152963e+11, -1.50677284e+11,
+ -5.68688148e+11, -5.68688148e+11, -1.63536148e+12,
+ 2.41955556e+10, 0.00000000e+00, 7.51335802e+10,
+ 0.00000000e+00, 2.41955556e+10, 7.47953086e+10,
+ -2.20631852e+11, -2.20631852e+11, -1.63912889e+12,
+ 5.49128272e+11, 8.74364198e+10, 1.07201358e+11,
+ 8.77746914e+10, 5.49466543e+11, 1.07877901e+11,
+ 8.74004444e+11, 8.74004444e+11, 3.87529259e+12,
+ -1.20977778e+10, -1.20977778e+10, -1.51015556e+11,
+ -7.56769136e+10, -6.58346543e+11, -4.07397407e+11,
+ -6.58008272e+11, -7.53386420e+10, -4.07397407e+11,
+ 3.52266914e+11, 1.50584938e+11, 1.00840988e+11,
+ -3.29106667e+11, 1.47275309e+11, 0.00000000e+00,
+ -5.38362963e+10, 2.99286420e+11, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, -8.87432099e+10,
+ -2.39725309e+11, -3.27414074e+11, -1.30394815e+11,
+ -1.61405802e+12, -4.65324815e+11, -5.39383457e+11,
+ -5.29400123e+11, -2.26692469e+11, -1.20977778e+10,
+ 1.88445938e+12, 1.95592222e+11, 0.00000000e+00,
+ 7.53386420e+10, 1.51353827e+11, 5.39383457e+11,
+ 4.54061481e+11, 7.53386420e+10, 1.30394815e+11,
+ 1.49908395e+11, 3.48884198e+11, 9.94879012e+10,
+ 2.94550617e+11, -5.48511111e+10, 0.00000000e+00,
+ 1.49643210e+11, -3.23017778e+11, 0.00000000e+00,
+ 0.00000000e+00, 0.00000000e+00, -8.73901235e+10,
+ -4.59235926e+11, -1.59342346e+12, -5.32618025e+11,
+ -3.30458519e+11, -2.45137654e+11, -1.30394815e+11,
+ -2.26354198e+11, -5.27708765e+11, -1.20977778e+10,
+ 1.95592222e+11, 1.86754580e+12, 0.00000000e+00,
+ 7.56769136e+10, 4.52031852e+11, 1.30394815e+11,
+ 1.50677284e+11, 7.56769136e+10, 5.32618025e+11,
+ 5.04204938e+10, 4.97439506e+10, 1.00164444e+11,
+ 0.00000000e+00, 0.00000000e+00, -5.48511111e+10,
+ 0.00000000e+00, 0.00000000e+00, -5.38362963e+10,
+ -4.43716049e+10, -4.36950617e+10, 0.00000000e+00,
+ -6.51974074e+10, -2.66309012e+11, -2.61878395e+11,
+ -2.69691728e+11, -6.51974074e+10, -2.65599383e+11,
+ -6.04888889e+09, -6.04888889e+09, -1.51015556e+11,
+ 0.00000000e+00, 0.00000000e+00, 5.36000741e+11,
+ 2.69691728e+11, 6.51974074e+10, 7.53386420e+10,
+ 6.51974074e+10, 2.66309012e+11, 7.56769136e+10,
+ 1.21123457e+11, 7.07029630e+10, 5.04204938e+10,
+ 0.00000000e+00, -7.51335802e+10, -5.48511111e+10,
+ -7.47953086e+10, 0.00000000e+00, 0.00000000e+00,
+ -4.43716049e+10, 0.00000000e+00, 0.00000000e+00,
+ -1.40536049e+11, 4.43061728e+09, 4.43061728e+09,
+ -2.65599383e+11, -7.56769136e+10, -2.69691728e+11,
+ -3.77152963e+11, -3.71104074e+11, -7.56769136e+10,
+ 7.53386420e+10, 7.56769136e+10, 2.69691728e+11,
+ 6.40795802e+11, 0.00000000e+00, 0.00000000e+00,
+ 6.51974074e+10, 3.71104074e+11, 7.56769136e+10,
+ 1.41405926e+11, 4.74638272e+11, 1.91826420e+11,
+ -1.50267160e+11, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, -4.48771852e+11, 1.49643210e+11,
+ 0.00000000e+00, -4.43716049e+10, 4.41263704e+11,
+ 8.86123457e+09, -5.17229259e+11, -2.15874691e+11,
+ -1.51353827e+11, -2.45137654e+11, -3.51417531e+11,
+ -7.42208148e+11, -2.23267333e+12, -6.58346543e+11,
+ 1.51353827e+11, 4.52031852e+11, 6.51974074e+10,
+ 0.00000000e+00, 2.49631617e+12, 2.27030741e+11,
+ 7.42208148e+11, 6.51974074e+10, 1.50677284e+11,
+ 1.00840988e+11, 1.71543951e+11, 3.73225926e+11,
+ -1.09702222e+11, 0.00000000e+00, 0.00000000e+00,
+ 0.00000000e+00, 2.99286420e+11, -7.47953086e+10,
+ 0.00000000e+00, 2.20631852e+11, -2.66229630e+11,
+ 8.86123457e+09, -2.05733457e+11, -4.66523086e+11,
+ -5.39383457e+11, -4.75804321e+11, -1.61405802e+12,
+ -1.51353827e+11, -4.42688642e+11, -4.07397407e+11,
+ 5.39383457e+11, 1.30394815e+11, 7.53386420e+10,
+ 0.00000000e+00, 2.27030741e+11, 1.98925444e+12,
+ 1.51353827e+11, 7.53386420e+10, 3.91184444e+11,
+ 4.73961728e+11, 1.41405926e+11, 1.91149877e+11,
+ -4.50801481e+11, 0.00000000e+00, 1.47275309e+11,
+ 0.00000000e+00, -1.49590617e+11, 0.00000000e+00,
+ -4.36950617e+10, 0.00000000e+00, 4.41263704e+11,
+ -2.39725309e+11, -1.50677284e+11, -3.47696543e+11,
+ -5.19258889e+11, 8.18469136e+09, -2.16551235e+11,
+ -2.23267333e+12, -7.42208148e+11, -6.58008272e+11,
+ 4.54061481e+11, 1.50677284e+11, 6.51974074e+10,
+ 6.51974074e+10, 7.42208148e+11, 1.51353827e+11,
+ 2.49293346e+12, 0.00000000e+00, 2.26015926e+11,
+ 7.07029630e+10, 1.20446914e+11, 4.97439506e+10,
+ 0.00000000e+00, -7.51335802e+10, 0.00000000e+00,
+ -7.47953086e+10, 0.00000000e+00, -5.38362963e+10,
+ 0.00000000e+00, -4.36950617e+10, 0.00000000e+00,
+ -7.53386420e+10, -2.61878395e+11, -2.66309012e+11,
+ 4.09234568e+09, -1.40874321e+11, 4.09234568e+09,
+ -3.71104074e+11, -3.77152963e+11, -7.53386420e+10,
+ 7.53386420e+10, 7.56769136e+10, 2.66309012e+11,
+ 3.71104074e+11, 6.51974074e+10, 7.53386420e+10,
+ 0.00000000e+00, 6.37413086e+11, 0.00000000e+00,
+ 1.70190864e+11, 9.94879012e+10, 3.69166667e+11,
+ 2.94550617e+11, 0.00000000e+00, -7.51335802e+10,
+ 0.00000000e+00, -1.07672593e+11, 0.00000000e+00,
+ 2.20631852e+11, 0.00000000e+00, -2.62170370e+11,
+ -4.69377160e+11, -5.32618025e+11, -1.59342346e+12,
+ -2.06071728e+11, 8.18469136e+09, -4.66861358e+11,
+ -4.42012099e+11, -1.50677284e+11, -4.07397407e+11,
+ 1.30394815e+11, 5.32618025e+11, 7.56769136e+10,
+ 7.56769136e+10, 1.50677284e+11, 3.91184444e+11,
+ 2.26015926e+11, 0.00000000e+00, 1.96895815e+12,
+};
+
+pylith::feassemble::ElasticityImplicitData3DQuadratic::ElasticityImplicitData3DQuadratic(void)
+{ // constructor
+ spaceDim = _spaceDim;
+ cellDim = _cellDim;
+ numVertices = _numVertices;
+ numCells = _numCells;
+ numBasis = _numBasis;
+ numQuadPts = _numQuadPts;
+ matType = const_cast<char*>(_matType);
+ matDBFilename = const_cast<char*>(_matDBFilename);
+ matId = _matId;
+ matLabel = const_cast<char*>(_matLabel);
+ dt = _dt;
+ vertices = const_cast<double*>(_vertices);
+ cells = const_cast<int*>(_cells);
+ quadPts = const_cast<double*>(_quadPts);
+ quadWts = const_cast<double*>(_quadWts);
+ basis = const_cast<double*>(_basis);
+ basisDeriv = const_cast<double*>(_basisDeriv);
+ fieldTpdt = const_cast<double*>(_fieldTpdt);
+ fieldT = const_cast<double*>(_fieldT);
+ fieldTmdt = const_cast<double*>(_fieldTmdt);
+ valsResidual = const_cast<double*>(_valsResidual);
+ valsJacobian = const_cast<double*>(_valsJacobian);
+} // constructor
+
+pylith::feassemble::ElasticityImplicitData3DQuadratic::~ElasticityImplicitData3DQuadratic(void)
+{}
+
+
+// End of file
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.hh 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityImplicitData3DQuadratic.hh 2007-06-01 00:34:41 UTC (rev 7025)
@@ -0,0 +1,88 @@
+// -*- C++ -*-
+//
+// ======================================================================
+//
+// Brad T. Aagaard
+// U.S. Geological Survey
+//
+// {LicenseText}
+//
+// ======================================================================
+//
+
+// DO NOT EDIT THIS FILE
+// This file was generated from python application elasticityimplicit.
+
+#if !defined(pylith_feassemble_elasticityimplicitdata3dquadratic_hh)
+#define pylith_feassemble_elasticityimplicitdata3dquadratic_hh
+
+#include "IntegratorData.hh"
+
+namespace pylith {
+ namespace feassemble {
+ class ElasticityImplicitData3DQuadratic;
+ } // pylith
+} // feassemble
+
+class pylith::feassemble::ElasticityImplicitData3DQuadratic : public IntegratorData
+{
+
+public:
+
+ /// Constructor
+ ElasticityImplicitData3DQuadratic(void);
+
+ /// Destructor
+ ~ElasticityImplicitData3DQuadratic(void);
+
+private:
+
+ static const int _spaceDim;
+
+ static const int _cellDim;
+
+ static const int _numVertices;
+
+ static const int _numCells;
+
+ static const int _numBasis;
+
+ static const int _numQuadPts;
+
+ static const char* _matType;
+
+ static const char* _matDBFilename;
+
+ static const int _matId;
+
+ static const char* _matLabel;
+
+ static const double _dt;
+
+ static const double _vertices[];
+
+ static const int _cells[];
+
+ static const double _quadPts[];
+
+ static const double _quadWts[];
+
+ static const double _basis[];
+
+ static const double _basisDeriv[];
+
+ static const double _fieldTpdt[];
+
+ static const double _fieldT[];
+
+ static const double _fieldTmdt[];
+
+ static const double _valsResidual[];
+
+ static const double _valsJacobian[];
+
+};
+
+#endif // pylith_feassemble_elasticityimplicitdata3dquadratic_hh
+
+// End of file
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorElasticity.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorElasticity.py 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/IntegratorElasticity.py 2007-06-01 00:34:41 UTC (rev 7025)
@@ -115,34 +115,34 @@
C1112 = 0.0
C2222 = lambda2mu
C2212 = 0.0
- C1212 = self.lameMu # B uses engineering strain, so mu instead of 2*mu
+ C1212 = 2.0*self.lameMu
D = numpy.array([ [C1111, C1122, C1112],
[C1122, C2222, C2212],
[C1112, C2212, C1212] ],
dtype=numpy.float64)
elif 3 == self.cellDim:
- lambda2mu = self.lameLambda + 2*self.lameMu
+ lambda2mu = self.lameLambda + 2.0*self.lameMu
C1111 = lambda2mu
- C2222 = lambda2mu
- C3333 = lambda2mu
C1122 = self.lameLambda
C1133 = self.lameLambda
- C2233 = self.lameLambda
- C1212 = self.lameMu # B uses engineering strain, so mu instead of 2*mu
- C2323 = self.lameMu
- C1313 = self.lameMu
C1112 = 0.0
C1123 = 0.0
C1113 = 0.0
+ C2222 = lambda2mu
+ C2233 = self.lameLambda
C2212 = 0.0
C2223 = 0.0
C2213 = 0.0
+ C3333 = lambda2mu
C3312 = 0.0
C3323 = 0.0
C3313 = 0.0
+ C1212 = 2.0*self.lameMu
C1223 = 0.0
C1213 = 0.0
+ C2323 = 2.0*self.lameMu
C2313 = 0.0
+ C1313 = 2.0*self.lameMu
D = numpy.array([ [C1111, C1122, C1133, C1112, C1123, C1113],
[C1122, C2222, C2233, C2212, C2223, C2213],
[C1133, C2233, C3333, C3312, C3323, C3313],
@@ -176,20 +176,20 @@
B[0, iBasis*self.spaceDim+0] = self.basisDeriv[iQuad, iBasis, 0]
B[1, iBasis*self.spaceDim+1] = self.basisDeriv[iQuad, iBasis, 1]
B[2, iBasis*self.spaceDim+2] = self.basisDeriv[iQuad, iBasis, 2]
- B[3, iBasis*self.spaceDim+0] = self.basisDeriv[iQuad, iBasis, 1]
- B[3, iBasis*self.spaceDim+1] = self.basisDeriv[iQuad, iBasis, 0]
- B[4, iBasis*self.spaceDim+1] = self.basisDeriv[iQuad, iBasis, 2]
- B[4, iBasis*self.spaceDim+2] = self.basisDeriv[iQuad, iBasis, 1]
- B[5, iBasis*self.spaceDim+0] = self.basisDeriv[iQuad, iBasis, 2]
- B[5, iBasis*self.spaceDim+2] = self.basisDeriv[iQuad, iBasis, 0]
+ B[3, iBasis*self.spaceDim+0] = 0.5*self.basisDeriv[iQuad, iBasis, 1]
+ B[3, iBasis*self.spaceDim+1] = 0.5*self.basisDeriv[iQuad, iBasis, 0]
+ B[4, iBasis*self.spaceDim+1] = 0.5*self.basisDeriv[iQuad, iBasis, 2]
+ B[4, iBasis*self.spaceDim+2] = 0.5*self.basisDeriv[iQuad, iBasis, 1]
+ B[5, iBasis*self.spaceDim+0] = 0.5*self.basisDeriv[iQuad, iBasis, 2]
+ B[5, iBasis*self.spaceDim+2] = 0.5*self.basisDeriv[iQuad, iBasis, 0]
elif 2 == self.spaceDim:
B = numpy.zeros( (3, self.spaceDim*self.numBasis),
dtype=numpy.float64)
for iBasis in xrange(self.numBasis):
B[0, iBasis*self.spaceDim+0] = self.basisDeriv[iQuad, iBasis, 0]
B[1, iBasis*self.spaceDim+1] = self.basisDeriv[iQuad, iBasis, 1]
- B[2, iBasis*self.spaceDim+0] = self.basisDeriv[iQuad, iBasis, 1]
- B[2, iBasis*self.spaceDim+1] = self.basisDeriv[iQuad, iBasis, 0]
+ B[2, iBasis*self.spaceDim+0] = 0.5*self.basisDeriv[iQuad, iBasis, 1]
+ B[2, iBasis*self.spaceDim+1] = 0.5*self.basisDeriv[iQuad, iBasis, 0]
elif 1 == self.spaceDim:
B = numpy.zeros( (1, self.spaceDim*self.numBasis),
dtype=numpy.float64)
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution3DLinear.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution3DLinear.py 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/Solution3DLinear.py 2007-06-01 00:34:41 UTC (rev 7025)
@@ -38,11 +38,11 @@
# Input fields
self.dt = 0.01
- self.fieldTpdt = numpy.array([ +0.4, +0.2, -0.5,
+ self.fieldTpdt = numpy.array([ +0.3, +0.2, -0.5,
-0.3, -0.4, -0.6,
+0.2, +0.6, +0.3,
-0.6, -0.1, -0.3], dtype=numpy.float64)
- self.fieldT = numpy.array([ +0.1, +0.1, -0.6,
+ self.fieldT = numpy.array([ +0.8, +0.1, -0.6,
-0.1, -0.2, -0.5,
+0.1, +0.7, +0.2,
-0.5, -0.0, -0.2], dtype=numpy.float64)
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh 2007-05-31 22:38:45 UTC (rev 7024)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh 2007-06-01 00:34:41 UTC (rev 7025)
@@ -198,4 +198,71 @@
fi
+# //////////////////////////////////////////////////////////////////////
+if [ $1 == "implicit" ] || [ $1 == "all" ]; then
+
+ # 1-D ----------------------------------------------------------------
+
+ python ElasticityImplicit.py \
+ --data.namespace=pylith,feassemble \
+ --data.object=ElasticityImplicitData1DLinear \
+ --data.parent=IntegratorData \
+ --mesh=Mesh1DLinear \
+ --quadrature=Quadrature1DLinear \
+ --material=MaterialElasticStrain1D \
+ --solution=Solution1DLinear
+
+ python ElasticityImplicit.py \
+ --data.namespace=pylith,feassemble \
+ --data.object=ElasticityImplicitData1DQuadratic \
+ --data.parent=IntegratorData \
+ --mesh=Mesh1DQuadratic \
+ --quadrature=Quadrature1DQuadratic \
+ --material=MaterialElasticStrain1D \
+ --solution=Solution1DQuadratic
+
+ # 2-D ----------------------------------------------------------------
+
+ python ElasticityImplicit.py \
+ --data.namespace=pylith,feassemble \
+ --data.object=ElasticityImplicitData2DLinear \
+ --data.parent=IntegratorData \
+ --mesh=Mesh2DLinear \
+ --quadrature=Quadrature2DLinear \
+ --material=ElasticPlaneStrain \
+ --solution=Solution2DLinear
+
+ python ElasticityImplicit.py \
+ --data.namespace=pylith,feassemble \
+ --data.object=ElasticityImplicitData2DQuadratic \
+ --data.parent=IntegratorData \
+ --mesh=Mesh2DQuadratic \
+ --quadrature=Quadrature2DQuadratic \
+ --material=ElasticPlaneStrain \
+ --solution=Solution2DQuadratic
+
+
+ # 3-D ----------------------------------------------------------------
+
+ python ElasticityImplicit.py \
+ --data.namespace=pylith,feassemble \
+ --data.object=ElasticityImplicitData3DLinear \
+ --data.parent=IntegratorData \
+ --mesh=Mesh3DLinear \
+ --quadrature=Quadrature3DLinear \
+ --material=ElasticIsotropic3D \
+ --solution=Solution3DLinear
+
+ python ElasticityImplicit.py \
+ --data.namespace=pylith,feassemble \
+ --data.object=ElasticityImplicitData3DQuadratic \
+ --data.parent=IntegratorData \
+ --mesh=Mesh3DQuadratic \
+ --quadrature=Quadrature3DQuadratic \
+ --material=ElasticIsotropic3D \
+ --solution=Solution3DQuadratic
+
+fi
+
+
# End of file
More information about the cig-commits
mailing list