[cig-commits] r19035 - short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/feassemble
brad at geodynamics.org
brad at geodynamics.org
Thu Oct 6 14:31:14 PDT 2011
Author: brad
Date: 2011-10-06 14:31:13 -0700 (Thu, 06 Oct 2011)
New Revision: 19035
Modified:
short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/feassemble/ElasticityImplicit.cc
short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/feassemble/IntegratorElasticity.cc
short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/feassemble/IntegratorElasticity.hh
Log:
Removed old elasticity preconditioning routines that have never been used or tested.
Modified: short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/feassemble/ElasticityImplicit.cc
===================================================================
--- short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/feassemble/ElasticityImplicit.cc 2011-10-06 21:30:37 UTC (rev 19034)
+++ short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/feassemble/ElasticityImplicit.cc 2011-10-06 21:31:13 UTC (rev 19035)
@@ -350,26 +350,19 @@
// Set variables dependent on dimension of cell
totalStrain_fn_type calcTotalStrainFn;
elasticityJacobian_fn_type elasticityJacobianFn;
- elasticityJacobian_fn_type elasticityPreconFn;
if (1 == cellDim) {
elasticityJacobianFn =
&pylith::feassemble::ElasticityImplicit::_elasticityJacobian1D;
- elasticityPreconFn =
- &pylith::feassemble::ElasticityImplicit::_elasticityPrecon1D;
calcTotalStrainFn =
&pylith::feassemble::IntegratorElasticity::_calcTotalStrain1D;
} else if (2 == cellDim) {
elasticityJacobianFn =
&pylith::feassemble::ElasticityImplicit::_elasticityJacobian2D;
- elasticityPreconFn =
- &pylith::feassemble::ElasticityImplicit::_elasticityPrecon2D;
calcTotalStrainFn =
&pylith::feassemble::IntegratorElasticity::_calcTotalStrain2D;
} else if (3 == cellDim) {
elasticityJacobianFn =
&pylith::feassemble::ElasticityImplicit::_elasticityJacobian3D;
- elasticityPreconFn =
- &pylith::feassemble::ElasticityImplicit::_elasticityPrecon3D;
calcTotalStrainFn =
&pylith::feassemble::IntegratorElasticity::_calcTotalStrain3D;
} else
@@ -513,17 +506,6 @@
jacobianVisitor, *c_iter,
&_cellMatrix[0], ADD_VALUES);
CHECK_PETSC_ERROR_MSG(err, "Update to PETSc Mat failed.");
-#if 0
- // Get laplacian matrix at quadrature points for this cell
- CALL_MEMBER_FN(*this, elasticityPreconFn)(elasticConsts);
-
- // Assemble cell contribution into PETSc preconditioner matrix.
- jacobianVisitor.clear();
- PetscErrorCode err = updateOperator(preconMat, *sieveMesh->getSieve(),
- jacobianVisitor, *c_iter,
- &_cellMatrix[0], ADD_VALUES);
- CHECK_PETSC_ERROR_MSG(err, "Update to PETSc Mat failed.");
-#endif
} // for
_needNewJacobian = false;
_material->resetNeedNewJacobian();
Modified: short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/feassemble/IntegratorElasticity.cc
===================================================================
--- short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/feassemble/IntegratorElasticity.cc 2011-10-06 21:30:37 UTC (rev 19034)
+++ short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/feassemble/IntegratorElasticity.cc 2011-10-06 21:31:13 UTC (rev 19035)
@@ -778,38 +778,6 @@
} // _elasticityJacobian1D
// ----------------------------------------------------------------------
-// Integrate laplacian term in Jacobian preconditioner for 1-D cells.
-void
-pylith::feassemble::IntegratorElasticity::_elasticityPrecon1D(
- const double_array& elasticConsts)
-{ // _elasticityPrecon1D
- const int numQuadPts = _quadrature->numQuadPts();
- const int numBasis = _quadrature->numBasis();
- const int spaceDim = _quadrature->spaceDim();
- const int cellDim = _quadrature->cellDim();
- const double_array& quadWts = _quadrature->quadWts();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& basisDeriv = _quadrature->basisDeriv();
-
- assert(1 == cellDim);
- assert(quadWts.size() == numQuadPts);
-
- for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
- for (int iBasis=0, iQ=iQuad*numBasis; iBasis < numBasis; ++iBasis) {
- const double valI = wt*basisDeriv[iQ+iBasis];
- for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- 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
- } // for
- PetscLogFlops(numQuadPts*(1+numBasis*(1+numBasis*2)));
-} // _elasticityPrecon1D
-
-// ----------------------------------------------------------------------
// Integrate elasticity term in Jacobian for 2-D cells.
void
pylith::feassemble::IntegratorElasticity::_elasticityJacobian2D(
@@ -879,48 +847,6 @@
} // _elasticityJacobian2D
// ----------------------------------------------------------------------
-// Integrate laplacian term in Jacobian preconditioner for 2-D cells.
-void
-pylith::feassemble::IntegratorElasticity::_elasticityPrecon2D(
- const double_array& elasticConsts)
-{ // _elasticityPrecon2D
- const int numQuadPts = _quadrature->numQuadPts();
- const int numBasis = _quadrature->numBasis();
- const int spaceDim = _quadrature->spaceDim();
- const int cellDim = _quadrature->cellDim();
- const double_array& quadWts = _quadrature->quadWts();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& basisDeriv = _quadrature->basisDeriv();
-
- assert(2 == cellDim);
- assert(quadWts.size() == numQuadPts);
-
- for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
- // Delta_ij = C_ijkl * e_kl
- // = C_ijlk * 0.5 (u_k,l + u_l,k)
- // = 0.5 * C_ijkl * (u_k,l + u_l,k)
- for (int iBasis=0, iQ=iQuad*numBasis*spaceDim;
- iBasis < numBasis;
- ++iBasis) {
- const double Ni1 = wt*basisDeriv[iQ+iBasis*spaceDim ];
- const double Ni2 = wt*basisDeriv[iQ+iBasis*spaceDim+1];
- const int iBlock = (iBasis*spaceDim ) * (numBasis*spaceDim);
- const int iBlock1 = (iBasis*spaceDim+1) * (numBasis*spaceDim);
- for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const double Nj1 = basisDeriv[iQ+jBasis*spaceDim ];
- const double Nj2 = basisDeriv[iQ+jBasis*spaceDim+1];
- const int jBlock = (jBasis*spaceDim );
- const int jBlock1 = (jBasis*spaceDim+1);
- _cellMatrix[iBlock +jBlock ] += Ni1*Nj1;
- _cellMatrix[iBlock1+jBlock1] += Ni2*Nj2;
- } // for
- } // for
- } // for
- PetscLogFlops(numQuadPts*(1+numBasis*(2+numBasis*(4))));
-} // _elasticityPrecon2D
-
-// ----------------------------------------------------------------------
// Integrate elasticity term in Jacobian for 3-D cells.
void
pylith::feassemble::IntegratorElasticity::_elasticityJacobian3D(
@@ -1051,52 +977,7 @@
} // _elasticityJacobian3D
// ----------------------------------------------------------------------
-// Integrate laplacian term in Jacobian preconditioner for 3-D cells.
void
-pylith::feassemble::IntegratorElasticity::_elasticityPrecon3D(
- const double_array& elasticConsts)
-{ // _elasticityPrecon3D
- const int numQuadPts = _quadrature->numQuadPts();
- const int numBasis = _quadrature->numBasis();
- const int spaceDim = _quadrature->spaceDim();
- const int cellDim = _quadrature->cellDim();
- const double_array& quadWts = _quadrature->quadWts();
- const double_array& jacobianDet = _quadrature->jacobianDet();
- const double_array& basisDeriv = _quadrature->basisDeriv();
-
- assert(3 == cellDim);
- assert(quadWts.size() == numQuadPts);
-
- // Compute Jacobian for consistent tangent matrix
- for (int iQuad=0; iQuad < numQuadPts; ++iQuad) {
- const double wt = quadWts[iQuad] * jacobianDet[iQuad];
- for (int iBasis=0, iQ=iQuad*numBasis*spaceDim;
- iBasis < numBasis;
- ++iBasis) {
- const double Ni1 = wt*basisDeriv[iQ+iBasis*spaceDim+0];
- const double Ni2 = wt*basisDeriv[iQ+iBasis*spaceDim+1];
- const double Ni3 = wt*basisDeriv[iQ+iBasis*spaceDim+2];
- for (int jBasis=0; jBasis < numBasis; ++jBasis) {
- const double Nj1 = basisDeriv[iQ+jBasis*spaceDim+0];
- const double Nj2 = basisDeriv[iQ+jBasis*spaceDim+1];
- const double Nj3 = basisDeriv[iQ+jBasis*spaceDim+2];
- 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;
- _cellMatrix[iBlock +jBlock ] += Ni1*Nj1;
- _cellMatrix[iBlock1+jBlock1] += Ni2*Nj2;
- _cellMatrix[iBlock2+jBlock2] += Ni3*Nj3;
- } // for
- } // for
- } // for
- PetscLogFlops(numQuadPts*(1+numBasis*(3+numBasis*(6))));
-} // _elasticityPrecon3D
-
-// ----------------------------------------------------------------------
-void
pylith::feassemble::IntegratorElasticity::_calcTotalStrain1D(
double_array* strain,
const double_array& basisDeriv,
Modified: short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/feassemble/IntegratorElasticity.hh
===================================================================
--- short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/feassemble/IntegratorElasticity.hh 2011-10-06 21:30:37 UTC (rev 19034)
+++ short/3D/PyLith/branches/v1.6-stable/libsrc/pylith/feassemble/IntegratorElasticity.hh 2011-10-06 21:31:13 UTC (rev 19035)
@@ -197,24 +197,6 @@
*/
void _elasticityJacobian3D(const double_array& elasticConsts);
- /** Integrate laplacian term in Jacobian preconditioner for 1-D cells.
- *
- * @param elasticConsts Matrix of elasticity constants at quadrature points.
- */
- void _elasticityPrecon1D(const double_array& elasticConsts);
-
- /** Integrate laplacian term in Jacobian preconditioner for 2-D cells.
- *
- * @param elasticConsts Matrix of elasticity constants at quadrature points.
- */
- void _elasticityPrecon2D(const double_array& elasticConsts);
-
- /** Integrate laplacian term in Jacobian preconditioner for 3-D cells.
- *
- * @param elasticConsts Matrix of elasticity constants at quadrature points.
- */
- void _elasticityPrecon3D(const double_array& elasticConsts);
-
/** Compute total strain in at quadrature points of a cell.
*
* @param strain Strain tensor at quadrature points.
More information about the CIG-COMMITS
mailing list