[cig-commits] r17145 - short/3D/PyLith/branches/v1.5-stable/libsrc/faults
brad at geodynamics.org
brad at geodynamics.org
Mon Aug 30 08:49:03 PDT 2010
Author: brad
Date: 2010-08-30 08:49:03 -0700 (Mon, 30 Aug 2010)
New Revision: 17145
Modified:
short/3D/PyLith/branches/v1.5-stable/libsrc/faults/FaultCohesiveLagrange.cc
short/3D/PyLith/branches/v1.5-stable/libsrc/faults/TopologyOps.cc
Log:
Fixes for adjusting topology with quadratic cells.
Modified: short/3D/PyLith/branches/v1.5-stable/libsrc/faults/FaultCohesiveLagrange.cc
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/libsrc/faults/FaultCohesiveLagrange.cc 2010-08-30 15:48:10 UTC (rev 17144)
+++ short/3D/PyLith/branches/v1.5-stable/libsrc/faults/FaultCohesiveLagrange.cc 2010-08-30 15:49:03 UTC (rev 17145)
@@ -1359,7 +1359,7 @@
} // if
// Check quadrature against mesh
- const int numCorners = _quadrature->refGeometry().numCorners();
+ const int numCorners = _quadrature->numBasis();
const ALE::Obj<SieveMesh::label_sequence>& cells =
sieveMesh->getLabelStratum("material-id", id());
assert(!cells.isNull());
Modified: short/3D/PyLith/branches/v1.5-stable/libsrc/faults/TopologyOps.cc
===================================================================
--- short/3D/PyLith/branches/v1.5-stable/libsrc/faults/TopologyOps.cc 2010-08-30 15:48:10 UTC (rev 17144)
+++ short/3D/PyLith/branches/v1.5-stable/libsrc/faults/TopologyOps.cc 2010-08-30 15:49:03 UTC (rev 17145)
@@ -155,6 +155,7 @@
PointArray origVertices;
PointArray faceVertices;
+ faultSieve->setDebug(2);
if (!faultSieve->commRank()) {
numCorners = mesh->getNumCellCorners();
faceSize = selection::numFaceVertices(mesh);
@@ -226,12 +227,26 @@
if (dim == 0) {
f = *faceVertices.begin();
}
- if (faceSize != dim+1) {
+
+ std::cout << "dim: " << dim << ", faceSize: " << faceSize << ", numCorners: " << numCorners << std::endl;
+
+ if (2 == dim && 4 == faceSize){
if (debug) std::cout << " Adding hex face " << f << std::endl;
- ALE::SieveBuilder<ALE::Mesh>::buildHexFaces(faultSieve, orientation, dim, curElement, bdVertices, oFaultFaces, f, o);
+ ALE::SieveBuilder<ALE::Mesh>::buildHexFaces(
+ faultSieve, orientation, dim, curElement,
+ bdVertices, oFaultFaces, f, o);
+ } else if ((1 == dim && 3 == faceSize) ||
+ (2 == dim && 9 == faceSize)){
+ if (debug) std::cout << " Adding quadratic hex face " << f
+ << std::endl;
+ ALE::SieveBuilder<ALE::Mesh>::buildQuadraticHexFaces(
+ faultSieve, orientation, dim, curElement,
+ bdVertices, oFaultFaces, f, o);
} else {
if (debug) std::cout << " Adding simplicial face " << f << std::endl;
- ALE::SieveBuilder<ALE::Mesh>::buildFaces(faultSieve, orientation, dim, curElement, bdVertices, oFaultFaces, f, o);
+ ALE::SieveBuilder<ALE::Mesh>::buildFaces(
+ faultSieve, orientation, dim, curElement,
+ bdVertices, oFaultFaces, f, o);
}
faultSieve->addArrow(f, support[s]);
//faultSieve->view("");
More information about the CIG-COMMITS
mailing list