[cig-commits] r16627 - in short/3D/PyLith/trunk: . unittests/libtests/feassemble unittests/libtests/feassemble/data
brad at geodynamics.org
brad at geodynamics.org
Tue May 4 14:07:28 PDT 2010
Author: brad
Date: 2010-05-04 14:07:28 -0700 (Tue, 04 May 2010)
New Revision: 16627
Added:
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityLgDeformExplicitApp.py
Modified:
short/3D/PyLith/trunk/TODO
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DLinear.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DQuadratic.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DLinear.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DQuadratic.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DLinear.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DQuadratic.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DLinear.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DQuadratic.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DLinear.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DQuadratic.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DLinear.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DQuadratic.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicit.py
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeform.py
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.cc
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.hh
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityLgDeformApp.py
short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh
Log:
Added unit tests for integrateResidualLumped() and integrateJacobiabLumped() for explicit elasticity with small strain.
Modified: short/3D/PyLith/trunk/TODO
===================================================================
--- short/3D/PyLith/trunk/TODO 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/TODO 2010-05-04 21:07:28 UTC (rev 16627)
@@ -3,6 +3,7 @@
======================================================================
need Cygwin binbot
+need x86_64 binbot compatible w/libc 2.7
MAIN PRIORITIES
@@ -23,13 +24,11 @@
+ Add stuff to manual
* Optimization
- + Specialized elasticity integrator objects for Tri3, Quad4, Tet4, Hex8
+ + Specialized elasticity integrator objects for Tri3, Quad4, Hex8
+ inline methods (what isn't getting inlined) -Winline
* Lumped solver
+ Need to finish unit tests
- + Remove redundant call to calcRateFields in SolverLumped.
- Update velocity and slip rate fields in adjustSolnLumped().
* Updates to manual
+ tutorial
@@ -102,8 +101,6 @@
ElasticityExplicitTet4
integrateResidualLumped()
- ElasticityExplicitLgDeform
- integrateResidualLumped()
AbsorbingDampers
integrateResidualLumped()
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicit.cc 2010-05-04 21:07:28 UTC (rev 16627)
@@ -299,7 +299,7 @@
// Test integrateJacobian().
void
pylith::feassemble::TestElasticityExplicit::testIntegrateJacobianLumped(void)
-{ // testIntegrateJacobian
+{ // testIntegrateJacobianLumped
CPPUNIT_ASSERT(0 != _data);
topology::Mesh mesh;
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.cc 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.cc 2010-05-04 21:07:28 UTC (rev 16627)
@@ -15,7 +15,7 @@
#include "TestElasticityExplicitLgDeform.hh" // Implementation of class methods
#include "pylith/feassemble/ElasticityExplicitLgDeform.hh" // USES ElasticityExplicitLgDeform
-#include "data/IntegratorData.hh" // USES IntegratorData
+#include "data/ElasticityExplicitData.hh" // USES ElasticityExplicitData
#include "pylith/utils/constdefs.h" // USES MAXDOUBLE
#include "pylith/materials/ElasticIsotropic3D.hh" // USES ElasticIsotropic3D
@@ -125,6 +125,46 @@
} // testIntegrateResidual
// ----------------------------------------------------------------------
+// Test integrateResidual().
+void
+pylith::feassemble::TestElasticityExplicitLgDeform::testIntegrateResidualLumped(void)
+{ // testIntegrateResidualLumped
+ CPPUNIT_ASSERT(0 != _data);
+
+ topology::Mesh mesh;
+ ElasticityExplicitLgDeform integrator;
+ topology::SolutionFields fields(mesh);
+ _initialize(&mesh, &integrator, &fields);
+
+ topology::Field<topology::Mesh>& residual = fields.get("residual");
+ const double t = 1.0;
+ integrator.integrateResidualLumped(residual, t, &fields);
+
+ const double* valsE = _data->valsResidualLumped;
+ const int sizeE = _data->spaceDim * _data->numVertices;
+
+ const ALE::Obj<RealSection>& residualSection = residual.section();
+ CPPUNIT_ASSERT(!residualSection.isNull());
+ const double* vals = residualSection->restrictSpace();
+ const int size = residualSection->sizeWithBC();
+ CPPUNIT_ASSERT_EQUAL(sizeE, size);
+
+#if 0
+ residual.view("RESIDUAL");
+ std::cout << "EXPECTED RESIDUAL" << std::endl;
+ for (int i=0; i < size; ++i)
+ std::cout << " " << valsE[i] << std::endl;
+#endif
+
+ 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);
+} // testIntegrateResidualLumped
+
+// ----------------------------------------------------------------------
// Test integrateJacobian().
void
pylith::feassemble::TestElasticityExplicitLgDeform::testIntegrateJacobian(void)
@@ -183,6 +223,59 @@
} // testIntegrateJacobian
// ----------------------------------------------------------------------
+// Test integrateJacobian().
+void
+pylith::feassemble::TestElasticityExplicitLgDeform::testIntegrateJacobianLumped(void)
+{ // testIntegrateJacobianLumped
+ CPPUNIT_ASSERT(0 != _data);
+
+ topology::Mesh mesh;
+ ElasticityExplicitLgDeform integrator;
+ topology::SolutionFields fields(mesh);
+ _initialize(&mesh, &integrator, &fields);
+ integrator._needNewJacobian = true;
+
+ topology::Field<topology::Mesh> jacobian(mesh);
+ jacobian.label("Jacobian");
+ jacobian.vectorFieldType(topology::FieldBase::VECTOR);
+ jacobian.newSection(topology::FieldBase::VERTICES_FIELD, _data->spaceDim);
+ jacobian.allocate();
+
+ const double t = 1.0;
+ integrator.integrateJacobian(&jacobian, t, &fields);
+ CPPUNIT_ASSERT_EQUAL(false, integrator.needNewJacobian());
+ jacobian.complete();
+
+ const double* valsE = _data->valsJacobianLumped;
+
+#if 0 // DEBUGGING
+ // TEMPORARY
+ jacobian.view("JACOBIAN");
+ std::cout << "\n\nJACOBIAN FULL" << std::endl;
+ const int n = numBasis*spaceDim;
+ for (int r=0; r < n; ++r) {
+ for (int c=0; c < n; ++c)
+ std::cout << " " << valsMatrixE[r*n+c];
+ std::cout << "\n";
+ } // for
+#endif // DEBUGGING
+
+ const ALE::Obj<RealSection>& jacobianSection = jacobian.section();
+ CPPUNIT_ASSERT(!jacobianSection.isNull());
+ const double* vals = jacobianSection->restrictSpace();
+ const int size = jacobianSection->sizeWithBC();
+ const int sizeE = _data->numVertices * _data->spaceDim;
+ 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);
+} // testIntegrateJacobianLumped
+
+// ----------------------------------------------------------------------
// Test updateStateVars().
void
pylith::feassemble::TestElasticityExplicitLgDeform::testUpdateStateVars(void)
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -33,7 +33,7 @@
namespace pylith {
namespace feassemble {
class TestElasticityExplicitLgDeform;
- class IntegratorData;
+ class ElasticityExplicitData;
} // feassemble
} // pylith
@@ -70,16 +70,22 @@
/// Test integrateResidual().
void testIntegrateResidual(void);
+ /// Test integrateResidual().
+ void testIntegrateResidualLumped(void);
+
/// Test integrateJacobian().
void testIntegrateJacobian(void);
+ /// Test integrateJacobian().
+ void testIntegrateJacobianLumped(void);
+
/// Test updateStateVars().
void testUpdateStateVars(void);
// PROTECTED MEMBERS //////////////////////////////////////////////////
protected :
- IntegratorData* _data; ///< Data for testing.
+ ElasticityExplicitData* _data; ///< Data for testing.
materials::ElasticMaterial* _material; ///< Elastic material.
Quadrature<topology::Mesh>* _quadrature; ///< Quadrature information.
spatialdata::spatialdb::GravityField* _gravityField; ///< Gravity field.
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DLinear.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DLinear.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
+ CPPUNIT_TEST( testIntegrateResidualLumped );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testIntegrateJacobianLumped );
CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DQuadratic.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform1DQuadratic.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
+ CPPUNIT_TEST( testIntegrateResidualLumped );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testIntegrateJacobianLumped );
CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DLinear.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DLinear.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
+ CPPUNIT_TEST( testIntegrateResidualLumped );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testIntegrateJacobianLumped );
CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DQuadratic.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform2DQuadratic.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
+ CPPUNIT_TEST( testIntegrateResidualLumped );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testIntegrateJacobianLumped );
CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DLinear.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DLinear.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
+ CPPUNIT_TEST( testIntegrateResidualLumped );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testIntegrateJacobianLumped );
CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DQuadratic.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeform3DQuadratic.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
+ CPPUNIT_TEST( testIntegrateResidualLumped );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testIntegrateJacobianLumped );
CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DLinear.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DLinear.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
+ CPPUNIT_TEST( testIntegrateResidualLumped );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testIntegrateJacobianLumped );
CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DQuadratic.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav1DQuadratic.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
+ CPPUNIT_TEST( testIntegrateResidualLumped );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testIntegrateJacobianLumped );
CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DLinear.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DLinear.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
+ CPPUNIT_TEST( testIntegrateResidualLumped );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testIntegrateJacobianLumped );
CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DQuadratic.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav2DQuadratic.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
+ CPPUNIT_TEST( testIntegrateResidualLumped );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testIntegrateJacobianLumped );
CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DLinear.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DLinear.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
+ CPPUNIT_TEST( testIntegrateResidualLumped );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testIntegrateJacobianLumped );
CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DQuadratic.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/TestElasticityExplicitLgDeformGrav3DQuadratic.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -40,7 +40,9 @@
CPPUNIT_TEST( testInitialize );
CPPUNIT_TEST( testIntegrateResidual );
+ CPPUNIT_TEST( testIntegrateResidualLumped );
CPPUNIT_TEST( testIntegrateJacobian );
+ CPPUNIT_TEST( testIntegrateJacobianLumped );
CPPUNIT_TEST( testUpdateStateVars );
CPPUNIT_TEST_SUITE_END();
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicit.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicit.py 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicit.py 2010-05-04 21:07:28 UTC (rev 16627)
@@ -79,8 +79,9 @@
M = integrator._calculateMassMat()
Ml = self._lumpMatrix(M, integrator.numBasis, integrator.spaceDim)
- vel = (integrator.fieldT + integrator.fieldTIncr - integrator.fieldTmdt) / (2.0*integrator.dt)
- acc = (integrator.fieldTIncr - integrator.fieldT + integrator.fieldTmdt) / (integrator.dt**2)
+ acc = (integrator.fieldTIncr -
+ integrator.fieldT +
+ integrator.fieldTmdt) / (integrator.dt**2)
acc = acc.flatten()
residual = -Ml*acc - numpy.dot(K, integrator.fieldT).flatten()
return residual.flatten()
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeform.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeform.py 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeform.py 2010-05-04 21:07:28 UTC (rev 16627)
@@ -18,6 +18,7 @@
from pyre.components.Component import Component
import numpy
+import feutils
# ----------------------------------------------------------------------
@@ -51,12 +52,86 @@
# Calculate action for inertia
M = integrator._calculateMassMat()
- acc = (integrator.fieldTIncr - integrator.fieldT + integrator.fieldTmdt) / (integrator.dt**2)
+ acc = (integrator.fieldTIncr -
+ integrator.fieldT +
+ integrator.fieldTmdt) / (integrator.dt**2)
residual = -numpy.dot(M, acc)
residual = residual.flatten()
+ residual += self._elasticityResidual(integrator)
+ return residual
- # Calculate action for elasticity
+ def calculateJacobian(self, integrator):
+ """
+ Calculate contribution to Jacobian matrix of operator for integrator.
+
+ [A] = (1/dt**2)[M]
+ """
+ M = integrator._calculateMassMat()
+
+ jacobian = 1.0/integrator.dt**2 * M
+ return jacobian
+
+
+ def calculateResidualLumped(self, integrator):
+ """
+ Calculate contribution to residual of operator for integrator.
+
+ {r} = (1/dt**2)[M](-{u(t+dt)} + 2 {u(t)} - {u(t-dt)}) -
+ [K]{u(t)}
+ """
+ M = integrator._calculateMassMat()
+ Ml = self._lumpMatrix(M, integrator.numBasis, integrator.spaceDim)
+
+ acc = (integrator.fieldTIncr -
+ integrator.fieldT +
+ integrator.fieldTmdt) / (integrator.dt**2)
+ acc = acc.flatten()
+ residual = -Ml*acc
+ residual.flatten()
+
+ residual += self._elasticityResidual(integrator)
+ return residual
+
+
+ def calculateJacobianLumped(self, integrator):
+ """
+ Calculate contribution to Jacobian matrix of operator for integrator.
+
+ [A] = (1/dt**2)[M]
+ """
+ M = integrator._calculateMassMat()
+ Ml = self._lumpMatrix(M, integrator.numBasis, integrator.spaceDim)
+
+ jacobian = 1.0/integrator.dt**2 * Ml
+ return jacobian.flatten()
+
+
+ def _lumpMatrix(self, matrix, numBasis, spaceDim):
+ """
+ Lump matrix.
+ """
+ (nrows,ncols) = matrix.shape
+ assert(numBasis * spaceDim == nrows)
+ assert(nrows == ncols)
+ vector = numpy.zeros( (ncols), dtype=numpy.float64)
+
+ for iBasis in xrange(numBasis):
+ for iDim in xrange(spaceDim):
+ v = 0.0
+ for jBasis in xrange(numBasis):
+ v += matrix[iBasis*spaceDim+iDim,jBasis*spaceDim+iDim]
+ vector[iBasis*spaceDim+iDim] = v
+ return vector
+
+
+ def _elasticityResidual(self, integrator):
+ """
+ Calculate action for elasticity.
+ """
+ residual = numpy.zeros( (integrator.numBasis*integrator.spaceDim),
+ dtype=numpy.float64)
+
# Matrix of elasticity values
D = integrator._calculateElasticityMat()
@@ -77,22 +152,9 @@
cellR -= wt * numpy.dot(BL.transpose(), S)
feutils.assembleVec(residual, cellR.flatten(), cell, integrator.spaceDim)
-
return residual
- def calculateJacobian(self, integrator):
- """
- Calculate contribution to Jacobian matrix of operator for integrator.
-
- [A] = (1/dt**2)[M]
- """
- M = integrator._calculateMassMat()
-
- jacobian = 1.0/integrator.dt**2 * M
- return jacobian
-
-
# FACTORY //////////////////////////////////////////////////////////////
def formulation():
return ElasticityExplicit()
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.cc 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.cc 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#include "ElasticityExplicitLgDeformData1DLinear.hh"
@@ -100,6 +100,16 @@
1.40625000e+07,
};
+const double pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_valsResidualLumped[] = {
+ 2.04885687e+10,
+ -2.05616937e+10,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::_valsJacobianLumped[] = {
+ 2.81250000e+07,
+ 2.81250000e+07,
+};
+
pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::ElasticityExplicitLgDeformData1DLinear(void)
{ // constructor
spaceDim = _spaceDim;
@@ -126,6 +136,8 @@
fieldTmdt = const_cast<double*>(_fieldTmdt);
valsResidual = const_cast<double*>(_valsResidual);
valsJacobian = const_cast<double*>(_valsJacobian);
+ valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformData1DLinear::~ElasticityExplicitLgDeformData1DLinear(void)
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DLinear.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#if !defined(pylith_feassemble_elasticityexplicitlgdeformdata1dlinear_hh)
#define pylith_feassemble_elasticityexplicitlgdeformdata1dlinear_hh
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
namespace pylith {
namespace feassemble {
@@ -24,7 +24,7 @@
} // pylith
} // feassemble
-class pylith::feassemble::ElasticityExplicitLgDeformData1DLinear : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformData1DLinear : public ElasticityExplicitData
{
public:
@@ -85,6 +85,10 @@
static const double _valsJacobian[];
+ static const double _valsResidualLumped[];
+
+ static const double _valsJacobianLumped[];
+
};
#endif // pylith_feassemble_elasticityexplicitlgdeformdata1dlinear_hh
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.cc 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.cc 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#include "ElasticityExplicitLgDeformData1DQuadratic.hh"
@@ -120,6 +120,18 @@
2.50000000e+07,
};
+const double pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_valsResidualLumped[] = {
+ 8.41101813e+10,
+ -9.31160494e+09,
+ -7.48651389e+10,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::_valsJacobianLumped[] = {
+ 9.37500000e+06,
+ 9.37500000e+06,
+ 3.75000000e+07,
+};
+
pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::ElasticityExplicitLgDeformData1DQuadratic(void)
{ // constructor
spaceDim = _spaceDim;
@@ -146,6 +158,8 @@
fieldTmdt = const_cast<double*>(_fieldTmdt);
valsResidual = const_cast<double*>(_valsResidual);
valsJacobian = const_cast<double*>(_valsJacobian);
+ valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic::~ElasticityExplicitLgDeformData1DQuadratic(void)
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData1DQuadratic.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#if !defined(pylith_feassemble_elasticityexplicitlgdeformdata1dquadratic_hh)
#define pylith_feassemble_elasticityexplicitlgdeformdata1dquadratic_hh
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
namespace pylith {
namespace feassemble {
@@ -24,7 +24,7 @@
} // pylith
} // feassemble
-class pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformData1DQuadratic : public ElasticityExplicitData
{
public:
@@ -85,6 +85,10 @@
static const double _valsJacobian[];
+ static const double _valsResidualLumped[];
+
+ static const double _valsJacobianLumped[];
+
};
#endif // pylith_feassemble_elasticityexplicitlgdeformdata1dquadratic_hh
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.cc 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.cc 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#include "ElasticityExplicitLgDeformData2DLinear.hh"
@@ -120,6 +120,18 @@
0.00000000e+00, 3.81944444e+05,
};
+const double pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_valsResidualLumped[] = {
+ -1.30907928e+11, 1.45826729e+11,
+ 4.13428421e+10, -1.44672491e+11,
+ 8.95626801e+10, -1.15504040e+09,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::_valsJacobianLumped[] = {
+ 1.14583333e+06, 1.14583333e+06,
+ 1.14583333e+06, 1.14583333e+06,
+ 1.14583333e+06, 1.14583333e+06,
+};
+
pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::ElasticityExplicitLgDeformData2DLinear(void)
{ // constructor
spaceDim = _spaceDim;
@@ -146,6 +158,8 @@
fieldTmdt = const_cast<double*>(_fieldTmdt);
valsResidual = const_cast<double*>(_valsResidual);
valsJacobian = const_cast<double*>(_valsJacobian);
+ valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformData2DLinear::~ElasticityExplicitLgDeformData2DLinear(void)
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DLinear.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#if !defined(pylith_feassemble_elasticityexplicitlgdeformdata2dlinear_hh)
#define pylith_feassemble_elasticityexplicitlgdeformdata2dlinear_hh
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
namespace pylith {
namespace feassemble {
@@ -24,7 +24,7 @@
} // pylith
} // feassemble
-class pylith::feassemble::ElasticityExplicitLgDeformData2DLinear : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformData2DLinear : public ElasticityExplicitData
{
public:
@@ -85,6 +85,10 @@
static const double _valsJacobian[];
+ static const double _valsResidualLumped[];
+
+ static const double _valsJacobianLumped[];
+
};
#endif // pylith_feassemble_elasticityexplicitlgdeformdata2dlinear_hh
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.cc 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.cc 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#include "ElasticityExplicitLgDeformData2DQuadratic.hh"
@@ -247,6 +247,24 @@
0.00000000e+00, 8.46679688e+06,
};
+const double pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_valsResidualLumped[] = {
+ 3.35171172e+10, 8.10192601e+10,
+ -7.94952005e+10, -4.37841381e+10,
+ 2.10014852e+10, 2.15149774e+10,
+ 7.31149003e+10, -6.34801637e+09,
+ -5.42577005e+10, -9.94955366e+10,
+ 6.13320302e+09, 4.71014693e+10,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::_valsJacobianLumped[] = {
+ 4.21875000e+06, 4.21875000e+06,
+ 3.98437500e+06, 3.98437500e+06,
+ 3.98437500e+06, 3.98437500e+06,
+ 2.25000000e+07, 2.25000000e+07,
+ 5.15625000e+06, 5.15625000e+06,
+ 5.15625000e+06, 5.15625000e+06,
+};
+
pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::ElasticityExplicitLgDeformData2DQuadratic(void)
{ // constructor
spaceDim = _spaceDim;
@@ -273,6 +291,8 @@
fieldTmdt = const_cast<double*>(_fieldTmdt);
valsResidual = const_cast<double*>(_valsResidual);
valsJacobian = const_cast<double*>(_valsJacobian);
+ valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic::~ElasticityExplicitLgDeformData2DQuadratic(void)
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData2DQuadratic.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#if !defined(pylith_feassemble_elasticityexplicitlgdeformdata2dquadratic_hh)
#define pylith_feassemble_elasticityexplicitlgdeformdata2dquadratic_hh
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
namespace pylith {
namespace feassemble {
@@ -24,7 +24,7 @@
} // pylith
} // feassemble
-class pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformData2DQuadratic : public ElasticityExplicitData
{
public:
@@ -85,6 +85,10 @@
static const double _valsJacobian[];
+ static const double _valsResidualLumped[];
+
+ static const double _valsJacobianLumped[];
+
};
#endif // pylith_feassemble_elasticityexplicitlgdeformdata2dquadratic_hh
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.cc 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.cc 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#include "ElasticityExplicitLgDeformData3DLinear.hh"
@@ -157,6 +157,20 @@
0.00000000e+00, 0.00000000e+00, 8.40625000e+05,
};
+const double pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_valsResidualLumped[] = {
+ -1.33654308e+10, 3.00654749e+11, 1.48221233e+11,
+ -5.48895440e+10, 6.55600730e+11, 3.04462310e+11,
+ 6.45891529e+10, -1.06343052e+12, -4.86428216e+11,
+ 3.66918432e+09, 1.07175045e+11, 3.37473630e+10,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::_valsJacobianLumped[] = {
+ 3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
+ 3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
+ 3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
+ 3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
+};
+
pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::ElasticityExplicitLgDeformData3DLinear(void)
{ // constructor
spaceDim = _spaceDim;
@@ -183,6 +197,8 @@
fieldTmdt = const_cast<double*>(_fieldTmdt);
valsResidual = const_cast<double*>(_valsResidual);
valsJacobian = const_cast<double*>(_valsJacobian);
+ valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformData3DLinear::~ElasticityExplicitLgDeformData3DLinear(void)
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DLinear.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#if !defined(pylith_feassemble_elasticityexplicitlgdeformdata3dlinear_hh)
#define pylith_feassemble_elasticityexplicitlgdeformdata3dlinear_hh
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
namespace pylith {
namespace feassemble {
@@ -24,7 +24,7 @@
} // pylith
} // feassemble
-class pylith::feassemble::ElasticityExplicitLgDeformData3DLinear : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformData3DLinear : public ElasticityExplicitData
{
public:
@@ -85,6 +85,10 @@
static const double _valsJacobian[];
+ static const double _valsResidualLumped[];
+
+ static const double _valsJacobianLumped[];
+
};
#endif // pylith_feassemble_elasticityexplicitlgdeformdata3dlinear_hh
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.cc 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.cc 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#include "ElasticityExplicitLgDeformData3DQuadratic.hh"
@@ -496,6 +496,32 @@
0.00000000e+00, 0.00000000e+00, 3.25847917e+06,
};
+const double pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_valsResidualLumped[] = {
+ 3.68908573e+10, 2.89160572e+10, -8.38305638e+08,
+ 1.31658131e+11, -3.38201739e+10, 5.13320041e+10,
+ -3.92910621e+11, -2.10630330e+11, -2.01774882e+11,
+ -1.14267995e+11, 1.30716630e+11, -1.07973250e+11,
+ -2.64249877e+11, -2.85444292e+10, -4.02143984e+10,
+ 4.59400261e+11, 2.32380003e+11, 2.74969025e+11,
+ -2.47002605e+11, -7.38605515e+10, -4.79743995e+10,
+ 5.25288799e+10, -8.35277685e+10, -1.48113346e+10,
+ -1.20394352e+11, 3.07717391e+11, -2.63736436e+11,
+ 4.58361238e+11, -2.69324783e+11, 3.51036392e+11,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::_valsJacobianLumped[] = {
+ 2.57903646e+06, 2.57903646e+06, 2.57903646e+06,
+ 2.40117187e+06, 2.40117187e+06, 2.40117187e+06,
+ 2.40117188e+06, 2.40117188e+06, 2.40117188e+06,
+ 2.40117188e+06, 2.40117188e+06, 2.40117188e+06,
+ 1.20947917e+07, 1.20947917e+07, 1.20947917e+07,
+ 8.35963542e+06, 8.35963542e+06, 8.35963542e+06,
+ 8.35963542e+06, 8.35963542e+06, 8.35963542e+06,
+ 8.35963542e+06, 8.35963542e+06, 8.35963542e+06,
+ 1.20947917e+07, 1.20947917e+07, 1.20947917e+07,
+ 1.20947917e+07, 1.20947917e+07, 1.20947917e+07,
+};
+
pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::ElasticityExplicitLgDeformData3DQuadratic(void)
{ // constructor
spaceDim = _spaceDim;
@@ -522,6 +548,8 @@
fieldTmdt = const_cast<double*>(_fieldTmdt);
valsResidual = const_cast<double*>(_valsResidual);
valsJacobian = const_cast<double*>(_valsJacobian);
+ valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic::~ElasticityExplicitLgDeformData3DQuadratic(void)
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformData3DQuadratic.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#if !defined(pylith_feassemble_elasticityexplicitlgdeformdata3dquadratic_hh)
#define pylith_feassemble_elasticityexplicitlgdeformdata3dquadratic_hh
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
namespace pylith {
namespace feassemble {
@@ -24,7 +24,7 @@
} // pylith
} // feassemble
-class pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformData3DQuadratic : public ElasticityExplicitData
{
public:
@@ -85,6 +85,10 @@
static const double _valsJacobian[];
+ static const double _valsResidualLumped[];
+
+ static const double _valsJacobianLumped[];
+
};
#endif // pylith_feassemble_elasticityexplicitlgdeformdata3dquadratic_hh
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.cc 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.cc 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#include "ElasticityExplicitLgDeformGravData1DLinear.hh"
@@ -100,6 +100,16 @@
1.40625000e+07,
};
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_valsResidualLumped[] = {
+ -2.60761431e+11,
+ -3.01811694e+11,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::_valsJacobianLumped[] = {
+ 2.81250000e+07,
+ 2.81250000e+07,
+};
+
pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::ElasticityExplicitLgDeformGravData1DLinear(void)
{ // constructor
spaceDim = _spaceDim;
@@ -126,6 +136,8 @@
fieldTmdt = const_cast<double*>(_fieldTmdt);
valsResidual = const_cast<double*>(_valsResidual);
valsJacobian = const_cast<double*>(_valsJacobian);
+ valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear::~ElasticityExplicitLgDeformGravData1DLinear(void)
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DLinear.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#if !defined(pylith_feassemble_elasticityexplicitlgdeformgravdata1dlinear_hh)
#define pylith_feassemble_elasticityexplicitlgdeformgravdata1dlinear_hh
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
namespace pylith {
namespace feassemble {
@@ -24,7 +24,7 @@
} // pylith
} // feassemble
-class pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformGravData1DLinear : public ElasticityExplicitData
{
public:
@@ -85,6 +85,10 @@
static const double _valsJacobian[];
+ static const double _valsResidualLumped[];
+
+ static const double _valsJacobianLumped[];
+
};
#endif // pylith_feassemble_elasticityexplicitlgdeformgravdata1dlinear_hh
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.cc 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.cc 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#include "ElasticityExplicitLgDeformGravData1DQuadratic.hh"
@@ -120,6 +120,18 @@
2.50000000e+07,
};
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_valsResidualLumped[] = {
+ -9.63981867e+09,
+ -1.03061605e+11,
+ -4.49865139e+11,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::_valsJacobianLumped[] = {
+ 9.37500000e+06,
+ 9.37500000e+06,
+ 3.75000000e+07,
+};
+
pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::ElasticityExplicitLgDeformGravData1DQuadratic(void)
{ // constructor
spaceDim = _spaceDim;
@@ -146,6 +158,8 @@
fieldTmdt = const_cast<double*>(_fieldTmdt);
valsResidual = const_cast<double*>(_valsResidual);
valsJacobian = const_cast<double*>(_valsJacobian);
+ valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic::~ElasticityExplicitLgDeformGravData1DQuadratic(void)
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData1DQuadratic.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#if !defined(pylith_feassemble_elasticityexplicitlgdeformgravdata1dquadratic_hh)
#define pylith_feassemble_elasticityexplicitlgdeformgravdata1dquadratic_hh
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
namespace pylith {
namespace feassemble {
@@ -24,7 +24,7 @@
} // pylith
} // feassemble
-class pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformGravData1DQuadratic : public ElasticityExplicitData
{
public:
@@ -85,6 +85,10 @@
static const double _valsJacobian[];
+ static const double _valsResidualLumped[];
+
+ static const double _valsJacobianLumped[];
+
};
#endif // pylith_feassemble_elasticityexplicitlgdeformgravdata1dquadratic_hh
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.cc 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.cc 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#include "ElasticityExplicitLgDeformGravData2DLinear.hh"
@@ -120,6 +120,18 @@
0.00000000e+00, 3.81944444e+05,
};
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_valsResidualLumped[] = {
+ -1.30907928e+11, 1.34368396e+11,
+ 4.13428421e+10, -1.56130824e+11,
+ 8.95626801e+10, -1.26133737e+10,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::_valsJacobianLumped[] = {
+ 1.14583333e+06, 1.14583333e+06,
+ 1.14583333e+06, 1.14583333e+06,
+ 1.14583333e+06, 1.14583333e+06,
+};
+
pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::ElasticityExplicitLgDeformGravData2DLinear(void)
{ // constructor
spaceDim = _spaceDim;
@@ -146,6 +158,8 @@
fieldTmdt = const_cast<double*>(_fieldTmdt);
valsResidual = const_cast<double*>(_valsResidual);
valsJacobian = const_cast<double*>(_valsJacobian);
+ valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear::~ElasticityExplicitLgDeformGravData2DLinear(void)
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DLinear.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#if !defined(pylith_feassemble_elasticityexplicitlgdeformgravdata2dlinear_hh)
#define pylith_feassemble_elasticityexplicitlgdeformgravdata2dlinear_hh
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
namespace pylith {
namespace feassemble {
@@ -24,7 +24,7 @@
} // pylith
} // feassemble
-class pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformGravData2DLinear : public ElasticityExplicitData
{
public:
@@ -85,6 +85,10 @@
static const double _valsJacobian[];
+ static const double _valsResidualLumped[];
+
+ static const double _valsJacobianLumped[];
+
};
#endif // pylith_feassemble_elasticityexplicitlgdeformgravdata2dlinear_hh
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.cc 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.cc 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#include "ElasticityExplicitLgDeformGravData2DQuadratic.hh"
@@ -247,6 +247,24 @@
0.00000000e+00, 8.46679688e+06,
};
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_valsResidualLumped[] = {
+ 3.35171172e+10, 3.88317601e+10,
+ -7.94952005e+10, -8.36278881e+10,
+ 2.10014852e+10, -1.83287726e+10,
+ 7.31149003e+10, -2.31348016e+11,
+ -5.42577005e+10, -1.51058037e+11,
+ 6.13320302e+09, -4.46103066e+09,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::_valsJacobianLumped[] = {
+ 4.21875000e+06, 4.21875000e+06,
+ 3.98437500e+06, 3.98437500e+06,
+ 3.98437500e+06, 3.98437500e+06,
+ 2.25000000e+07, 2.25000000e+07,
+ 5.15625000e+06, 5.15625000e+06,
+ 5.15625000e+06, 5.15625000e+06,
+};
+
pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::ElasticityExplicitLgDeformGravData2DQuadratic(void)
{ // constructor
spaceDim = _spaceDim;
@@ -273,6 +291,8 @@
fieldTmdt = const_cast<double*>(_fieldTmdt);
valsResidual = const_cast<double*>(_valsResidual);
valsJacobian = const_cast<double*>(_valsJacobian);
+ valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic::~ElasticityExplicitLgDeformGravData2DQuadratic(void)
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData2DQuadratic.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#if !defined(pylith_feassemble_elasticityexplicitlgdeformgravdata2dquadratic_hh)
#define pylith_feassemble_elasticityexplicitlgdeformgravdata2dquadratic_hh
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
namespace pylith {
namespace feassemble {
@@ -24,7 +24,7 @@
} // pylith
} // feassemble
-class pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformGravData2DQuadratic : public ElasticityExplicitData
{
public:
@@ -85,6 +85,10 @@
static const double _valsJacobian[];
+ static const double _valsResidualLumped[];
+
+ static const double _valsJacobianLumped[];
+
};
#endif // pylith_feassemble_elasticityexplicitlgdeformgravdata2dquadratic_hh
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.cc 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.cc 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#include "ElasticityExplicitLgDeformGravData3DLinear.hh"
@@ -157,6 +157,20 @@
0.00000000e+00, 0.00000000e+00, 8.40625000e+05,
};
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_valsResidualLumped[] = {
+ -1.33654308e+10, 3.00654749e+11, 1.14596233e+11,
+ -5.48895440e+10, 6.55600730e+11, 2.70837310e+11,
+ 6.45891529e+10, -1.06343052e+12, -5.20053216e+11,
+ 3.66918432e+09, 1.07175045e+11, 1.22363040e+08,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::_valsJacobianLumped[] = {
+ 3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
+ 3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
+ 3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
+ 3.36250000e+06, 3.36250000e+06, 3.36250000e+06,
+};
+
pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::ElasticityExplicitLgDeformGravData3DLinear(void)
{ // constructor
spaceDim = _spaceDim;
@@ -183,6 +197,8 @@
fieldTmdt = const_cast<double*>(_fieldTmdt);
valsResidual = const_cast<double*>(_valsResidual);
valsJacobian = const_cast<double*>(_valsJacobian);
+ valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear::~ElasticityExplicitLgDeformGravData3DLinear(void)
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DLinear.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#if !defined(pylith_feassemble_elasticityexplicitlgdeformgravdata3dlinear_hh)
#define pylith_feassemble_elasticityexplicitlgdeformgravdata3dlinear_hh
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
namespace pylith {
namespace feassemble {
@@ -24,7 +24,7 @@
} // pylith
} // feassemble
-class pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformGravData3DLinear : public ElasticityExplicitData
{
public:
@@ -85,6 +85,10 @@
static const double _valsJacobian[];
+ static const double _valsResidualLumped[];
+
+ static const double _valsJacobianLumped[];
+
};
#endif // pylith_feassemble_elasticityexplicitlgdeformgravdata3dlinear_hh
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.cc 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.cc 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,7 +11,7 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#include "ElasticityExplicitLgDeformGravData3DQuadratic.hh"
@@ -496,6 +496,32 @@
0.00000000e+00, 0.00000000e+00, 3.25847917e+06,
};
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_valsResidualLumped[] = {
+ 3.68908573e+10, 2.89160572e+10, -2.66286702e+10,
+ 1.31658131e+11, -3.38201739e+10, 2.73202854e+10,
+ -3.92910621e+11, -2.10630330e+11, -2.25786601e+11,
+ -1.14267995e+11, 1.30716630e+11, -1.31984968e+11,
+ -2.64249877e+11, -2.85444292e+10, -1.61162315e+11,
+ 4.59400261e+11, 2.32380003e+11, 1.91372671e+11,
+ -2.47002605e+11, -7.38605515e+10, -1.31570754e+11,
+ 5.25288799e+10, -8.35277685e+10, -9.84076887e+10,
+ -1.20394352e+11, 3.07717391e+11, -3.84684352e+11,
+ 4.58361238e+11, -2.69324783e+11, 2.30088475e+11,
+};
+
+const double pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::_valsJacobianLumped[] = {
+ 2.57903646e+06, 2.57903646e+06, 2.57903646e+06,
+ 2.40117187e+06, 2.40117187e+06, 2.40117187e+06,
+ 2.40117188e+06, 2.40117188e+06, 2.40117188e+06,
+ 2.40117188e+06, 2.40117188e+06, 2.40117188e+06,
+ 1.20947917e+07, 1.20947917e+07, 1.20947917e+07,
+ 8.35963542e+06, 8.35963542e+06, 8.35963542e+06,
+ 8.35963542e+06, 8.35963542e+06, 8.35963542e+06,
+ 8.35963542e+06, 8.35963542e+06, 8.35963542e+06,
+ 1.20947917e+07, 1.20947917e+07, 1.20947917e+07,
+ 1.20947917e+07, 1.20947917e+07, 1.20947917e+07,
+};
+
pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::ElasticityExplicitLgDeformGravData3DQuadratic(void)
{ // constructor
spaceDim = _spaceDim;
@@ -522,6 +548,8 @@
fieldTmdt = const_cast<double*>(_fieldTmdt);
valsResidual = const_cast<double*>(_valsResidual);
valsJacobian = const_cast<double*>(_valsJacobian);
+ valsResidualLumped = const_cast<double*>(_valsResidualLumped);
+ valsJacobianLumped = const_cast<double*>(_valsJacobianLumped);
} // constructor
pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic::~ElasticityExplicitLgDeformGravData3DQuadratic(void)
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.hh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityExplicitLgDeformGravData3DQuadratic.hh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -11,12 +11,12 @@
//
// DO NOT EDIT THIS FILE
-// This file was generated from python application integratorelasticitylgdeform.
+// This file was generated from python application elasticitylgdeformexplicitapp.
#if !defined(pylith_feassemble_elasticityexplicitlgdeformgravdata3dquadratic_hh)
#define pylith_feassemble_elasticityexplicitlgdeformgravdata3dquadratic_hh
-#include "IntegratorData.hh"
+#include "ElasticityExplicitData.hh"
namespace pylith {
namespace feassemble {
@@ -24,7 +24,7 @@
} // pylith
} // feassemble
-class pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic : public IntegratorData
+class pylith::feassemble::ElasticityExplicitLgDeformGravData3DQuadratic : public ElasticityExplicitData
{
public:
@@ -85,6 +85,10 @@
static const double _valsJacobian[];
+ static const double _valsResidualLumped[];
+
+ static const double _valsJacobianLumped[];
+
};
#endif // pylith_feassemble_elasticityexplicitlgdeformgravdata3dquadratic_hh
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityLgDeformApp.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityLgDeformApp.py 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityLgDeformApp.py 2010-05-04 21:07:28 UTC (rev 16627)
@@ -10,7 +10,7 @@
# ----------------------------------------------------------------------
#
-## @file unittests/libtests/feassemble/data/ElasticityAppLgDeform.py
+## @file unittests/libtests/feassemble/data/ElasticityLgDeformApp.py
## @brief Python application for generating C++ data files for testing
## C++ elasticity integrator objects.
@@ -22,8 +22,8 @@
# ----------------------------------------------------------------------
-# ElasticityAppLgDeform class
-class ElasticityAppLgDeform(ElasticityApp):
+# ElasticityLgDeformApp class
+class ElasticityLgDeformApp(ElasticityApp):
"""
Python application for generating C++ data files for testing C++
elasticity integrator objects.
@@ -31,7 +31,7 @@
# PUBLIC METHODS /////////////////////////////////////////////////////
- def __init__(self, name="elasticityapplgdeform"):
+ def __init__(self, name="elasticitylgdeformapp"):
"""
Constructor.
"""
@@ -340,7 +340,7 @@
# MAIN /////////////////////////////////////////////////////////////////
if __name__ == "__main__":
- app = ElasticityAppLgDeform()
+ app = ElasticityLgDeformApp()
app.run()
Added: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityLgDeformExplicitApp.py
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityLgDeformExplicitApp.py (rev 0)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/ElasticityLgDeformExplicitApp.py 2010-05-04 21:07:28 UTC (rev 16627)
@@ -0,0 +1,65 @@
+#!/usr/bin/env python
+#
+# ----------------------------------------------------------------------
+#
+# Brad T. Aagaard
+# U.S. Geological Survey
+#
+# <LicenseText>
+#
+# ----------------------------------------------------------------------
+#
+
+## @file unittests/libtests/feassemble/data/ElasticityLgDeformExplicitApp.py
+
+## @brief Python application for generating C++ data files for testing
+## C++ elasticity integrator objects.
+
+from ElasticityLgDeformApp import ElasticityLgDeformApp
+from ElasticityExplicitApp import ElasticityExplicitApp
+
+import numpy
+
+# ----------------------------------------------------------------------
+
+# ElasticityLgDeformExplicitApp class
+class ElasticityLgDeformExplicitApp(ElasticityLgDeformApp,
+ ElasticityExplicitApp):
+ """
+ Python application for generating C++ data files for testing C++
+ elasticity integrator objects.
+ """
+
+ # PUBLIC METHODS /////////////////////////////////////////////////////
+
+ def __init__(self, name="elasticitylgdeformexplicitapp"):
+ """
+ Constructor.
+ """
+ ElasticityLgDeformApp.__init__(self, name)
+ ElasticityExplicitApp.__init__(self, name)
+ return
+
+
+ def main(self):
+ """
+ Run the application.
+ """
+ self._collectData()
+ self._calculateResidual()
+ self._calculateJacobian()
+ self._calculateResidualLumped()
+ self._calculateJacobianLumped()
+ self._initData()
+ self.data.write(self.name)
+ return
+
+
+# MAIN /////////////////////////////////////////////////////////////////
+if __name__ == "__main__":
+
+ app = ElasticityLgDeformExplicitApp()
+ app.run()
+
+
+# End of file
Modified: short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh 2010-05-04 19:59:34 UTC (rev 16626)
+++ short/3D/PyLith/trunk/unittests/libtests/feassemble/data/generate.sh 2010-05-04 21:07:28 UTC (rev 16627)
@@ -413,43 +413,43 @@
# 1-D ----------------------------------------------------------------
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformExplicitApp.py \
--formulation=ElasticityExplicitLgDeform \
--data.namespace=pylith,feassemble \
--data.object=ElasticityExplicitLgDeformData1DLinear \
- --data.parent=IntegratorData \
+ --data.parent=ElasticityExplicitData \
--mesh=Mesh1DLinear \
--quadrature=Quadrature1DLinear \
--material=MaterialElasticStrain1D \
--solution=Solution1DLinear
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformExplicitApp.py \
--formulation=ElasticityExplicitLgDeform \
--data.namespace=pylith,feassemble \
--data.object=ElasticityExplicitLgDeformData1DQuadratic \
- --data.parent=IntegratorData \
+ --data.parent=ElasticityExplicitData \
--mesh=Mesh1DQuadratic \
--quadrature=Quadrature1DQuadratic \
--material=MaterialElasticStrain1D \
--solution=Solution1DQuadratic
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformExplicitApp.py \
--use_gravity=True \
--formulation=ElasticityExplicitLgDeform \
--data.namespace=pylith,feassemble \
--data.object=ElasticityExplicitLgDeformGravData1DLinear \
- --data.parent=IntegratorData \
+ --data.parent=ElasticityExplicitData \
--mesh=Mesh1DLinear \
--quadrature=Quadrature1DLinear \
--material=MaterialElasticStrain1D \
--solution=Solution1DLinear
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformExplicitApp.py \
--use_gravity=True \
--formulation=ElasticityExplicitLgDeform \
--data.namespace=pylith,feassemble \
--data.object=ElasticityExplicitLgDeformGravData1DQuadratic \
- --data.parent=IntegratorData \
+ --data.parent=ElasticityExplicitData \
--mesh=Mesh1DQuadratic \
--quadrature=Quadrature1DQuadratic \
--material=MaterialElasticStrain1D \
@@ -458,43 +458,43 @@
# 2-D ----------------------------------------------------------------
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformExplicitApp.py \
--formulation=ElasticityExplicitLgDeform \
--data.namespace=pylith,feassemble \
--data.object=ElasticityExplicitLgDeformData2DLinear \
- --data.parent=IntegratorData \
+ --data.parent=ElasticityExplicitData \
--mesh=Mesh2DLinear \
--quadrature=Quadrature2DLinear \
--material=ElasticPlaneStrain \
--solution=Solution2DLinear
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformExplicitApp.py \
--formulation=ElasticityExplicitLgDeform \
--data.namespace=pylith,feassemble \
--data.object=ElasticityExplicitLgDeformData2DQuadratic \
- --data.parent=IntegratorData \
+ --data.parent=ElasticityExplicitData \
--mesh=Mesh2DQuadratic \
--quadrature=Quadrature2DQuadratic \
--material=ElasticPlaneStrain \
--solution=Solution2DQuadratic
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformExplicitApp.py \
--use_gravity=True \
--formulation=ElasticityExplicitLgDeform \
--data.namespace=pylith,feassemble \
--data.object=ElasticityExplicitLgDeformGravData2DLinear \
- --data.parent=IntegratorData \
+ --data.parent=ElasticityExplicitData \
--mesh=Mesh2DLinear \
--quadrature=Quadrature2DLinear \
--material=ElasticPlaneStrain \
--solution=Solution2DLinear
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformExplicitApp.py \
--use_gravity=True \
--formulation=ElasticityExplicitLgDeform \
--data.namespace=pylith,feassemble \
--data.object=ElasticityExplicitLgDeformGravData2DQuadratic \
- --data.parent=IntegratorData \
+ --data.parent=ElasticityExplicitData \
--mesh=Mesh2DQuadratic \
--quadrature=Quadrature2DQuadratic \
--material=ElasticPlaneStrain \
@@ -503,43 +503,43 @@
# 3-D ----------------------------------------------------------------
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformExplicitApp.py \
--formulation=ElasticityExplicitLgDeform \
--data.namespace=pylith,feassemble \
--data.object=ElasticityExplicitLgDeformData3DLinear \
- --data.parent=IntegratorData \
+ --data.parent=ElasticityExplicitData \
--mesh=Mesh3DLinear \
--quadrature=Quadrature3DLinear \
--material=ElasticIsotropic3D \
--solution=Solution3DLinear
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformExplicitApp.py \
--formulation=ElasticityExplicitLgDeform \
--data.namespace=pylith,feassemble \
--data.object=ElasticityExplicitLgDeformData3DQuadratic \
- --data.parent=IntegratorData \
+ --data.parent=ElasticityExplicitData \
--mesh=Mesh3DQuadratic \
--quadrature=Quadrature3DQuadratic \
--material=ElasticIsotropic3D \
--solution=Solution3DQuadratic
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformExplicitApp.py \
--use_gravity=True \
--formulation=ElasticityExplicitLgDeform \
--data.namespace=pylith,feassemble \
--data.object=ElasticityExplicitLgDeformGravData3DLinear \
- --data.parent=IntegratorData \
+ --data.parent=ElasticityExplicitData \
--mesh=Mesh3DLinear \
--quadrature=Quadrature3DLinear \
--material=ElasticIsotropic3D \
--solution=Solution3DLinear
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformExplicitApp.py \
--use_gravity=True \
--formulation=ElasticityExplicitLgDeform \
--data.namespace=pylith,feassemble \
--data.object=ElasticityExplicitLgDeformGravData3DQuadratic \
- --data.parent=IntegratorData \
+ --data.parent=ElasticityExplicitData \
--mesh=Mesh3DQuadratic \
--quadrature=Quadrature3DQuadratic \
--material=ElasticIsotropic3D \
@@ -553,7 +553,7 @@
# 1-D ----------------------------------------------------------------
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformApp.py \
--formulation=ElasticityImplicitLgDeform \
--data.namespace=pylith,feassemble \
--data.object=ElasticityImplicitLgDeformData1DLinear \
@@ -563,7 +563,7 @@
--material=MaterialElasticStrain1D \
--solution=Solution1DLinear
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformApp.py \
--formulation=ElasticityImplicitLgDeform \
--data.namespace=pylith,feassemble \
--data.object=ElasticityImplicitLgDeformData1DQuadratic \
@@ -573,7 +573,7 @@
--material=MaterialElasticStrain1D \
--solution=Solution1DQuadratic
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformApp.py \
--use_gravity=True \
--formulation=ElasticityImplicitLgDeform \
--data.namespace=pylith,feassemble \
@@ -584,7 +584,7 @@
--material=MaterialElasticStrain1D \
--solution=Solution1DLinear
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformApp.py \
--use_gravity=True \
--formulation=ElasticityImplicitLgDeform \
--data.namespace=pylith,feassemble \
@@ -598,7 +598,7 @@
# 2-D ----------------------------------------------------------------
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformApp.py \
--formulation=ElasticityImplicitLgDeform \
--data.namespace=pylith,feassemble \
--data.object=ElasticityImplicitLgDeformData2DLinear \
@@ -608,7 +608,7 @@
--material=ElasticPlaneStrain \
--solution=Solution2DLinear
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformApp.py \
--formulation=ElasticityImplicitLgDeform \
--data.namespace=pylith,feassemble \
--data.object=ElasticityImplicitLgDeformData2DQuadratic \
@@ -618,7 +618,7 @@
--material=ElasticPlaneStrain \
--solution=Solution2DQuadratic
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformApp.py \
--use_gravity=True \
--formulation=ElasticityImplicitLgDeform \
--data.namespace=pylith,feassemble \
@@ -629,7 +629,7 @@
--material=ElasticPlaneStrain \
--solution=Solution2DLinear
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformApp.py \
--use_gravity=True \
--formulation=ElasticityImplicitLgDeform \
--data.namespace=pylith,feassemble \
@@ -643,7 +643,7 @@
# 3-D ----------------------------------------------------------------
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformApp.py \
--formulation=ElasticityImplicitLgDeform \
--data.namespace=pylith,feassemble \
--data.object=ElasticityImplicitLgDeformData3DLinear \
@@ -653,7 +653,7 @@
--material=ElasticIsotropic3D \
--solution=Solution3DLinear
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformApp.py \
--formulation=ElasticityImplicitLgDeform \
--data.namespace=pylith,feassemble \
--data.object=ElasticityImplicitLgDeformData3DQuadratic \
@@ -663,7 +663,7 @@
--material=ElasticIsotropic3D \
--solution=Solution3DQuadratic
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformApp.py \
--use_gravity=True \
--formulation=ElasticityImplicitLgDeform \
--data.namespace=pylith,feassemble \
@@ -674,7 +674,7 @@
--material=ElasticIsotropic3D \
--solution=Solution3DLinear
- python ElasticityAppLgDeform.py \
+ python ElasticityLgDeformApp.py \
--use_gravity=True \
--formulation=ElasticityImplicitLgDeform \
--data.namespace=pylith,feassemble \
More information about the CIG-COMMITS
mailing list