[cig-commits] r14879 - in short/3D/PyLith/trunk: . libsrc/bc libsrc/faults libsrc/feassemble libsrc/materials libsrc/meshio libsrc/topology
brad at geodynamics.org
brad at geodynamics.org
Tue May 5 17:55:59 PDT 2009
Author: brad
Date: 2009-05-05 17:55:58 -0700 (Tue, 05 May 2009)
New Revision: 14879
Modified:
short/3D/PyLith/trunk/TODO
short/3D/PyLith/trunk/libsrc/bc/AbsorbingDampers.cc
short/3D/PyLith/trunk/libsrc/bc/DirichletBoundary.cc
short/3D/PyLith/trunk/libsrc/faults/BruneSlipFn.cc
short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc
short/3D/PyLith/trunk/libsrc/faults/ConstRateSlipFn.cc
short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc
short/3D/PyLith/trunk/libsrc/faults/LiuCosSlipFn.cc
short/3D/PyLith/trunk/libsrc/faults/StepSlipFn.cc
short/3D/PyLith/trunk/libsrc/faults/TopologyOps.cc
short/3D/PyLith/trunk/libsrc/feassemble/ElasticityExplicit.cc
short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc
short/3D/PyLith/trunk/libsrc/feassemble/IntegratorElasticity.cc
short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.cc
short/3D/PyLith/trunk/libsrc/materials/ElasticMaterial.cc
short/3D/PyLith/trunk/libsrc/materials/Material.cc
short/3D/PyLith/trunk/libsrc/meshio/CellFilterAvg.cc
short/3D/PyLith/trunk/libsrc/meshio/MeshIO.cc
short/3D/PyLith/trunk/libsrc/topology/MeshOps.cc
Log:
Cleaned up use of label_sequence iterators (cache begin() and end()).
Modified: short/3D/PyLith/trunk/TODO
===================================================================
--- short/3D/PyLith/trunk/TODO 2009-05-05 22:12:17 UTC (rev 14878)
+++ short/3D/PyLith/trunk/TODO 2009-05-06 00:55:58 UTC (rev 14879)
@@ -43,9 +43,6 @@
Add simple stableTimeStep() for elastic materials.
- Check use of label_sequence. label_sequence - iterators are
- cached, so use sequence or cache begin/end to maintain access
-
Cleanup logging. Constraints and Integrators should log at the C++
level using the C++ EventLogger. Add finer grain logging at C++
level as in ElasticityImplicit.
Modified: short/3D/PyLith/trunk/libsrc/bc/AbsorbingDampers.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/bc/AbsorbingDampers.cc 2009-05-05 22:12:17 UTC (rev 14878)
+++ short/3D/PyLith/trunk/libsrc/bc/AbsorbingDampers.cc 2009-05-06 00:55:58 UTC (rev 14879)
@@ -87,11 +87,12 @@
const ALE::Obj<SieveSubMesh::label_sequence>& cells =
submesh->heightStratum(1);
assert(!cells.isNull());
+ const SieveSubMesh::label_sequence::iterator cellsBegin = cells->begin();
const SieveSubMesh::label_sequence::iterator cellsEnd = cells->end();
// Make sure surface cells are compatible with quadrature.
const int boundaryDepth = submesh->depth()-1; // depth of bndry cells
- for (SieveSubMesh::label_sequence::iterator c_iter=cells->begin();
+ for (SieveSubMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
const int cellNumCorners =
@@ -171,7 +172,7 @@
// Compute quadrature information
_quadrature->computeGeometry(*_boundaryMesh, cells);
- for(SieveSubMesh::label_sequence::iterator c_iter = cells->begin();
+ for(SieveSubMesh::label_sequence::iterator c_iter = cellsBegin;
c_iter != cellsEnd;
++c_iter) {
_quadrature->retrieveGeometry(*c_iter);
@@ -270,6 +271,7 @@
const ALE::Obj<SieveSubMesh::label_sequence>& cells =
submesh->heightStratum(1);
assert(!cells.isNull());
+ const SieveSubMesh::label_sequence::iterator cellsBegin = cells->begin();
const SieveSubMesh::label_sequence::iterator cellsEnd = cells->end();
// Get sections
@@ -298,7 +300,7 @@
const double dt = _dt;
assert(dt > 0);
- for (SieveSubMesh::label_sequence::iterator c_iter=cells->begin();
+ for (SieveSubMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
// Get geometry information for current cell
@@ -376,6 +378,7 @@
const ALE::Obj<SieveSubMesh::label_sequence>& cells =
submesh->heightStratum(1);
assert(!cells.isNull());
+ const SieveSubMesh::label_sequence::iterator cellsBegin = cells->begin();
const SieveSubMesh::label_sequence::iterator cellsEnd = cells->end();
// Get sections
@@ -405,7 +408,7 @@
// Allocate matrix for cell values.
_initCellMatrix();
- for (SieveSubMesh::label_sequence::iterator c_iter=cells->begin();
+ for (SieveSubMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
// Get geometry information for current cell
Modified: short/3D/PyLith/trunk/libsrc/bc/DirichletBoundary.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/bc/DirichletBoundary.cc 2009-05-05 22:12:17 UTC (rev 14878)
+++ short/3D/PyLith/trunk/libsrc/bc/DirichletBoundary.cc 2009-05-06 00:55:58 UTC (rev 14879)
@@ -78,7 +78,6 @@
const ALE::Obj<SieveMesh::label_sequence>& vertices =
sieveMesh->depthStratum(0);
assert(!vertices.isNull());
- const SieveMesh::label_sequence::iterator verticesEnd = vertices->end();
const spatialdata::geocoords::CoordSys* cs = _boundaryMesh->coordsys();
assert(0 != cs);
@@ -95,10 +94,6 @@
_tmpField->allocate();
} // if
- // ERROR: NEED TO TRANSLATE LABELS FROM MESH INTO SUBMESH
- std::cerr << "TODO: Translate labels from mesh into submesh." << std::endl;
- assert(0);
-
if (0 == strcasecmp(name, "initial")) {
_tmpField->label("displacement");
_tmpField->vectorFieldType(topology::Field<topology::SubMesh>::VECTOR);
Modified: short/3D/PyLith/trunk/libsrc/faults/BruneSlipFn.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/BruneSlipFn.cc 2009-05-05 22:12:17 UTC (rev 14878)
+++ short/3D/PyLith/trunk/libsrc/faults/BruneSlipFn.cc 2009-05-06 00:55:58 UTC (rev 14879)
@@ -77,6 +77,7 @@
assert(!sieveMesh.isNull());
const ALE::Obj<label_sequence>& vertices = sieveMesh->depthStratum(0);
assert(!vertices.isNull());
+ const label_sequence::iterator verticesBegin = vertices->begin();
const label_sequence::iterator verticesEnd = vertices->end();
delete _parameters; _parameters = new topology::Fields<topology::Field<topology::SubMesh> >(faultMesh);
@@ -148,7 +149,7 @@
_slipVertex.resize(spaceDim);
double_array vCoordsGlobal(spaceDim);
- for (label_sequence::iterator v_iter=vertices->begin();
+ for (label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
coordinates->restrictPoint(*v_iter,
@@ -220,6 +221,7 @@
assert(!sieveMesh.isNull());
const ALE::Obj<label_sequence>& vertices = sieveMesh->depthStratum(0);
assert(!vertices.isNull());
+ const label_sequence::iterator verticesBegin = vertices->begin();
const label_sequence::iterator verticesEnd = vertices->end();
// Get sections
@@ -239,7 +241,7 @@
assert(!slipSection.isNull());
const int spaceDim = _slipVertex.size();
- for (label_sequence::iterator v_iter=vertices->begin();
+ for (label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
finalSlipSection->restrictPoint(*v_iter, &_slipVertex[0],
@@ -280,6 +282,7 @@
assert(!sieveMesh.isNull());
const ALE::Obj<label_sequence>& vertices = sieveMesh->depthStratum(0);
assert(!vertices.isNull());
+ const label_sequence::iterator verticesBegin = vertices->begin();
const label_sequence::iterator verticesEnd = vertices->end();
// Get sections
@@ -299,7 +302,7 @@
assert(!slipSection.isNull());
const int spaceDim = _slipVertex.size();
- for (label_sequence::iterator v_iter=vertices->begin();
+ for (label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
finalSlipSection->restrictPoint(*v_iter, &_slipVertex[0],
Modified: short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc 2009-05-05 22:12:17 UTC (rev 14878)
+++ short/3D/PyLith/trunk/libsrc/faults/CohesiveTopology.cc 2009-05-06 00:55:58 UTC (rev 14879)
@@ -154,6 +154,10 @@
// Add new shadow vertices and possibly Lagrange multipler vertices
const ALE::Obj<SieveSubMesh::label_sequence>& fVertices = faultSieveMesh->depthStratum(0);
assert(!fVertices.isNull());
+ const SieveSubMesh::label_sequence::const_iterator fVerticesBegin =
+ fVertices->begin();
+ const SieveSubMesh::label_sequence::const_iterator fVerticesEnd =
+ fVertices->end();
const ALE::Obj<SieveMesh::label_sequence>& vertices =
sieveMesh->depthStratum(0);
assert(!vertices.isNull());
@@ -165,9 +169,7 @@
std::map<point_type,point_type> vertexRenumber;
std::map<point_type,point_type> cellRenumber;
- const SieveSubMesh::label_sequence::const_iterator fVerticesEnd =
- fVertices->end();
- for(SieveSubMesh::label_sequence::iterator v_iter = fVertices->begin();
+ for(SieveSubMesh::label_sequence::iterator v_iter = fVerticesBegin;
v_iter != fVerticesEnd;
++v_iter, ++newPoint) {
vertexRenumber[*v_iter] = newPoint;
@@ -201,7 +203,7 @@
sieveMesh->reallocate(sieveMesh->getIntSection(*name));
} // for
#if 0 // TEST OF OPTIMIZATION?? [MATT: WHY IS THIS COMMENTED OUT?]
- for(SieveSubMesh::label_sequence::iterator v_iter = fVertices->begin();
+ for(SieveSubMesh::label_sequence::iterator v_iter = fVerticesBegin;
v_iter != fVerticesEnd;
++v_iter, ++newPoint) {
vertexRenumber[*v_iter] = newPoint;
@@ -222,6 +224,8 @@
const ALE::Obj<SieveSubMesh::label_sequence>& faces =
faultSieveMesh->heightStratum(1);
assert(!faces.isNull());
+ const SieveSubMesh::label_sequence::const_iterator facesBegin = faces->begin();
+ const SieveSubMesh::label_sequence::const_iterator facesEnd = faces->end();
const ALE::Obj<Mesh::label_type>& material =
sieveMesh->getLabel("material-id");
assert(!material.isNull());
@@ -233,8 +237,7 @@
ALE::ISieveVisitor::NConeRetriever<SieveMesh::sieve_type> cV2(*ifaultSieve, (size_t) pow(std::max(1, ifaultSieve->getMaxConeSize()), faultSieveMesh->depth()));
std::set<Mesh::point_type> faceSet;
- const SieveSubMesh::label_sequence::const_iterator facesEnd = faces->end();
- for(SieveSubMesh::label_sequence::iterator f_iter = faces->begin();
+ for(SieveSubMesh::label_sequence::iterator f_iter = facesBegin;
f_iter != facesEnd;
++f_iter, ++newPoint) {
const point_type face = *f_iter;
@@ -595,12 +598,14 @@
const ALE::Obj<SieveSubMesh::label_sequence>& fVertices2 =
faultSieveMesh->depthStratum(0);
assert(!fVertices2.isNull());
+ SieveSubMesh::label_sequence::const_iterator fVertices2Begin =
+ fVertices2->begin();
+ SieveSubMesh::label_sequence::const_iterator fVertices2End =
+ fVertices2->end();
if (debug)
coordinates->view("Coordinates without shadow vertices");
- SieveSubMesh::label_sequence::const_iterator fVertices2End =
- fVertices2->end();
- for (SieveSubMesh::label_sequence::iterator v_iter = fVertices2->begin();
+ for (SieveSubMesh::label_sequence::iterator v_iter = fVertices2Begin;
v_iter != fVertices2End;
++v_iter) {
coordinates->addPoint(vertexRenumber[*v_iter],
@@ -611,7 +616,7 @@
} // for
sieveMesh->reallocate(coordinates);
fVertices2End = fVertices2->end();
- for (SieveSubMesh::label_sequence::iterator v_iter = fVertices2->begin();
+ for (SieveSubMesh::label_sequence::iterator v_iter = fVertices2Begin;
v_iter != fVertices2End;
++v_iter) {
coordinates->updatePoint(vertexRenumber[*v_iter],
Modified: short/3D/PyLith/trunk/libsrc/faults/ConstRateSlipFn.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/ConstRateSlipFn.cc 2009-05-05 22:12:17 UTC (rev 14878)
+++ short/3D/PyLith/trunk/libsrc/faults/ConstRateSlipFn.cc 2009-05-06 00:55:58 UTC (rev 14879)
@@ -75,6 +75,7 @@
assert(!sieveMesh.isNull());
const ALE::Obj<label_sequence>& vertices = sieveMesh->depthStratum(0);
assert(!vertices.isNull());
+ const label_sequence::iterator verticesBegin = vertices->begin();
const label_sequence::iterator verticesEnd = vertices->end();
delete _parameters; _parameters = new topology::Fields<topology::Field<topology::SubMesh> >(faultMesh);
@@ -132,7 +133,7 @@
_slipRateVertex.resize(spaceDim);
double_array vCoordsGlobal(spaceDim);
- for (label_sequence::iterator v_iter=vertices->begin();
+ for (label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
coordinates->restrictPoint(*v_iter,
@@ -190,6 +191,7 @@
assert(!sieveMesh.isNull());
const ALE::Obj<label_sequence>& vertices = sieveMesh->depthStratum(0);
assert(!vertices.isNull());
+ const label_sequence::iterator verticesBegin = vertices->begin();
const label_sequence::iterator verticesEnd = vertices->end();
// Get sections
@@ -204,7 +206,7 @@
const ALE::Obj<RealSection>& slipSection = slip->section();
assert(!slipSection.isNull());
- for (label_sequence::iterator v_iter=vertices->begin();
+ for (label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
slipRateSection->restrictPoint(*v_iter, &_slipRateVertex[0],
@@ -238,6 +240,7 @@
assert(!sieveMesh.isNull());
const ALE::Obj<label_sequence>& vertices = sieveMesh->depthStratum(0);
assert(!vertices.isNull());
+ const label_sequence::iterator verticesBegin = vertices->begin();
const label_sequence::iterator verticesEnd = vertices->end();
// Get sections
@@ -252,7 +255,7 @@
const ALE::Obj<RealSection>& slipSection = slip->section();
assert(!slipSection.isNull());
- for (label_sequence::iterator v_iter=vertices->begin();
+ for (label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
slipRateSection->restrictPoint(*v_iter, &_slipRateVertex[0],
Modified: short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc 2009-05-05 22:12:17 UTC (rev 14878)
+++ short/3D/PyLith/trunk/libsrc/faults/FaultCohesiveKin.cc 2009-05-06 00:55:58 UTC (rev 14879)
@@ -482,7 +482,9 @@
Mesh::renumbering_type& fRenumbering = _faultMesh->getRenumbering();
const int rank = mesh->commRank();
- for (Mesh::label_sequence::iterator c_iter = cellsCohesiveBegin; c_iter != cellsCohesiveEnd; ++c_iter) {
+ for (Mesh::label_sequence::iterator c_iter = cellsCohesiveBegin;
+ c_iter != cellsCohesiveEnd;
+ ++c_iter) {
mesh->getSieve()->cone(*c_iter, cV);
const int coneSize = cV.getSize();
const Mesh::point_type *cone = cV.getPoints();
@@ -630,8 +632,9 @@
const ALE::Obj<SieveMesh::label_sequence>& cells =
sieveMesh->getLabelStratum("material-id", id());
assert(!cells.isNull());
+ const SieveMesh::label_sequence::iterator cellsBegin = cells->begin();
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
- for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
+ for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
const int cellNumCorners = sieveMesh->getNumCellCorners(*c_iter);
@@ -1140,7 +1143,9 @@
const ALE::Obj<RealSection>& coordinates = mesh->getRealSection("coordinates");
const ALE::Obj<RealSection>& fCoordinates = _faultMesh->getRealSection("coordinates");
- for (Mesh::label_sequence::iterator v_iter = vertices->begin(); v_iter != verticesEnd; ++v_iter) {
+ for (Mesh::label_sequence::iterator v_iter = verticesBegin;
+ v_iter != verticesEnd;
+ ++v_iter) {
if (renumbering.find(*v_iter) != renumberingEnd) {
const int v = *v_iter;
const int dim = coordinates->getFiberDimension(*v_iter);
Modified: short/3D/PyLith/trunk/libsrc/faults/LiuCosSlipFn.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/LiuCosSlipFn.cc 2009-05-05 22:12:17 UTC (rev 14878)
+++ short/3D/PyLith/trunk/libsrc/faults/LiuCosSlipFn.cc 2009-05-06 00:55:58 UTC (rev 14879)
@@ -77,6 +77,7 @@
assert(!sieveMesh.isNull());
const ALE::Obj<label_sequence>& vertices = sieveMesh->depthStratum(0);
assert(!vertices.isNull());
+ const label_sequence::iterator verticesBegin = vertices->begin();
const label_sequence::iterator verticesEnd = vertices->end();
delete _parameters; _parameters = new topology::Fields<topology::Field<topology::SubMesh> >(faultMesh);
@@ -148,7 +149,7 @@
_slipVertex.resize(spaceDim);
double_array vCoordsGlobal(spaceDim);
- for (label_sequence::iterator v_iter=vertices->begin();
+ for (label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
coordinates->restrictPoint(*v_iter,
@@ -220,6 +221,7 @@
assert(!sieveMesh.isNull());
const ALE::Obj<label_sequence>& vertices = sieveMesh->depthStratum(0);
assert(!vertices.isNull());
+ const label_sequence::iterator verticesBegin = vertices->begin();
const label_sequence::iterator verticesEnd = vertices->end();
// Get sections
@@ -239,7 +241,7 @@
assert(!slipSection.isNull());
const int spaceDim = _slipVertex.size();
- for (label_sequence::iterator v_iter=vertices->begin();
+ for (label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
finalSlipSection->restrictPoint(*v_iter, &_slipVertex[0],
@@ -279,6 +281,7 @@
assert(!sieveMesh.isNull());
const ALE::Obj<label_sequence>& vertices = sieveMesh->depthStratum(0);
assert(!vertices.isNull());
+ const label_sequence::iterator verticesBegin = vertices->begin();
const label_sequence::iterator verticesEnd = vertices->end();
// Get sections
@@ -298,7 +301,7 @@
assert(!slipSection.isNull());
const int spaceDim = _slipVertex.size();
- for (label_sequence::iterator v_iter=vertices->begin();
+ for (label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
finalSlipSection->restrictPoint(*v_iter, &_slipVertex[0],
Modified: short/3D/PyLith/trunk/libsrc/faults/StepSlipFn.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/StepSlipFn.cc 2009-05-05 22:12:17 UTC (rev 14878)
+++ short/3D/PyLith/trunk/libsrc/faults/StepSlipFn.cc 2009-05-06 00:55:58 UTC (rev 14879)
@@ -73,6 +73,7 @@
assert(!sieveMesh.isNull());
const ALE::Obj<label_sequence>& vertices = sieveMesh->depthStratum(0);
assert(!vertices.isNull());
+ const label_sequence::iterator verticesBegin = vertices->begin();
const label_sequence::iterator verticesEnd = vertices->end();
delete _parameters; _parameters = new topology::Fields<topology::Field<topology::SubMesh> >(faultMesh);
@@ -130,7 +131,7 @@
_slipVertex.resize(spaceDim);
double_array vCoordsGlobal(spaceDim);
- for (label_sequence::iterator v_iter=vertices->begin();
+ for (label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
coordinates->restrictPoint(*v_iter,
@@ -188,6 +189,7 @@
assert(!sieveMesh.isNull());
const ALE::Obj<label_sequence>& vertices = sieveMesh->depthStratum(0);
assert(!vertices.isNull());
+ const label_sequence::iterator verticesBegin = vertices->begin();
const label_sequence::iterator verticesEnd = vertices->end();
// Get sections
@@ -202,7 +204,7 @@
const ALE::Obj<RealSection>& slipSection = slip->section();
assert(!slipSection.isNull());
- for (label_sequence::iterator v_iter=vertices->begin();
+ for (label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
finalSlipSection->restrictPoint(*v_iter, &_slipVertex[0], _slipVertex.size());
@@ -234,6 +236,7 @@
assert(!sieveMesh.isNull());
const ALE::Obj<label_sequence>& vertices = sieveMesh->depthStratum(0);
assert(!vertices.isNull());
+ const label_sequence::iterator verticesBegin = vertices->begin();
const label_sequence::iterator verticesEnd = vertices->end();
// Get sections
@@ -248,7 +251,7 @@
const ALE::Obj<RealSection>& slipSection = slip->section();
assert(!slipSection.isNull());
- for (label_sequence::iterator v_iter=vertices->begin();
+ for (label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
finalSlipSection->restrictPoint(*v_iter, &_slipVertex[0], _slipVertex.size());
Modified: short/3D/PyLith/trunk/libsrc/faults/TopologyOps.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/faults/TopologyOps.cc 2009-05-05 22:12:17 UTC (rev 14878)
+++ short/3D/PyLith/trunk/libsrc/faults/TopologyOps.cc 2009-05-06 00:55:58 UTC (rev 14879)
@@ -461,7 +461,9 @@
}
}
flippedCells.clear();
- for(ALE::Mesh::label_sequence::iterator e_iter = fFaces->begin(); e_iter != fFaces->end(); ++e_iter) {
+ const ALE::Mesh::label_sequence::iterator fFacesBegin = fFaces->begin();
+ const ALE::Mesh::label_sequence::iterator fFacesEnd = fFaces->end();
+ for(ALE::Mesh::label_sequence::iterator e_iter = fFacesBegin; e_iter != fFacesEnd; ++e_iter) {
if (debug) std::cout << " Checking orientation of fault face " << *e_iter << std::endl;
// for each face get the support (2 fault cells)
const ALE::Obj<ALE::Mesh::sieve_type::traits::supportSequence>& support = faultSieve->support(*e_iter);
Modified: short/3D/PyLith/trunk/libsrc/feassemble/ElasticityExplicit.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/ElasticityExplicit.cc 2009-05-05 22:12:17 UTC (rev 14878)
+++ short/3D/PyLith/trunk/libsrc/feassemble/ElasticityExplicit.cc 2009-05-06 00:55:58 UTC (rev 14879)
@@ -161,6 +161,7 @@
const ALE::Obj<SieveMesh::label_sequence>& cells =
sieveMesh->getLabelStratum("material-id", materialId);
assert(!cells.isNull());
+ const SieveMesh::label_sequence::iterator cellsBegin = cells->begin();
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get sections
@@ -193,7 +194,7 @@
_logger->eventEnd(setupEvent);
// Loop over cells
- for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
+ for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
// Compute geometry information for current cell
@@ -306,6 +307,7 @@
const ALE::Obj<SieveMesh::label_sequence>& cells =
sieveMesh->getLabelStratum("material-id", materialId);
assert(!cells.isNull());
+ const SieveMesh::label_sequence::iterator cellsBegin = cells->begin();
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get sections
@@ -333,7 +335,7 @@
_logger->eventEnd(setupEvent);
// Loop over cells
- for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
+ for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
// Compute geometry information for current cell
Modified: short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc 2009-05-05 22:12:17 UTC (rev 14878)
+++ short/3D/PyLith/trunk/libsrc/feassemble/ElasticityImplicit.cc 2009-05-06 00:55:58 UTC (rev 14879)
@@ -162,6 +162,7 @@
const ALE::Obj<SieveMesh::label_sequence>& cells =
sieveMesh->getLabelStratum("material-id", materialId);
assert(!cells.isNull());
+ const SieveMesh::label_sequence::iterator cellsBegin = cells->begin();
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get sections
@@ -184,7 +185,7 @@
_logger->eventEnd(setupEvent);
// Loop over cells
- for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
+ for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
// Compute geometry information for current cell
@@ -344,6 +345,7 @@
const ALE::Obj<SieveMesh::label_sequence>& cells =
sieveMesh->getLabelStratum("material-id", materialId);
assert(!cells.isNull());
+ const SieveMesh::label_sequence::iterator cellsBegin = cells->begin();
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get sections
@@ -375,7 +377,7 @@
_logger->eventEnd(setupEvent);
// Loop over cells
- for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
+ for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
// Compute geometry information for current cell
Modified: short/3D/PyLith/trunk/libsrc/feassemble/IntegratorElasticity.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/IntegratorElasticity.cc 2009-05-05 22:12:17 UTC (rev 14878)
+++ short/3D/PyLith/trunk/libsrc/feassemble/IntegratorElasticity.cc 2009-05-06 00:55:58 UTC (rev 14879)
@@ -195,6 +195,7 @@
const ALE::Obj<SieveMesh::label_sequence>& cells =
sieveMesh->getLabelStratum("material-id", materialId);
assert(!cells.isNull());
+ const SieveMesh::label_sequence::iterator cellsBegin = cells->begin();
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get fields
@@ -205,7 +206,7 @@
dispCell.size(), &dispCell[0]);
// Loop over cells
- for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
+ for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
// Retrieve geometry information for current cell
@@ -266,8 +267,9 @@
const ALE::Obj<SieveMesh::label_sequence>& cells =
sieveMesh->getLabelStratum("material-id", _material->id());
assert(!cells.isNull());
+ const SieveMesh::label_sequence::iterator cellsBegin = cells->begin();
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
- for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
+ for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
const int cellNumCorners = sieveMesh->getNumCellCorners(*c_iter);
@@ -403,6 +405,7 @@
const ALE::Obj<SieveMesh::label_sequence>& cells =
sieveMesh->getLabelStratum("material-id", materialId);
assert(!cells.isNull());
+ const SieveMesh::label_sequence::iterator cellsBegin = cells->begin();
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get field
@@ -416,7 +419,7 @@
assert(!fieldSection.isNull());
// Loop over cells
- for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
+ for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
// Retrieve geometry information for current cell
@@ -477,6 +480,7 @@
const ALE::Obj<SieveMesh::label_sequence>& cells =
sieveMesh->getLabelStratum("material-id", materialId);
assert(!cells.isNull());
+ const SieveMesh::label_sequence::iterator cellsBegin = cells->begin();
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
// Get field
@@ -484,7 +488,7 @@
assert(!fieldSection.isNull());
// Loop over cells
- for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
+ for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
fieldSection->restrictPoint(*c_iter, &strainCell[0], strainCell.size());
Modified: short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.cc 2009-05-05 22:12:17 UTC (rev 14878)
+++ short/3D/PyLith/trunk/libsrc/feassemble/Quadrature.cc 2009-05-06 00:55:58 UTC (rev 14879)
@@ -141,6 +141,8 @@
<< std::endl;
#endif
+ assert(!cells.isNull());
+ const typename label_sequence::iterator cellsBegin = cells->begin();
const typename label_sequence::iterator cellsEnd = cells->end();
assert(0 != _geometry);
const int numBasis = _numBasis;
@@ -161,7 +163,7 @@
const double_array& jacobianDet = _engine->jacobianDet();
const double_array& basisDeriv = _engine->basisDeriv();
- for(typename label_sequence::iterator c_iter = cells->begin();
+ for(typename label_sequence::iterator c_iter = cellsBegin;
c_iter != cellsEnd;
++c_iter) {
coordsVisitor.clear();
Modified: short/3D/PyLith/trunk/libsrc/materials/ElasticMaterial.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/materials/ElasticMaterial.cc 2009-05-05 22:12:17 UTC (rev 14878)
+++ short/3D/PyLith/trunk/libsrc/materials/ElasticMaterial.cc 2009-05-06 00:55:58 UTC (rev 14879)
@@ -255,7 +255,7 @@
const SieveMesh::label_sequence::iterator cellsBegin = cells->begin();
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
- for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
+ for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
retrievePropsAndVars(*c_iter);
@@ -347,6 +347,7 @@
const ALE::Obj<SieveMesh::label_sequence>& cells =
sieveMesh->getLabelStratum("material-id", id());
assert(!cells.isNull());
+ const SieveMesh::label_sequence::iterator cellsBegin = cells->begin();
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
const spatialdata::geocoords::CoordSys* cs = mesh.coordsys();
@@ -403,7 +404,7 @@
const ALE::Obj<RealSection>& stressSection = _initialStress->section();
assert(!stressSection.isNull());
- for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
+ for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
// Compute geometry information for current cell
@@ -472,6 +473,7 @@
const ALE::Obj<SieveMesh::label_sequence>& cells =
sieveMesh->getLabelStratum("material-id", id());
assert(!cells.isNull());
+ const SieveMesh::label_sequence::iterator cellsBegin = cells->begin();
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
const spatialdata::geocoords::CoordSys* cs = mesh.coordsys();
@@ -528,7 +530,7 @@
const ALE::Obj<RealSection>& strainSection = _initialStrain->section();
assert(!strainSection.isNull());
- for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
+ for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
// Compute geometry information for current cell
Modified: short/3D/PyLith/trunk/libsrc/materials/Material.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/materials/Material.cc 2009-05-05 22:12:17 UTC (rev 14878)
+++ short/3D/PyLith/trunk/libsrc/materials/Material.cc 2009-05-06 00:55:58 UTC (rev 14879)
@@ -112,6 +112,7 @@
const ALE::Obj<SieveMesh::label_sequence>& cells =
sieveMesh->getLabelStratum("material-id", _id);
assert(!cells.isNull());
+ const SieveMesh::label_sequence::iterator cellsBegin = cells->begin();
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
const spatialdata::geocoords::CoordSys* cs = mesh.coordsys();
assert(0 != cs);
@@ -175,7 +176,7 @@
assert(0 != _normalizer);
const double lengthScale = _normalizer->lengthScale();
- for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
+ for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
// Compute geometry information for current cell
@@ -259,6 +260,7 @@
const ALE::Obj<SieveMesh::label_sequence>& cells =
sieveMesh->getLabelStratum("material-id", _id);
assert(!cells.isNull());
+ const SieveMesh::label_sequence::iterator cellsBegin = cells->begin();
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
if (propertyIndex >= 0) { // If field is a property
@@ -298,7 +300,7 @@
double_array propertiesCell(numQuadPts*numPropsQuadPt);
// Loop over cells
- for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
+ for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
propertiesSection->restrictPoint(*c_iter,
@@ -353,7 +355,7 @@
double_array stateVarsCell(numQuadPts*numVarsQuadPt);
// Loop over cells
- for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
+ for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
stateVarsSection->restrictPoint(*c_iter,
Modified: short/3D/PyLith/trunk/libsrc/meshio/CellFilterAvg.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/meshio/CellFilterAvg.cc 2009-05-05 22:12:17 UTC (rev 14878)
+++ short/3D/PyLith/trunk/libsrc/meshio/CellFilterAvg.cc 2009-05-06 00:55:58 UTC (rev 14879)
@@ -76,12 +76,13 @@
sieveMesh->heightStratum(0) :
sieveMesh->getLabelStratum(label, labelId);
assert(!cells.isNull());
+ const typename label_sequence::iterator cellsBegin = cells->begin();
const typename label_sequence::iterator cellsEnd = cells->end();
// Only processors with cells for output get the correct fiber dimension.
const ALE::Obj<RealSection>& sectionIn = fieldIn.section();
assert(!sectionIn.isNull());
- const int totalFiberDim = sectionIn->getFiberDimension(*cells->begin());
+ const int totalFiberDim = sectionIn->getFiberDimension(*cellsBegin);
const int fiberDim = totalFiberDim / numQuadPts;
assert(fiberDim * numQuadPts == totalFiberDim);
@@ -125,7 +126,7 @@
scalar += wts[iQuad];
// Loop over cells
- for (typename label_sequence::iterator c_iter=cells->begin();
+ for (typename label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
const double* values = sectionIn->restrictPoint(*c_iter);
Modified: short/3D/PyLith/trunk/libsrc/meshio/MeshIO.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/meshio/MeshIO.cc 2009-05-05 22:12:17 UTC (rev 14878)
+++ short/3D/PyLith/trunk/libsrc/meshio/MeshIO.cc 2009-05-06 00:55:58 UTC (rev 14879)
@@ -110,6 +110,10 @@
const ALE::Obj<SieveMesh::label_sequence>& vertices =
sieveMesh->depthStratum(0);
assert(!vertices.isNull());
+ const SieveMesh::label_sequence::iterator verticesBegin =
+ vertices->begin();
+ const SieveMesh::label_sequence::iterator verticesEnd =
+ vertices->end();
const ALE::Obj<RealSection>& coordsField =
sieveMesh->getRealSection("coordinates");
assert(!coordsField.isNull());
@@ -122,10 +126,8 @@
const int size = (*numVertices) * (*spaceDim);
coordinates->resize(size);
- const SieveMesh::label_sequence::iterator verticesEnd =
- vertices->end();
int i = 0;
- for(SieveMesh::label_sequence::iterator v_iter=vertices->begin();
+ for(SieveMesh::label_sequence::iterator v_iter=verticesBegin;
v_iter != verticesEnd;
++v_iter) {
const RealSection::value_type *vertexCoords =
@@ -162,6 +164,10 @@
const ALE::Obj<SieveMesh::label_sequence>& meshCells =
sieveMesh->heightStratum(0);
assert(!meshCells.isNull());
+ const SieveMesh::label_sequence::iterator meshCellsBegin =
+ meshCells->begin();
+ const SieveMesh::label_sequence::iterator meshCellsEnd =
+ meshCells->end();
*meshDim = _mesh->dimension();
*numCells = meshCells->size();
@@ -176,8 +182,8 @@
ALE::ISieveVisitor::PointRetriever<SieveMesh::sieve_type>
pV(sieve->getMaxConeSize());
int i = 0;
- for(SieveMesh::label_sequence::iterator e_iter = meshCells->begin();
- e_iter != meshCells->end();
+ for(SieveMesh::label_sequence::iterator e_iter = meshCellsBegin;
+ e_iter != meshCellsEnd;
++e_iter) {
sieve->cone(*e_iter, pV);
const SieveMesh::point_type *cone = pV.getPoints();
@@ -206,6 +212,10 @@
const ALE::Obj<SieveMesh::label_sequence>& cells =
sieveMesh->heightStratum(0);
assert(!cells.isNull());
+ const SieveMesh::label_sequence::iterator cellsBegin =
+ cells->begin();
+ const SieveMesh::label_sequence::iterator cellsEnd =
+ cells->end();
const int numCells = materialIds.size();
if (cells->size() != numCells) {
@@ -216,11 +226,10 @@
throw std::runtime_error(msg.str());
} // if
int i = 0;
- const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
#ifdef IMESH_NEW_LABELS
labelMaterials->setChart(sieveMesh->getSieve()->getChart());
- for(SieveMesh::label_sequence::iterator e_iter = cells->begin();
+ for(SieveMesh::label_sequence::iterator e_iter = cellsBegin;
e_iter != cellsEnd;
++e_iter) {
labelMaterials->setConeSize(*e_iter, 1);
@@ -228,7 +237,7 @@
if (cells->size()) {labelMaterials->setSupportSize(0, cells->size());}
labelMaterials->allocate();
#endif
- for(SieveMesh::label_sequence::iterator e_iter = cells->begin();
+ for(SieveMesh::label_sequence::iterator e_iter = cellsBegin;
e_iter != cellsEnd;
++e_iter) {
sieveMesh->setValue(labelMaterials, *e_iter, materialIds[i++]);
@@ -268,6 +277,8 @@
const ALE::Obj<SieveMesh::label_sequence>& cells =
sieveMesh->heightStratum(0);
assert(!cells.isNull());
+ const SieveMesh::label_sequence::iterator cellsBegin = cells->begin();
+ const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
const int numCells = cells->size();
const int size = numCells;
@@ -277,9 +288,8 @@
sieveMesh->getLabel("material-id");
const int idDefault = 0;
- const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
int i = 0;
- for(SieveMesh::label_sequence::iterator e_iter = cells->begin();
+ for(SieveMesh::label_sequence::iterator e_iter = cellsBegin;
e_iter != cellsEnd;
++e_iter)
(*materialIds)[i++] =
Modified: short/3D/PyLith/trunk/libsrc/topology/MeshOps.cc
===================================================================
--- short/3D/PyLith/trunk/libsrc/topology/MeshOps.cc 2009-05-05 22:12:17 UTC (rev 14878)
+++ short/3D/PyLith/trunk/libsrc/topology/MeshOps.cc 2009-05-06 00:55:58 UTC (rev 14879)
@@ -48,6 +48,7 @@
const ALE::Obj<SieveMesh::label_sequence>& cells =
sieveMesh->heightStratum(0);
assert(!cells.isNull());
+ const SieveMesh::label_sequence::iterator cellsBegin = cells->begin();
const SieveMesh::label_sequence::iterator cellsEnd = cells->end();
const ALE::Obj<SieveMesh::label_type>& materialsLabel =
sieveMesh->getLabel("material-id");
@@ -56,7 +57,7 @@
int* matEnd = materialIds + numMaterials;
std::sort(matBegin, matEnd);
- for (SieveMesh::label_sequence::iterator c_iter=cells->begin();
+ for (SieveMesh::label_sequence::iterator c_iter=cellsBegin;
c_iter != cellsEnd;
++c_iter) {
const int cellId = sieveMesh->getValue(materialsLabel, *c_iter);
More information about the CIG-COMMITS
mailing list