[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