[cig-commits] r17954 - in short/3D/PyLith/branches/pylith-scecdynrup: . doc/developer libsrc/faults libsrc/meshio libsrc/topology libsrc/utils pylith/feassemble unittests/libtests/faults unittests/libtests/feassemble unittests/libtests/meshio unittests/libtests/topology unittests/pytests/feassemble
brad at geodynamics.org
brad at geodynamics.org
Tue Feb 22 21:45:14 PST 2011
Author: brad
Date: 2011-02-22 21:45:13 -0800 (Tue, 22 Feb 2011)
New Revision: 17954
Modified:
short/3D/PyLith/branches/pylith-scecdynrup/TODO
short/3D/PyLith/branches/pylith-scecdynrup/doc/developer/howto_mergefromstable.txt
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/CohesiveTopology.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/CohesiveTopology.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/FaultCohesive.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/FaultCohesive.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/FaultCohesiveDyn.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/FaultCohesiveLagrange.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/TopologyOps.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/TopologyOps.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/meshio/MeshBuilder.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/meshio/MeshBuilder.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/meshio/UCDFaultFile.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/meshio/UCDFaultFile.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/Mesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/Mesh.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/MeshOrder.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/MeshRefiner.cc
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/MeshRefiner.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/RefineEdges2.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/RefineFace4Edges2.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/RefineVol8Face4Edges2.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/topologyfwd.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/utils/sievefwd.hh
short/3D/PyLith/branches/pylith-scecdynrup/libsrc/utils/sievetypes.hh
short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATLagrange.py
short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATSimplex.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestBruneSlipFn.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestConstRateSlipFn.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestEqKinSrc.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestLiuCosSlipFn.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestStepSlipFn.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestTimeHistorySlipFn.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTet4.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTri3.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestMeshIO.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldSubMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestSubMesh.cc
short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestFIATLagrange.py
short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestFIATSimplex.py
Log:
Merge from trunk.
Modified: short/3D/PyLith/branches/pylith-scecdynrup/TODO
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/TODO 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/TODO 2011-02-23 05:45:13 UTC (rev 17954)
@@ -2,6 +2,8 @@
CURRENT ISSUES/PRIORITIES (1.6.0)
======================================================================
+* Check for FIAT during configure.
+
* GenMaxwellQpQs
How to define viscosity and combinations?????
Modified: short/3D/PyLith/branches/pylith-scecdynrup/doc/developer/howto_mergefromstable.txt
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/doc/developer/howto_mergefromstable.txt 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/doc/developer/howto_mergefromstable.txt 2011-02-23 05:45:13 UTC (rev 17954)
@@ -8,3 +8,13 @@
# Merge from stable branch.
svn merge -r REV_FROM_LAST_MERGE:HEAD svn+ssh://svn@geodynamics.org/cig/short/3D/PyLith/branches/v1.5-stable .
+
+
+
+
+# ======================================================================
+# Create patch to merge trunk back to branch.
+# in trunk
+svn diff -r REVISION > rNUM.diff
+# in stable
+patch -p0 < ../pylith/rNUM.diff
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/CohesiveTopology.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/CohesiveTopology.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/CohesiveTopology.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -41,7 +41,7 @@
// ----------------------------------------------------------------------
void
pylith::faults::CohesiveTopology::createFault(topology::SubMesh* faultMesh,
- ALE::Obj<ALE::Mesh>& faultBoundary,
+ ALE::Obj<FlexMesh>& faultBoundary,
const topology::Mesh& mesh,
const ALE::Obj<topology::Mesh::IntSection>& groupField,
const bool flipFault)
@@ -66,11 +66,11 @@
const ALE::Obj<SieveSubMesh::sieve_type> ifaultSieve =
new SieveMesh::sieve_type(sieve->comm(), sieve->debug());
assert(!ifaultSieve.isNull());
- ALE::Obj<ALE::Mesh> fault =
- new ALE::Mesh(mesh.comm(), mesh.dimension()-1, mesh.debug());
+ ALE::Obj<FlexMesh> fault =
+ new FlexMesh(mesh.comm(), mesh.dimension()-1, mesh.debug());
assert(!fault.isNull());
- ALE::Obj<ALE::Mesh::sieve_type> faultSieve =
- new ALE::Mesh::sieve_type(sieve->comm(), sieve->debug());
+ ALE::Obj<FlexMesh::sieve_type> faultSieve =
+ new FlexMesh::sieve_type(sieve->comm(), sieve->debug());
assert(!faultSieve.isNull());
const int debug = mesh.debug();
@@ -105,7 +105,7 @@
if (debug)
fault->view("Fault mesh");
- faultBoundary = ALE::Selection<ALE::Mesh>::boundary(fault);
+ faultBoundary = ALE::Selection<FlexMesh>::boundary(fault);
if (debug)
faultBoundary->view("Fault boundary mesh");
@@ -126,7 +126,7 @@
void
pylith::faults::CohesiveTopology::create(topology::Mesh* mesh,
const topology::SubMesh& faultMesh,
- const ALE::Obj<ALE::Mesh>& faultBoundary,
+ const ALE::Obj<FlexMesh>& faultBoundary,
const ALE::Obj<topology::Mesh::IntSection>& groupField,
const int materialId,
int& firstFaultVertex,
@@ -138,8 +138,8 @@
assert(!faultBoundary.isNull());
assert(!groupField.isNull());
- typedef ALE::SieveAlg<ALE::Mesh> sieveAlg;
- typedef ALE::Selection<ALE::Mesh> selection;
+ typedef ALE::SieveAlg<FlexMesh> sieveAlg;
+ typedef ALE::Selection<FlexMesh> selection;
// Memory logging
ALE::MemoryLogger& logger = ALE::MemoryLogger::singleton();
@@ -260,7 +260,7 @@
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 =
+ const ALE::Obj<SieveFlexMesh::label_type>& material =
sieveMesh->getLabel("material-id");
assert(!material.isNull());
const int firstCohesiveCell = firstFaultCell;
@@ -269,7 +269,7 @@
TopologyOps::PointSet replaceVertices;
ALE::ISieveVisitor::PointRetriever<SieveMesh::sieve_type> sV2(std::max(1, ifaultSieve->getMaxSupportSize()));
ALE::ISieveVisitor::NConeRetriever<SieveMesh::sieve_type> cV2(*ifaultSieve, (size_t) pow(std::max(1, ifaultSieve->getMaxConeSize()), faultSieveMesh->depth()));
- std::set<Mesh::point_type> faceSet;
+ std::set<SieveFlexMesh::point_type> faceSet;
for(SieveSubMesh::label_sequence::iterator f_iter = facesBegin;
f_iter != facesEnd;
@@ -303,7 +303,7 @@
std::cout << " firstCohesiveCell " << firstCohesiveCell << " firstFaultCell "
<< firstFaultCell << " numFaces " << faces->size() << std::endl;
std::cout << " faceSet:" << std::endl;
- for(std::set<Mesh::point_type>::const_iterator p_iter = faceSet.begin();
+ for(std::set<SieveFlexMesh::point_type>::const_iterator p_iter = faceSet.begin();
p_iter != faceSet.end();
++p_iter) {
std::cout << " " << *p_iter << std::endl;
@@ -424,7 +424,7 @@
// This completes the set of cells scheduled to be replaced
TopologyOps::PointSet replaceCellsBase(replaceCells);
- const ALE::Obj<ALE::Mesh::label_sequence>& faultBdVerts =
+ const ALE::Obj<FlexMesh::label_sequence>& faultBdVerts =
faultBoundary->depthStratum(0);
assert(!faultBdVerts.isNull());
TopologyOps::PointSet faultBdVertices;
@@ -571,7 +571,7 @@
} // if/else
} // if/else
} // for
- ReplaceVisitor<SieveMesh::sieve_type,std::map<Mesh::point_type,Mesh::point_type> > rVc(vertexRenumber, std::max(1, sieve->getMaxConeSize()), debug);
+ ReplaceVisitor<SieveMesh::sieve_type,std::map<SieveMesh::point_type,SieveMesh::point_type> > rVc(vertexRenumber, std::max(1, sieve->getMaxConeSize()), debug);
rCellsEnd = replaceCells.end();
for (TopologyOps::PointSet::const_iterator c_iter = replaceCells.begin();
@@ -585,7 +585,7 @@
} // if
rVc.clear();
} // for
- ReplaceVisitor<SieveMesh::sieve_type,std::map<Mesh::point_type,Mesh::point_type> > rVs(cellRenumber, std::max(1, sieve->getMaxSupportSize()), debug);
+ ReplaceVisitor<SieveMesh::sieve_type,std::map<SieveMesh::point_type,SieveMesh::point_type> > rVs(cellRenumber, std::max(1, sieve->getMaxSupportSize()), debug);
rVerticesEnd = replaceVertices.end();
for (TopologyOps::PointSet::const_iterator v_iter = replaceVertices.begin();
@@ -614,13 +614,13 @@
const std::string labelName("censored depth");
if (!sieveMesh->hasLabel(labelName)) {
- const ALE::Obj<Mesh::label_type>& label = sieveMesh->createLabel(labelName);
+ const ALE::Obj<SieveMesh::label_type>& label = sieveMesh->createLabel(labelName);
assert(!label.isNull());
TopologyOps::computeCensoredDepth(label, sieveMesh->getSieve(), firstFaultVertex);
} else {
// Insert new shadow vertices into existing label
- const ALE::Obj<Mesh::label_type>& label = sieveMesh->getLabel(labelName);
+ const ALE::Obj<SieveMesh::label_type>& label = sieveMesh->getLabel(labelName);
assert(!label.isNull());
const std::map<int,int>::const_iterator vRenumberEnd = vertexRenumber.end();
@@ -701,11 +701,11 @@
const ALE::Obj<SieveMesh::sieve_type> ifaultSieve =
new SieveMesh::sieve_type(sieve->comm(), sieve->debug());
assert(!ifaultSieve.isNull());
- ALE::Obj<ALE::Mesh> fault =
- new ALE::Mesh(mesh.comm(), mesh.dimension()-1, mesh.debug());
+ ALE::Obj<FlexMesh> fault =
+ new FlexMesh(mesh.comm(), mesh.dimension()-1, mesh.debug());
assert(!fault.isNull());
- ALE::Obj<ALE::Mesh::sieve_type> faultSieve =
- new ALE::Mesh::sieve_type(sieve->comm(), sieve->debug());
+ ALE::Obj<SieveFlexMesh::sieve_type> faultSieve =
+ new SieveFlexMesh::sieve_type(sieve->comm(), sieve->debug());
assert(!faultSieve.isNull());
const ALE::Obj<SieveMesh::label_sequence>& cohesiveCells =
@@ -732,7 +732,7 @@
++c_iter) {
sieve->cone(*c_iter, cV);
const int coneSize = cV.getSize();
- const Mesh::point_type *cone = cV.getPoints();
+ const SieveMesh::point_type *cone = cV.getPoints();
int color = 0;
if (!constraintCell) {
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/CohesiveTopology.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/CohesiveTopology.hh 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/CohesiveTopology.hh 2011-02-23 05:45:13 UTC (rev 17954)
@@ -37,6 +37,7 @@
private :
typedef pylith::topology::Mesh::SieveMesh::point_type point_type;
+ typedef ALE::Mesh<PetscInt,PetscScalar> FlexMesh;
// PUBLIC METHODS /////////////////////////////////////////////////////
public :
@@ -53,7 +54,7 @@
*/
static
void createFault(topology::SubMesh* faultMesh,
- ALE::Obj<ALE::Mesh>& faultBoundary,
+ ALE::Obj<FlexMesh>& faultBoundary,
const topology::Mesh& mesh,
const ALE::Obj<topology::Mesh::IntSection>& groupField,
const bool flipFault =false);
@@ -75,7 +76,7 @@
static
void create(topology::Mesh* mesh,
const topology::SubMesh& faultMesh,
- const ALE::Obj<ALE::Mesh>& faultBoundary,
+ const ALE::Obj<FlexMesh>& faultBoundary,
const ALE::Obj<topology::Mesh::IntSection>& groupField,
const int materialId,
int& firstFaultVertex,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/FaultCohesive.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/FaultCohesive.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/FaultCohesive.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -120,7 +120,7 @@
assert(std::string("") != label());
topology::SubMesh faultMesh;
- ALE::Obj<ALE::Mesh> faultBoundary;
+ ALE::Obj<FlexMesh> faultBoundary;
// Get group of vertices associated with fault
const ALE::Obj<topology::Mesh::SieveMesh>& sieveMesh = mesh->sieveMesh();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/FaultCohesive.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/FaultCohesive.hh 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/FaultCohesive.hh 2011-02-23 05:45:13 UTC (rev 17954)
@@ -38,6 +38,7 @@
public feassemble::Integrator<feassemble::Quadrature<topology::SubMesh> >
{ // class FaultCohesive
friend class TestFaultCohesive; // unit testing
+ typedef ALE::Mesh<PetscInt,PetscScalar> FlexMesh;
// PUBLIC METHODS /////////////////////////////////////////////////////
public :
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/FaultCohesiveDyn.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/FaultCohesiveDyn.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/FaultCohesiveDyn.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -1653,7 +1653,7 @@
*c_iter, ncV);
const int coneSize = ncV.getSize();
assert(coneSize == 3*numBasis);
- const Mesh::point_type *cohesiveCone = ncV.getPoints();
+ const SieveMesh::point_type *cohesiveCone = ncV.getPoints();
assert(0 != cohesiveCone);
const SieveMesh::point_type c_fault = _cohesiveToFault[*c_iter];
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/FaultCohesiveLagrange.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/FaultCohesiveLagrange.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/FaultCohesiveLagrange.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -1446,7 +1446,7 @@
assert(!faultCells.isNull());
SieveSubMesh::label_sequence::iterator f_iter = faultCells->begin();
- SubMesh::renumbering_type& renumbering = faultSieveMesh->getRenumbering();
+ SieveSubMesh::renumbering_type& renumbering = faultSieveMesh->getRenumbering();
const SieveSubMesh::renumbering_type::const_iterator renumberingEnd =
renumbering.end();
const ALE::Obj<SieveSubMesh::label_sequence>& vertices =
@@ -1474,7 +1474,7 @@
ALE::ISieveTraversal<SieveMesh::sieve_type>::orientedClosure(*sieve, *c_iter, ncV);
const int coneSize = ncV.getSize();
assert(coneSize == numCorners);
- const Mesh::point_type *cone = ncV.getPoints();
+ const SieveMesh::point_type *cone = ncV.getPoints();
assert(0 != cone);
for (int iConstraint = 0; iConstraint < numConstraintVert; ++iConstraint) {
@@ -1635,7 +1635,7 @@
ALE::ISieveTraversal<SieveSubMesh::sieve_type>::orientedClosure(*sieve,
*c_iter, ncV);
const int coneSize = ncV.getSize();
- const Mesh::point_type *cone = ncV.getPoints();
+ const SieveSubMesh::point_type *cone = ncV.getPoints();
for (int v = 0; v < coneSize; ++v) {
// Compute Jacobian and determinant of Jacobian at vertex
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/TopologyOps.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/TopologyOps.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/TopologyOps.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -129,11 +129,11 @@
const int firstCell,
const PointSet& faultVertices,
const ALE::Obj<SieveMesh>& mesh,
- const ALE::Obj<ALE::Mesh::arrow_section_type>& orientation,
- const ALE::Obj<ALE::Mesh::sieve_type>& faultSieve,
+ const ALE::Obj<FlexMesh::arrow_section_type>& orientation,
+ const ALE::Obj<FlexMesh::sieve_type>& faultSieve,
const bool flipFault)
{
- typedef ALE::Selection<ALE::Mesh> selection;
+ typedef ALE::Selection<FlexMesh> selection;
const ALE::Obj<SieveMesh::sieve_type>& sieve = mesh->getSieve();
const PointSet::const_iterator fvBegin = faultVertices.begin();
const PointSet::const_iterator fvEnd = faultVertices.end();
@@ -141,7 +141,7 @@
int curVertex = 0;
int newElement = curCell + dim*faultVertices.size();
int o = 1;
- ALE::Mesh::point_type f = firstCell;
+ FlexMesh::point_type f = firstCell;
const int debug = mesh->debug();
ALE::Obj<PointSet> face = new PointSet();
int numCorners = 0; // The number of vertices in a mesh cell
@@ -232,26 +232,26 @@
if (2 == dim && 4 == faceSize){
if (debug) std::cout << " Adding hex face " << f << std::endl;
- ALE::SieveBuilder<ALE::Mesh>::buildHexFaces(
+ ALE::SieveBuilder<FlexMesh>::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(
+ ALE::SieveBuilder<FlexMesh>::buildQuadraticHexFaces(
faultSieve, orientation, dim, curElement,
bdVertices, oFaultFaces, f, o);
} else if ((1 == dim && 3 == faceSize) ||
(2 == dim && 6 == faceSize)){
if (debug) std::cout << " Adding quadratic tri face " << f
<< std::endl;
- ALE::SieveBuilder<ALE::Mesh>::buildQuadraticTetFaces(
+ ALE::SieveBuilder<FlexMesh>::buildQuadraticTetFaces(
faultSieve, orientation, dim, curElement,
bdVertices, oFaultFaces, f, o);
} else {
if (debug) std::cout << " Adding simplicial face " << f << std::endl;
- ALE::SieveBuilder<ALE::Mesh>::buildFaces(
+ ALE::SieveBuilder<FlexMesh>::buildFaces(
faultSieve, orientation, dim, curElement,
bdVertices, oFaultFaces, f, o);
}
@@ -276,10 +276,10 @@
const int faultVertices[],
const int faultCells[],
const ALE::Obj<SieveMesh>& mesh,
- const ALE::Obj<ALE::Mesh::arrow_section_type>& orientation,
- const ALE::Obj<ALE::Mesh::sieve_type>& faultSieve)
+ const ALE::Obj<FlexMesh::arrow_section_type>& orientation,
+ const ALE::Obj<FlexMesh::sieve_type>& faultSieve)
{
- typedef ALE::Selection<ALE::Mesh> selection;
+ typedef ALE::Selection<FlexMesh> selection;
int faceSize = 0; // The number of vertices in a mesh face
int curCell = firstCell;
int curVertex = 0;
@@ -312,10 +312,10 @@
// Create face
if (faceSize != dim+1) {
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<FlexMesh>::buildHexFaces(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<FlexMesh>::buildFaces(faultSieve, orientation, dim, curElement, bdVertices, oFaultFaces, f, o);
}
// Add arrow to cells
faultSieve->addArrow(face, faultCells[face*2+0]);
@@ -327,21 +327,21 @@
void
pylith::faults::TopologyOps::orientFaultSieve(const int dim,
const ALE::Obj<SieveMesh>& mesh,
- const ALE::Obj<ALE::Mesh::arrow_section_type>& orientation,
- const ALE::Obj<ALE::Mesh>& fault)
+ const ALE::Obj<FlexMesh::arrow_section_type>& orientation,
+ const ALE::Obj<FlexMesh>& fault)
{
assert(!mesh.isNull());
assert(!orientation.isNull());
assert(!fault.isNull());
- typedef ALE::Selection<ALE::Mesh> selection;
+ typedef ALE::Selection<FlexMesh> selection;
// Must check the orientation here
- const ALE::Obj<ALE::Mesh::sieve_type>& faultSieve = fault->getSieve();
+ const ALE::Obj<FlexMesh::sieve_type>& faultSieve = fault->getSieve();
assert(!faultSieve.isNull());
const SieveMesh::point_type firstFaultCell =
*fault->heightStratum(1)->begin();
- const ALE::Obj<ALE::Mesh::label_sequence>& fFaces = fault->heightStratum(2);
+ const ALE::Obj<FlexMesh::label_sequence>& fFaces = fault->heightStratum(2);
assert(!fFaces.isNull());
const int numFaultFaces = fFaces->size();
const int faultDepth = fault->depth()-1; // Depth of fault cells
@@ -392,21 +392,21 @@
// Loop over new cells
for(PointSet::iterator c_iter = loopCells->begin(); c_iter != loopCells->end(); ++c_iter) {
// Loop over edges of this cell
- const ALE::Obj<ALE::Mesh::sieve_type::traits::coneSequence>& cone = faultSieve->cone(*c_iter);
- const ALE::Mesh::sieve_type::traits::coneSequence::iterator eBegin = cone->begin();
- const ALE::Mesh::sieve_type::traits::coneSequence::iterator eEnd = cone->end();
+ const ALE::Obj<FlexMesh::sieve_type::traits::coneSequence>& cone = faultSieve->cone(*c_iter);
+ const FlexMesh::sieve_type::traits::coneSequence::iterator eBegin = cone->begin();
+ const FlexMesh::sieve_type::traits::coneSequence::iterator eEnd = cone->end();
- for(ALE::Mesh::sieve_type::traits::coneSequence::iterator e_iter = eBegin; e_iter != eEnd; ++e_iter) {
+ for(FlexMesh::sieve_type::traits::coneSequence::iterator e_iter = eBegin; e_iter != eEnd; ++e_iter) {
if (facesSeen.find(*e_iter) != facesSeen.end()) continue;
facesSeen.insert(*e_iter);
if (debug) std::cout << " Checking orientation of fault face " << *e_iter << std::endl;
- const ALE::Obj<ALE::Mesh::sieve_type::traits::supportSequence>& support = faultSieve->support(*e_iter);
- ALE::Mesh::sieve_type::traits::supportSequence::iterator s_iter = support->begin();
+ const ALE::Obj<FlexMesh::sieve_type::traits::supportSequence>& support = faultSieve->support(*e_iter);
+ FlexMesh::sieve_type::traits::supportSequence::iterator s_iter = support->begin();
// Throw out boundary fault faces
if (support->size() < 2) continue;
- ALE::Mesh::point_type cellA = *s_iter; ++s_iter;
- ALE::Mesh::point_type cellB = *s_iter;
+ FlexMesh::point_type cellA = *s_iter; ++s_iter;
+ FlexMesh::point_type cellB = *s_iter;
bool flippedA = (flippedCells.find(cellA) != flippedCells.end());
bool flippedB = (flippedCells.find(cellB) != flippedCells.end());
bool seenA = (cellsSeen.find(cellA) != cellsSeen.end());
@@ -417,10 +417,10 @@
if (debug) std::cout << " neighboring cells " << cellA << " and " << cellB << std::endl;
// In 1D, just check that vertices match
if (dim == 1) {
- const ALE::Obj<ALE::Mesh::sieve_type::traits::coneSequence>& coneA = faultSieve->cone(cellA);
- ALE::Mesh::sieve_type::traits::coneSequence::iterator iterA = coneA->begin();
- const ALE::Obj<ALE::Mesh::sieve_type::traits::coneSequence>& coneB = faultSieve->cone(cellB);
- ALE::Mesh::sieve_type::traits::coneSequence::iterator iterB = coneB->begin();
+ const ALE::Obj<FlexMesh::sieve_type::traits::coneSequence>& coneA = faultSieve->cone(cellA);
+ FlexMesh::sieve_type::traits::coneSequence::iterator iterA = coneA->begin();
+ const ALE::Obj<FlexMesh::sieve_type::traits::coneSequence>& coneB = faultSieve->cone(cellB);
+ FlexMesh::sieve_type::traits::coneSequence::iterator iterB = coneB->begin();
int posA, posB;
for(posA = 0; posA < 2; ++posA, ++iterA) if (*iterA == *e_iter) break;
@@ -444,9 +444,9 @@
}
} else if (dim == 2) {
// Check orientation
- ALE::MinimalArrow<ALE::Mesh::sieve_type::point_type,ALE::Mesh::sieve_type::point_type> arrowA(*e_iter, cellA);
+ ALE::MinimalArrow<FlexMesh::sieve_type::point_type,FlexMesh::sieve_type::point_type> arrowA(*e_iter, cellA);
const int oA = orientation->restrictPoint(arrowA)[0];
- ALE::MinimalArrow<ALE::Mesh::sieve_type::point_type,ALE::Mesh::sieve_type::point_type> arrowB(*e_iter, cellB);
+ ALE::MinimalArrow<FlexMesh::sieve_type::point_type,FlexMesh::sieve_type::point_type> arrowB(*e_iter, cellB);
const int oB = orientation->restrictPoint(arrowB)[0];
const bool mismatch = (oA == oB);
@@ -484,8 +484,8 @@
for(PointSet::const_iterator f_iter = flippedCells.begin(); f_iter != flippedCells.end(); ++f_iter) {
if (debug) std::cout << " Reversing fault face " << *f_iter << std::endl;
faceVertices.clear();
- const ALE::Obj<ALE::Mesh::sieve_type::traits::coneSequence>& cone = faultSieve->cone(*f_iter);
- for(ALE::Mesh::sieve_type::traits::coneSequence::iterator v_iter = cone->begin(); v_iter != cone->end(); ++v_iter) {
+ const ALE::Obj<FlexMesh::sieve_type::traits::coneSequence>& cone = faultSieve->cone(*f_iter);
+ for(FlexMesh::sieve_type::traits::coneSequence::iterator v_iter = cone->begin(); v_iter != cone->end(); ++v_iter) {
faceVertices.insert(faceVertices.begin(), *v_iter);
}
faultSieve->clearCone(*f_iter);
@@ -497,7 +497,7 @@
if (dim > 1) {
// Here, they are edges, not vertices
for(PointArray::const_iterator e_iter = faceVertices.begin(); e_iter != faceVertices.end(); ++e_iter) {
- ALE::MinimalArrow<ALE::Mesh::sieve_type::point_type,ALE::Mesh::sieve_type::point_type> arrow(*e_iter, *f_iter);
+ ALE::MinimalArrow<FlexMesh::sieve_type::point_type,FlexMesh::sieve_type::point_type> arrow(*e_iter, *f_iter);
int o = orientation->restrictPoint(arrow)[0];
if (debug) std::cout << " Reversing orientation of " << *e_iter <<"-->"<<*f_iter << " from " << o << " to " << -(o+1) << std::endl;
@@ -507,26 +507,26 @@
}
}
flippedCells.clear();
- 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) {
+ const FlexMesh::label_sequence::iterator fFacesBegin = fFaces->begin();
+ const FlexMesh::label_sequence::iterator fFacesEnd = fFaces->end();
+ for(FlexMesh::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);
- ALE::Mesh::sieve_type::traits::supportSequence::iterator s_iter = support->begin();
+ const ALE::Obj<FlexMesh::sieve_type::traits::supportSequence>& support = faultSieve->support(*e_iter);
+ FlexMesh::sieve_type::traits::supportSequence::iterator s_iter = support->begin();
// Throw out boundary fault faces
if (support->size() > 1) {
- ALE::Mesh::point_type cellA = *s_iter; ++s_iter;
- ALE::Mesh::point_type cellB = *s_iter;
+ FlexMesh::point_type cellA = *s_iter; ++s_iter;
+ FlexMesh::point_type cellB = *s_iter;
if (debug) std::cout << " neighboring cells " << cellA << " and " << cellB << std::endl;
// In 1D, just check that vertices match
if (dim == 1) {
- const ALE::Obj<ALE::Mesh::sieve_type::traits::coneSequence>& coneA = faultSieve->cone(cellA);
- ALE::Mesh::sieve_type::traits::coneSequence::iterator iterA = coneA->begin();
- const ALE::Obj<ALE::Mesh::sieve_type::traits::coneSequence>& coneB = faultSieve->cone(cellB);
- ALE::Mesh::sieve_type::traits::coneSequence::iterator iterB = coneB->begin();
+ const ALE::Obj<FlexMesh::sieve_type::traits::coneSequence>& coneA = faultSieve->cone(cellA);
+ FlexMesh::sieve_type::traits::coneSequence::iterator iterA = coneA->begin();
+ const ALE::Obj<FlexMesh::sieve_type::traits::coneSequence>& coneB = faultSieve->cone(cellB);
+ FlexMesh::sieve_type::traits::coneSequence::iterator iterB = coneB->begin();
int posA, posB;
for(posA = 0; posA < 2; ++posA, ++iterA) if (*iterA == *e_iter) break;
@@ -540,9 +540,9 @@
}
} else {
// Check orientation
- ALE::MinimalArrow<ALE::Mesh::sieve_type::point_type,ALE::Mesh::sieve_type::point_type> arrowA(*e_iter, cellA);
+ ALE::MinimalArrow<FlexMesh::sieve_type::point_type,FlexMesh::sieve_type::point_type> arrowA(*e_iter, cellA);
const int oA = orientation->restrictPoint(arrowA)[0];
- ALE::MinimalArrow<ALE::Mesh::sieve_type::point_type,ALE::Mesh::sieve_type::point_type> arrowB(*e_iter, cellB);
+ ALE::MinimalArrow<FlexMesh::sieve_type::point_type,FlexMesh::sieve_type::point_type> arrowB(*e_iter, cellB);
const int oB = orientation->restrictPoint(arrowB)[0];
if (oA == oB) {
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/TopologyOps.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/TopologyOps.hh 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/faults/TopologyOps.hh 2011-02-23 05:45:13 UTC (rev 17954)
@@ -41,6 +41,7 @@
typedef std::vector<SieveMesh::sieve_type::point_type> PointArray;
typedef std::pair<SieveMesh::sieve_type::point_type, int> oPoint_type;
typedef std::vector<oPoint_type> oPointArray;
+ typedef ALE::Mesh<PetscInt,PetscScalar> FlexMesh;
// PUBLIC METHODS /////////////////////////////////////////////////////
public :
@@ -79,8 +80,8 @@
const int firstCell,
const PointSet& faultVertices,
const ALE::Obj<SieveMesh>& mesh,
- const ALE::Obj<ALE::Mesh::arrow_section_type>& orientation,
- const ALE::Obj<ALE::Mesh::sieve_type>& faultSieve,
+ const ALE::Obj<FlexMesh::arrow_section_type>& orientation,
+ const ALE::Obj<FlexMesh::sieve_type>& faultSieve,
const bool flipFault);
static
@@ -90,14 +91,14 @@
const int faultVertices[],
const int faultCells[],
const ALE::Obj<SieveMesh>& mesh,
- const ALE::Obj<ALE::Mesh::arrow_section_type>& orientation,
- const ALE::Obj<ALE::Mesh::sieve_type>& faultSieve);
+ const ALE::Obj<FlexMesh::arrow_section_type>& orientation,
+ const ALE::Obj<FlexMesh::sieve_type>& faultSieve);
static
void orientFaultSieve(const int dim,
const ALE::Obj<SieveMesh>& mesh,
- const ALE::Obj<ALE::Mesh::arrow_section_type>& orientation,
- const ALE::Obj<ALE::Mesh>& fault);
+ const ALE::Obj<FlexMesh::arrow_section_type>& orientation,
+ const ALE::Obj<FlexMesh>& fault);
}; // class CohesiveTopology
#endif // pylith_faults_cohesivetopology_hh
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/meshio/MeshBuilder.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/meshio/MeshBuilder.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/meshio/MeshBuilder.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -118,16 +118,16 @@
sieve->symmetrize();
} else {
// Same old thing
- ALE::Obj<ALE::Mesh::sieve_type> s =
- new ALE::Mesh::sieve_type(sieve->comm(), sieve->debug());
+ ALE::Obj<FlexMesh::sieve_type> s =
+ new FlexMesh::sieve_type(sieve->comm(), sieve->debug());
- ALE::SieveBuilder<ALE::Mesh>::buildTopology(s, meshDim,
+ ALE::SieveBuilder<FlexMesh>::buildTopology(s, meshDim,
numCells,
const_cast<int*>(&cells[0]),
numVertices,
interpolate,
numCorners);
- std::map<ALE::Mesh::point_type,ALE::Mesh::point_type> renumbering;
+ std::map<FlexMesh::point_type,FlexMesh::point_type> renumbering;
ALE::ISieveConverter::convertSieve(*s, *sieve, renumbering);
} // if/else
logger.stagePop();
@@ -192,7 +192,7 @@
// Set vertices and cells for fault mesh.
void
pylith::meshio::MeshBuilder::buildFaultMesh(const ALE::Obj<SieveMesh>& fault,
- ALE::Obj<ALE::Mesh>& faultBd,
+ ALE::Obj<FlexMesh>& faultBd,
const double_array& coordinates,
const int numVertices,
const int spaceDim,
@@ -223,10 +223,10 @@
if (0 == rank) {
assert(coordinates.size() == numVertices*spaceDim);
assert(cells.size() == numCells*numCorners);
- ALE::Obj<ALE::Mesh::sieve_type> s =
- new ALE::Mesh::sieve_type(sieve->comm(), sieve->debug());
+ ALE::Obj<FlexMesh::sieve_type> s =
+ new FlexMesh::sieve_type(sieve->comm(), sieve->debug());
- ALE::SieveBuilder<ALE::Mesh>::buildTopology(s, meshDim,
+ ALE::SieveBuilder<FlexMesh>::buildTopology(s, meshDim,
numCells,
const_cast<int*>(&cells[0]),
numVertices,
@@ -242,23 +242,23 @@
s->addArrow(c+firstCell, faceCells[c*2+1]);
} // for
- ALE::Mesh::renumbering_type& renumbering = fault->getRenumbering();
+ FlexMesh::renumbering_type& renumbering = fault->getRenumbering();
ALE::ISieveConverter::convertSieve(*s, *sieve, renumbering, false);
ALE::ISieveConverter::convertOrientation(*s, *sieve, renumbering,
fault->getArrowSection("orientation").ptr());
- Obj<ALE::Mesh> tmpMesh =
- new ALE::Mesh(fault->comm(), dim, fault->debug());
- faultBd = ALE::Selection<ALE::Mesh>::boundary(tmpMesh);
+ Obj<FlexMesh> tmpMesh =
+ new FlexMesh(fault->comm(), dim, fault->debug());
+ faultBd = ALE::Selection<FlexMesh>::boundary(tmpMesh);
logger.stagePop();
logger.stagePush("FaultStratification");
fault->stratify();
logger.stagePop();
} else {
- Obj<ALE::Mesh> tmpMesh =
- new ALE::Mesh(fault->comm(), dim, fault->debug());
- faultBd = ALE::Selection<ALE::Mesh>::boundary(tmpMesh);
+ Obj<FlexMesh> tmpMesh =
+ new FlexMesh(fault->comm(), dim, fault->debug());
+ faultBd = ALE::Selection<FlexMesh>::boundary(tmpMesh);
logger.stagePop();
logger.stagePush("FaultStratification");
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/meshio/MeshBuilder.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/meshio/MeshBuilder.hh 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/meshio/MeshBuilder.hh 2011-02-23 05:45:13 UTC (rev 17954)
@@ -40,6 +40,10 @@
class pylith::meshio::MeshBuilder
{ // MeshBuilder
+ // PUBLIC TYPEDEFS ////////////////////////////////////////////////////
+public :
+ typedef ALE::Mesh<PetscInt,PetscScalar> FlexMesh;
+
// PUBLIC MEMBERS ///////////////////////////////////////////////////////
public :
@@ -88,7 +92,7 @@
*/
static
void buildFaultMesh(const ALE::Obj<topology::Mesh::SieveMesh>& fault,
- ALE::Obj<ALE::Mesh>& faultBd,
+ ALE::Obj<FlexMesh>& faultBd,
const double_array& coordinates,
const int numVertices,
const int spaceDim,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/meshio/UCDFaultFile.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/meshio/UCDFaultFile.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/meshio/UCDFaultFile.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -63,7 +63,7 @@
void
pylith::meshio::UCDFaultFile::read(const char* filename,
topology::SubMesh* faultMesh,
- ALE::Obj<ALE::Mesh>& faultBoundary,
+ ALE::Obj<FlexMesh>& faultBoundary,
const topology::Mesh& mesh)
{ // read
assert(0 != faultMesh);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/meshio/UCDFaultFile.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/meshio/UCDFaultFile.hh 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/meshio/UCDFaultFile.hh 2011-02-23 05:45:13 UTC (rev 17954)
@@ -44,6 +44,7 @@
class pylith::meshio::UCDFaultFile
{ // UCDFaultFile
friend class TestUCDFaultFile; // unit testing
+ typedef ALE::Mesh<PetscInt,PetscScalar> FlexMesh;
// PUBLIC METHODS ///////////////////////////////////////////////////////
public :
@@ -70,7 +71,7 @@
static
void read(const char* filename,
topology::SubMesh* faultMesh,
- ALE::Obj<ALE::Mesh>& faultBoundary,
+ ALE::Obj<FlexMesh>& faultBoundary,
const topology::Mesh& mesh);
}; // UCDFaultFile
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/Mesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/Mesh.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/Mesh.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -65,7 +65,7 @@
pylith::topology::Mesh::deallocate(void)
{ // deallocate
delete _coordsys; _coordsys = 0;
- _mesh.destroy();
+ _mesh.destroy(); // check refCnt, ALE::setVerbosity()
} // deallocate
// ----------------------------------------------------------------------
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/Mesh.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/Mesh.hh 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/Mesh.hh 2011-02-23 05:45:13 UTC (rev 17954)
@@ -32,7 +32,7 @@
#include "ISectionSpaces.hh" // USES ISectionSpaces
-#include <petscmesh.hh> // HASA ALE::IMesh
+#include "pylith/utils/sievetypes.hh" // HASA pylith::SieveMesh
// Mesh -----------------------------------------------------------------
/** @brief PyLith finite-element mesh.
@@ -58,12 +58,16 @@
* (1) SieveSubMesh - SubMesh object
*/
//@{
- typedef ALE::IMesh<> SieveMesh;
- typedef ALE::IMesh<ALE::LabelSifter<int, SieveMesh::point_type> > SieveSubMesh;
+ typedef pylith::SieveMesh SieveMesh;
+ typedef pylith::SieveSubMesh SieveSubMesh;
- typedef SieveMesh::int_section_type IntSection;
typedef SieveMesh::real_section_type RealSection;
typedef ISectionSpaces<SieveMesh::point_type, double> RealUniformSection;
+ typedef SieveMesh::int_section_type IntSection;
+ typedef ALE::ISieveVisitor::RestrictVisitor<RealSection> RestrictVisitor;
+ typedef ALE::ISieveVisitor::UpdateAddVisitor<RealSection> UpdateAddVisitor;
+ typedef ALE::ISieveVisitor::UpdateAllVisitor<RealSection> UpdateAllVisitor;
+ typedef ALE::ISieveVisitor::IndicesVisitor<RealSection,SieveMesh::order_type,PetscInt> IndicesVisitor;
//@}
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/MeshOrder.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/MeshOrder.hh 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/MeshOrder.hh 2011-02-23 05:45:13 UTC (rev 17954)
@@ -37,7 +37,7 @@
class ALE::MeshOrder
{ // MeshOrder
typedef int point_type;
- typedef ALE::IMesh<> mesh_type;
+ typedef ALE::IMesh<PetscInt,PetscScalar> mesh_type;
// PUBLIC MEMBERS ///////////////////////////////////////////////////////
public :
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/MeshRefiner.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/MeshRefiner.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/MeshRefiner.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -425,7 +425,7 @@
_createLabels(newMesh, mesh, refiner);
// Create sensored depth
- const ALE::Obj<Mesh::label_type>& censoredLabel = newMesh->createLabel("censored depth");
+ const ALE::Obj<FlexMesh::label_type>& censoredLabel = newMesh->createLabel("censored depth");
assert(!censoredLabel.isNull());
mesh_type::DepthVisitor depthVisitor(*newSieve, _orderNewMesh->verticesCensored().min(), *censoredLabel);
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/MeshRefiner.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/MeshRefiner.hh 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/MeshRefiner.hh 2011-02-23 05:45:13 UTC (rev 17954)
@@ -33,8 +33,9 @@
template<typename cellrefiner_type>
class ALE::MeshRefiner
{ // MeshRefiner
- typedef IMesh<> mesh_type;
+ typedef IMesh<PetscInt,PetscScalar> mesh_type;
typedef mesh_type::point_type point_type;
+ typedef ALE::Mesh<PetscInt,PetscScalar> FlexMesh;
// PUBLIC MEMBERS ///////////////////////////////////////////////////////
public :
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/RefineEdges2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/RefineEdges2.hh 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/RefineEdges2.hh 2011-02-23 05:45:13 UTC (rev 17954)
@@ -37,7 +37,7 @@
{ // RefineEdges2
protected:
- typedef IMesh<> mesh_type;
+ typedef ALE::IMesh<PetscInt,PetscScalar> mesh_type;
typedef mesh_type::point_type point_type;
// PUBLIC MEMBERS ///////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/RefineFace4Edges2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/RefineFace4Edges2.hh 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/RefineFace4Edges2.hh 2011-02-23 05:45:13 UTC (rev 17954)
@@ -37,7 +37,7 @@
{ // RefineFace4Edges2
protected:
- typedef IMesh<> mesh_type;
+ typedef IMesh<PetscInt,PetscScalar> mesh_type;
typedef mesh_type::point_type point_type;
// PUBLIC MEMBERS ///////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/RefineVol8Face4Edges2.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/RefineVol8Face4Edges2.hh 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/RefineVol8Face4Edges2.hh 2011-02-23 05:45:13 UTC (rev 17954)
@@ -38,7 +38,7 @@
{ // RefineVol8Face4Edges2
protected:
- typedef IMesh<> mesh_type;
+ typedef IMesh<PetscInt,PetscScalar> mesh_type;
typedef mesh_type::point_type point_type;
// PUBLIC MEMBERS ///////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/topologyfwd.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/topologyfwd.hh 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/topology/topologyfwd.hh 2011-02-23 05:45:13 UTC (rev 17954)
@@ -57,7 +57,7 @@
class FieldBase;
template<typename mesh_type,
- typename section_type =ALE::IGeneralSection<pylith::Mesh::point_type, double> > class Field;
+ typename section_type =ALE::IGeneralSection<pylith::SieveMesh::point_type, double> > class Field;
template<typename field_type> class Fields;
template<typename mesh_type> class FieldsNew;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/utils/sievefwd.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/utils/sievefwd.hh 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/utils/sievefwd.hh 2011-02-23 05:45:13 UTC (rev 17954)
@@ -30,7 +30,7 @@
namespace ALE {
/// PETSc mesh
- class Mesh;
+ template class Mesh<PetscInt,PetscScalar>;
} // ALE
#endif // pylith_utils_sievefwd_hh
Modified: short/3D/PyLith/branches/pylith-scecdynrup/libsrc/utils/sievetypes.hh
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/libsrc/utils/sievetypes.hh 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/libsrc/utils/sievetypes.hh 2011-02-23 05:45:13 UTC (rev 17954)
@@ -29,11 +29,14 @@
namespace pylith {
- /// Sieve mesh.
- typedef ALE::IMesh<> Mesh;
+ /// Sieve mesh (default, fast access with set sizes).
+ typedef ALE::IMesh<PetscInt,PetscScalar> SieveMesh;
+ /// Sieve mesh (flexible, slower access without set sizes).
+ typedef ALE::Mesh<PetscInt,PetscScalar> SieveFlexMesh;
+
/// Sieve submesh.
- typedef ALE::IMesh<ALE::LabelSifter<int, Mesh::point_type> > SubMesh;
+ typedef ALE::IMesh<PetscInt,PetscScalar,ALE::LabelSifter<int, SieveMesh::point_type> > SieveSubMesh;
} // pylith
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATLagrange.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATLagrange.py 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATLagrange.py 2011-02-23 05:45:13 UTC (rev 17954)
@@ -96,18 +96,19 @@
dim = self.cellDim
# Get coordinates of vertices (dual basis)
- vertices = numpy.array(self._setupVertices(element))
+ vertices = numpy.array(self._setupVertices(element), dtype=numpy.float64)
# Evaluate basis functions at quadrature points
- quadpts = numpy.array(quadrature.get_points())
- quadwts = numpy.array(quadrature.get_weights())
+ from FIAT.polynomial_set import mis
+ quadpts = numpy.array(quadrature.get_points(), dtype=numpy.float64)
+ quadwts = numpy.array(quadrature.get_weights(), dtype=numpy.float64)
numQuadPts = len(quadpts)
- basis = numpy.array(element.function_space().tabulate(quadrature.get_points())).transpose()
- numBasis = len(element.function_space())
+ evals = element.get_nodal_basis().tabulate(quadrature.get_points(), 1)
+ basis = numpy.array(evals[mis(1, 0)[0]], dtype=numpy.float64).transpose()
+ numBasis = element.get_nodal_basis().get_num_members()
# Evaluate derivatives of basis functions at quadrature points
- basisDeriv = numpy.array([element.function_space().deriv_all(d).tabulate(quadrature.get_points()) \
- for d in range(1)]).transpose()
+ basisDeriv = numpy.array([evals[alpha] for alpha in mis(1, 1)], dtype=numpy.float64).transpose()
self.numQuadPts = numQuadPts**dim
self.numCorners = numBasis**dim
@@ -378,10 +379,10 @@
self.cellDim = 0
self.numCorners = 1
self.numQuadPts = 1
- self.basis = numpy.array([1.0])
- self.basisDeriv = numpy.array([1.0])
- self.quadPts = numpy.array([0.0])
- self.quadWts = numpy.array([1.0])
+ self.basis = numpy.array([1.0], dtype=numpy.float64)
+ self.basisDeriv = numpy.array([1.0], dtype=numpy.float64)
+ self.quadPts = numpy.array([0.0], dtype=numpy.float64)
+ self.quadWts = numpy.array([1.0], dtype=numpy.float64)
self._info.line("Cell geometry: ")
self._info.line(self.geometry)
@@ -405,15 +406,13 @@
"""
Set members based using inventory.
"""
- import FIAT.shapes
-
ReferenceCell._configure(self)
self.cellDim = self.inventory.dimension
self.degree = self.inventory.degree
self.order = self.inventory.order
if self.order == -1:
- self.order = 2*self.degree+1
+ self.order = self.degree+1
return
@@ -455,25 +454,25 @@
"""
Setup quadrature rule for reference cell.
"""
- import FIAT.quadrature
- import FIAT.shapes
- return FIAT.quadrature.make_quadrature_by_degree(FIAT.shapes.LINE, self.order)
+ from FIAT.quadrature import make_quadrature
+ from FIAT.reference_element import default_simplex
+ return make_quadrature(default_simplex(1), self.order)
def _setupElement(self):
"""
Setup the finite element for reference cell.
"""
- import FIAT.Lagrange
- import FIAT.shapes
- return FIAT.Lagrange.Lagrange(FIAT.shapes.LINE, self.degree)
+ from FIAT.lagrange import Lagrange
+ from FIAT.reference_element import default_simplex
+ return Lagrange(default_simplex(1), self.degree)
def _setupVertices(self, element):
"""
Setup evaluation functional points for reference cell.
"""
- return element.Udual.pts
+ return [n.get_point_dict().keys()[0] for n in element.dual.get_nodes()]
# FACTORIES ////////////////////////////////////////////////////////////
Modified: short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATSimplex.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATSimplex.py 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/pylith/feassemble/FIATSimplex.py 2011-02-23 05:45:13 UTC (rev 17954)
@@ -98,11 +98,11 @@
self.cellDim = 0
self.numCorners = 1
self.numQuadPts = 1
- self.basis = numpy.array([[1.0]])
- self.basisDeriv = numpy.array([[[1.0]]])
- self.quadPts = numpy.array([[0.0]])
- self.quadWts = numpy.array([1.0])
- self.vertices = numpy.array([[0.0]])
+ self.basis = numpy.array([[1.0]], dtype=numpy.float64)
+ self.basisDeriv = numpy.array([[[1.0]]], dtype=numpy.float64)
+ self.quadPts = numpy.array([[0.0]], dtype=numpy.float64)
+ self.quadWts = numpy.array([1.0], dtype=numpy.float64)
+ self.vertices = numpy.array([[0.0]], dtype=numpy.float64)
else:
quadrature = self._setupQuadrature()
basisFns = self._setupBasisFns()
@@ -111,17 +111,17 @@
vertices = numpy.array(self._setupVertices(), dtype=numpy.float64)
# Evaluate basis functions at quadrature points
+ from FIAT.polynomial_set import mis
quadpts = quadrature.get_points()
- basis = numpy.array(basisFns.tabulate(quadpts)).transpose()
+ dim = basisFns.ref_el.get_spatial_dimension()
+ evals = basisFns.tabulate(quadpts, 1)
+ basis = numpy.array(evals[mis(dim, 0)[0]], dtype=numpy.float64).transpose()
# Evaluate derivatives of basis functions at quadrature points
- import FIAT.shapes
- dim = FIAT.shapes.dimension(basisFns.base.shape)
- basisDeriv = numpy.array([basisFns.deriv_all(d).tabulate(quadpts) \
- for d in range(dim)]).transpose()
+ basisDeriv = numpy.array([evals[alpha] for alpha in mis(dim, 1)], dtype=numpy.float64).transpose()
self.cellDim = dim
- self.numCorners = len(basisFns)
+ self.numCorners = basisFns.get_num_members()
self.numQuadPts = len(quadrature.get_weights())
# Permute from FIAT order to Sieve order
@@ -132,8 +132,8 @@
basisDeriv.shape)
# No permutation in order of quadrature points
- self.quadPts = numpy.array(quadrature.get_points())
- self.quadWts = numpy.array(quadrature.get_weights())
+ self.quadPts = numpy.array(quadrature.get_points(), dtype=numpy.float64)
+ self.quadWts = numpy.array(quadrature.get_weights(), dtype=numpy.float64)
self._info.line("Cell geometry: ")
@@ -175,11 +175,9 @@
Sieve: breadth search first (faces, edges, corners)
"""
- import FIAT.shapes
-
- basis = self.cell.function_space()
- dim = FIAT.shapes.dimension(self._getShape())
- ids = self.cell.Udual.entity_ids
+ basis = self.cell.get_nodal_basis()
+ dim = self._getShape().get_spatial_dimension()
+ ids = self.cell.dual.get_entity_ids()
permutation = []
if dim == 1:
for vertex in ids[0]:
@@ -253,38 +251,37 @@
"""
import FIAT.quadrature
- return FIAT.quadrature.make_quadrature_by_degree(self._getShape(),
- self.order)
+ return FIAT.quadrature.make_quadrature(self._getShape(), self.order)
def _setupBasisFns(self):
"""
Setup basis functions for reference cell.
"""
- from FIAT.Lagrange import Lagrange
+ from FIAT.lagrange import Lagrange
self.cell = Lagrange(self._getShape(), self.degree)
- return self.cell.function_space()
+ return self.cell.get_nodal_basis()
def _setupVertices(self):
"""
Setup evaluation functional points for reference cell.
"""
- return self.cell.Udual.pts
+ return numpy.array([n.get_point_dict().keys()[0] for n in self.cell.dual.get_nodes()], dtype=numpy.float64)
def _getShape(self):
"""
Parse string into FIAT shape.
"""
- import FIAT.shapes
+ from FIAT.reference_element import default_simplex
name = self.shape.lower()
if "tetrahedron" == name:
- shape = FIAT.shapes.TETRAHEDRON
+ shape = default_simplex(3)
elif "triangle" == name:
- shape = FIAT.shapes.TRIANGLE
+ shape = default_simplex(2)
elif "line" == name:
- shape = FIAT.shapes.LINE
+ shape = default_simplex(1)
elif "point" == name:
shape = None
else:
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestBruneSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestBruneSlipFn.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestBruneSlipFn.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -411,7 +411,7 @@
if (useLagrangeConstraints) {
firstFaultCell += mesh->sieveMesh()->getIntSection(faultLabel)->size();
}
- ALE::Obj<ALE::Mesh> faultBoundary = 0;
+ ALE::Obj<SieveFlexMesh> faultBoundary = 0;
const ALE::Obj<SieveMesh>& sieveMesh = mesh->sieveMesh();
CPPUNIT_ASSERT(!sieveMesh.isNull());
CohesiveTopology::createFault(faultMesh, faultBoundary,
@@ -459,8 +459,6 @@
void
pylith::faults::TestBruneSlipFn::_testInitialize(const _TestBruneSlipFn::DataStruct& data)
{ // _testInitialize
- typedef std::set<Mesh::point_type>::const_iterator vert_iterator;
-
// Setup mesh
topology::Mesh mesh;
meshio::MeshIOAscii meshIO;
@@ -485,7 +483,7 @@
if (useLagrangeConstraints) {
firstFaultCell += mesh.sieveMesh()->getIntSection(data.faultLabel)->size();
}
- ALE::Obj<ALE::Mesh> faultBoundary = 0;
+ ALE::Obj<SieveFlexMesh> faultBoundary = 0;
const ALE::Obj<SieveMesh>& sieveMesh = mesh.sieveMesh();
CPPUNIT_ASSERT(!sieveMesh.isNull());
CohesiveTopology::createFault(&faultMesh, faultBoundary,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestConstRateSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestConstRateSlipFn.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestConstRateSlipFn.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -330,7 +330,7 @@
if (useLagrangeConstraints) {
firstFaultCell += mesh->sieveMesh()->getIntSection(faultLabel)->size();
}
- ALE::Obj<ALE::Mesh> faultBoundary = 0;
+ ALE::Obj<SieveFlexMesh> faultBoundary = 0;
const ALE::Obj<SieveMesh>& sieveMesh = mesh->sieveMesh();
CPPUNIT_ASSERT(!sieveMesh.isNull());
CohesiveTopology::createFault(faultMesh, faultBoundary,
@@ -372,8 +372,6 @@
void
pylith::faults::TestConstRateSlipFn::_testInitialize(const _TestConstRateSlipFn::DataStruct& data)
{ // _testInitialize
- typedef std::set<Mesh::point_type>::const_iterator vert_iterator;
-
// Setup mesh
topology::Mesh mesh;
meshio::MeshIOAscii meshIO;
@@ -398,7 +396,7 @@
if (useLagrangeConstraints) {
firstFaultCell += mesh.sieveMesh()->getIntSection(data.faultLabel)->size();
}
- ALE::Obj<ALE::Mesh> faultBoundary = 0;
+ ALE::Obj<SieveFlexMesh> faultBoundary = 0;
const ALE::Obj<SieveMesh>& sieveMesh = mesh.sieveMesh();
CPPUNIT_ASSERT(!sieveMesh.isNull());
CohesiveTopology::createFault(&faultMesh, faultBoundary,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestEqKinSrc.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestEqKinSrc.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestEqKinSrc.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -250,7 +250,7 @@
if (useLagrangeConstraints) {
firstFaultCell += mesh->sieveMesh()->getIntSection(faultLabel)->size();
}
- ALE::Obj<ALE::Mesh> faultBoundary = 0;
+ ALE::Obj<SieveFlexMesh> faultBoundary = 0;
const ALE::Obj<SieveMesh>& sieveMesh = mesh->sieveMesh();
CPPUNIT_ASSERT(!sieveMesh.isNull());
CohesiveTopology::createFault(faultMesh, faultBoundary,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestLiuCosSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestLiuCosSlipFn.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestLiuCosSlipFn.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -406,7 +406,7 @@
if (useLagrangeConstraints) {
firstFaultCell += mesh->sieveMesh()->getIntSection(faultLabel)->size();
}
- ALE::Obj<ALE::Mesh> faultBoundary = 0;
+ ALE::Obj<SieveFlexMesh> faultBoundary = 0;
const ALE::Obj<SieveMesh>& sieveMesh = mesh->sieveMesh();
CPPUNIT_ASSERT(!sieveMesh.isNull());
CohesiveTopology::createFault(faultMesh, faultBoundary,
@@ -453,8 +453,6 @@
void
pylith::faults::TestLiuCosSlipFn::_testInitialize(const _TestLiuCosSlipFn::DataStruct& data)
{ // _testInitialize
- typedef std::set<Mesh::point_type>::const_iterator vert_iterator;
-
// Setup mesh
topology::Mesh mesh;
meshio::MeshIOAscii meshIO;
@@ -479,7 +477,7 @@
if (useLagrangeConstraints) {
firstFaultCell += mesh.sieveMesh()->getIntSection(data.faultLabel)->size();
}
- ALE::Obj<ALE::Mesh> faultBoundary = 0;
+ ALE::Obj<SieveFlexMesh> faultBoundary = 0;
const ALE::Obj<SieveMesh>& sieveMesh = mesh.sieveMesh();
CPPUNIT_ASSERT(!sieveMesh.isNull());
CohesiveTopology::createFault(&faultMesh, faultBoundary,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestStepSlipFn.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestStepSlipFn.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestStepSlipFn.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -322,7 +322,7 @@
if (useLagrangeConstraints) {
firstFaultCell += mesh->sieveMesh()->getIntSection(faultLabel)->size();
}
- ALE::Obj<ALE::Mesh> faultBoundary = 0;
+ ALE::Obj<SieveFlexMesh> faultBoundary = 0;
const ALE::Obj<SieveMesh>& sieveMesh = mesh->sieveMesh();
CPPUNIT_ASSERT(!sieveMesh.isNull());
CohesiveTopology::createFault(faultMesh, faultBoundary,
@@ -364,8 +364,6 @@
void
pylith::faults::TestStepSlipFn::_testInitialize(const _TestStepSlipFn::DataStruct& data)
{ // _testInitialize
- typedef std::set<SieveMesh::point_type>::const_iterator vert_iterator;
-
// Setup mesh
topology::Mesh mesh;
meshio::MeshIOAscii meshIO;
@@ -390,7 +388,7 @@
if (useLagrangeConstraints) {
firstFaultCell += mesh.sieveMesh()->getIntSection(data.faultLabel)->size();
}
- ALE::Obj<ALE::Mesh> faultBoundary = 0;
+ ALE::Obj<SieveFlexMesh> faultBoundary = 0;
const ALE::Obj<SieveMesh>& sieveMesh = mesh.sieveMesh();
CPPUNIT_ASSERT(!sieveMesh.isNull());
CohesiveTopology::createFault(&faultMesh, faultBoundary,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestTimeHistorySlipFn.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestTimeHistorySlipFn.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/faults/TestTimeHistorySlipFn.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -355,7 +355,7 @@
if (useLagrangeConstraints) {
firstFaultCell += mesh->sieveMesh()->getIntSection(faultLabel)->size();
}
- ALE::Obj<ALE::Mesh> faultBoundary = 0;
+ ALE::Obj<SieveFlexMesh> faultBoundary = 0;
const ALE::Obj<SieveMesh>& sieveMesh = mesh->sieveMesh();
CPPUNIT_ASSERT(!sieveMesh.isNull());
CohesiveTopology::createFault(faultMesh, faultBoundary,
@@ -400,8 +400,6 @@
void
pylith::faults::TestTimeHistorySlipFn::_testInitialize(const _TestTimeHistorySlipFn::DataStruct& data)
{ // _testInitialize
- typedef std::set<Mesh::point_type>::const_iterator vert_iterator;
-
// Setup mesh
topology::Mesh mesh;
meshio::MeshIOAscii meshIO;
@@ -426,7 +424,7 @@
if (useLagrangeConstraints) {
firstFaultCell += mesh.sieveMesh()->getIntSection(data.faultLabel)->size();
}
- ALE::Obj<ALE::Mesh> faultBoundary = 0;
+ ALE::Obj<SieveFlexMesh> faultBoundary = 0;
const ALE::Obj<SieveMesh>& sieveMesh = mesh.sieveMesh();
CPPUNIT_ASSERT(!sieveMesh.isNull());
CohesiveTopology::createFault(&faultMesh, faultBoundary,
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicit.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -423,15 +423,15 @@
// Cells and vertices
const bool interpolate = false;
- ALE::Obj<ALE::Mesh::sieve_type> s =
- new ALE::Mesh::sieve_type(sieve->comm(), sieve->debug());
+ ALE::Obj<SieveFlexMesh::sieve_type> s =
+ new SieveFlexMesh::sieve_type(sieve->comm(), sieve->debug());
- ALE::SieveBuilder<ALE::Mesh>::buildTopology(s,
+ ALE::SieveBuilder<SieveFlexMesh>::buildTopology(s,
_data->cellDim, _data->numCells,
const_cast<int*>(_data->cells),
_data->numVertices,
interpolate, _data->numBasis);
- std::map<ALE::Mesh::point_type,ALE::Mesh::point_type> renumbering;
+ std::map<SieveFlexMesh::point_type,SieveFlexMesh::point_type> renumbering;
ALE::ISieveConverter::convertSieve(*s, *sieve, renumbering);
sieveMesh->setSieve(sieve);
sieveMesh->stratify();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitLgDeform.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -328,15 +328,15 @@
// Cells and vertices
const bool interpolate = false;
- ALE::Obj<ALE::Mesh::sieve_type> s =
- new ALE::Mesh::sieve_type(sieve->comm(), sieve->debug());
+ ALE::Obj<SieveFlexMesh::sieve_type> s =
+ new SieveFlexMesh::sieve_type(sieve->comm(), sieve->debug());
- ALE::SieveBuilder<ALE::Mesh>::buildTopology(s,
+ ALE::SieveBuilder<SieveFlexMesh>::buildTopology(s,
_data->cellDim, _data->numCells,
const_cast<int*>(_data->cells),
_data->numVertices,
interpolate, _data->numBasis);
- std::map<ALE::Mesh::point_type,ALE::Mesh::point_type> renumbering;
+ std::map<SieveFlexMesh::point_type,SieveFlexMesh::point_type> renumbering;
ALE::ISieveConverter::convertSieve(*s, *sieve, renumbering);
sieveMesh->setSieve(sieve);
sieveMesh->stratify();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTet4.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTet4.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTet4.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -427,15 +427,15 @@
// Cells and vertices
const bool interpolate = false;
- ALE::Obj<ALE::Mesh::sieve_type> s =
- new ALE::Mesh::sieve_type(sieve->comm(), sieve->debug());
+ ALE::Obj<SieveFlexMesh::sieve_type> s =
+ new SieveFlexMesh::sieve_type(sieve->comm(), sieve->debug());
- ALE::SieveBuilder<ALE::Mesh>::buildTopology(s,
+ ALE::SieveBuilder<SieveFlexMesh>::buildTopology(s,
_data->cellDim, _data->numCells,
const_cast<int*>(_data->cells),
_data->numVertices,
interpolate, _data->numBasis);
- std::map<ALE::Mesh::point_type,ALE::Mesh::point_type> renumbering;
+ std::map<SieveFlexMesh::point_type,SieveFlexMesh::point_type> renumbering;
ALE::ISieveConverter::convertSieve(*s, *sieve, renumbering);
sieveMesh->setSieve(sieve);
sieveMesh->stratify();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTri3.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTri3.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityExplicitTri3.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -427,15 +427,15 @@
// Cells and vertices
const bool interpolate = false;
- ALE::Obj<ALE::Mesh::sieve_type> s =
- new ALE::Mesh::sieve_type(sieve->comm(), sieve->debug());
+ ALE::Obj<SieveFlexMesh::sieve_type> s =
+ new SieveFlexMesh::sieve_type(sieve->comm(), sieve->debug());
- ALE::SieveBuilder<ALE::Mesh>::buildTopology(s,
+ ALE::SieveBuilder<SieveFlexMesh>::buildTopology(s,
_data->cellDim, _data->numCells,
const_cast<int*>(_data->cells),
_data->numVertices,
interpolate, _data->numBasis);
- std::map<ALE::Mesh::point_type,ALE::Mesh::point_type> renumbering;
+ std::map<SieveFlexMesh::point_type,SieveFlexMesh::point_type> renumbering;
ALE::ISieveConverter::convertSieve(*s, *sieve, renumbering);
sieveMesh->setSieve(sieve);
sieveMesh->stratify();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicit.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -306,15 +306,15 @@
// Cells and vertices
const bool interpolate = false;
- ALE::Obj<ALE::Mesh::sieve_type> s =
- new ALE::Mesh::sieve_type(sieve->comm(), sieve->debug());
+ ALE::Obj<SieveFlexMesh::sieve_type> s =
+ new SieveFlexMesh::sieve_type(sieve->comm(), sieve->debug());
- ALE::SieveBuilder<ALE::Mesh>::buildTopology(s,
+ ALE::SieveBuilder<SieveFlexMesh>::buildTopology(s,
_data->cellDim, _data->numCells,
const_cast<int*>(_data->cells),
_data->numVertices,
interpolate, _data->numBasis);
- std::map<ALE::Mesh::point_type,ALE::Mesh::point_type> renumbering;
+ std::map<SieveFlexMesh::point_type,SieveFlexMesh::point_type> renumbering;
ALE::ISieveConverter::convertSieve(*s, *sieve, renumbering);
sieveMesh->setSieve(sieve);
sieveMesh->stratify();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestElasticityImplicitLgDeform.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -232,15 +232,15 @@
// Cells and vertices
const bool interpolate = false;
- ALE::Obj<ALE::Mesh::sieve_type> s =
- new ALE::Mesh::sieve_type(sieve->comm(), sieve->debug());
+ ALE::Obj<SieveFlexMesh::sieve_type> s =
+ new SieveFlexMesh::sieve_type(sieve->comm(), sieve->debug());
- ALE::SieveBuilder<ALE::Mesh>::buildTopology(s,
+ ALE::SieveBuilder<SieveFlexMesh>::buildTopology(s,
_data->cellDim, _data->numCells,
const_cast<int*>(_data->cells),
_data->numVertices,
interpolate, _data->numBasis);
- std::map<ALE::Mesh::point_type,ALE::Mesh::point_type> renumbering;
+ std::map<SieveFlexMesh::point_type,SieveFlexMesh::point_type> renumbering;
ALE::ISieveConverter::convertSieve(*s, *sieve, renumbering);
sieveMesh->setSieve(sieve);
sieveMesh->stratify();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/feassemble/TestQuadrature.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -205,14 +205,14 @@
// Cells and vertices
const bool interpolate = false;
- ALE::Obj<ALE::Mesh::sieve_type> s =
- new ALE::Mesh::sieve_type(sieve->comm(), sieve->debug());
+ ALE::Obj<SieveFlexMesh::sieve_type> s =
+ new SieveFlexMesh::sieve_type(sieve->comm(), sieve->debug());
- ALE::SieveBuilder<ALE::Mesh>::buildTopology(s, cellDim, numCells,
+ ALE::SieveBuilder<SieveFlexMesh>::buildTopology(s, cellDim, numCells,
const_cast<int*>(data.cells),
data.numVertices,
interpolate, numBasis);
- std::map<ALE::Mesh::point_type,ALE::Mesh::point_type> renumbering;
+ std::map<SieveFlexMesh::point_type,SieveFlexMesh::point_type> renumbering;
ALE::ISieveConverter::convertSieve(*s, *sieve, renumbering);
sieveMesh->setSieve(sieve);
sieveMesh->stratify();
@@ -328,14 +328,14 @@
// Cells and vertices
const bool interpolate = false;
- ALE::Obj<ALE::Mesh::sieve_type> s =
- new ALE::Mesh::sieve_type(sieve->comm(), sieve->debug());
+ ALE::Obj<SieveFlexMesh::sieve_type> s =
+ new SieveFlexMesh::sieve_type(sieve->comm(), sieve->debug());
- ALE::SieveBuilder<ALE::Mesh>::buildTopology(s, cellDim, numCells,
+ ALE::SieveBuilder<SieveFlexMesh>::buildTopology(s, cellDim, numCells,
const_cast<int*>(data.cells),
data.numVertices,
interpolate, numBasis);
- std::map<ALE::Mesh::point_type,ALE::Mesh::point_type> renumbering;
+ std::map<SieveFlexMesh::point_type,SieveFlexMesh::point_type> renumbering;
ALE::ISieveConverter::convertSieve(*s, *sieve, renumbering);
sieveMesh->setSieve(sieve);
sieveMesh->stratify();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestMeshIO.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestMeshIO.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/meshio/TestMeshIO.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -65,14 +65,14 @@
// Cells and vertices
const bool interpolate = false;
- ALE::Obj<ALE::Mesh::sieve_type> s =
- new ALE::Mesh::sieve_type(sieve->comm(), sieve->debug());
+ ALE::Obj<SieveFlexMesh::sieve_type> s =
+ new SieveFlexMesh::sieve_type(sieve->comm(), sieve->debug());
- ALE::SieveBuilder<ALE::Mesh>::buildTopology(s, data.cellDim, data.numCells,
+ ALE::SieveBuilder<SieveFlexMesh>::buildTopology(s, data.cellDim, data.numCells,
const_cast<int*>(data.cells),
data.numVertices,
interpolate, data.numCorners);
- std::map<ALE::Mesh::point_type,ALE::Mesh::point_type> renumbering;
+ std::map<SieveFlexMesh::point_type,SieveFlexMesh::point_type> renumbering;
ALE::ISieveConverter::convertSieve(*s, *sieve, renumbering);
sieveMesh->setSieve(sieve);
sieveMesh->stratify();
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldMesh.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldMesh.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -1321,8 +1321,8 @@
new Mesh::SieveMesh::sieve_type(sieveMesh->comm());
CPPUNIT_ASSERT(!sieve.isNull());
- ALE::Obj<ALE::Mesh::sieve_type> s =
- new ALE::Mesh::sieve_type(sieve->comm(), sieve->debug());
+ ALE::Obj<SieveFlexMesh::sieve_type> s =
+ new SieveFlexMesh::sieve_type(sieve->comm(), sieve->debug());
const int cellDim = _TestFieldMesh::cellDim;
const int ncells = _TestFieldMesh::ncells;
@@ -1332,7 +1332,7 @@
const int spaceDim = _TestFieldMesh::cellDim;
const double* coordinates = _TestFieldMesh::coordinates;
const bool interpolate = false;
- ALE::SieveBuilder<ALE::Mesh>::buildTopology(s, cellDim, ncells, (int*) cells,
+ ALE::SieveBuilder<SieveFlexMesh>::buildTopology(s, cellDim, ncells, (int*) cells,
nvertices, interpolate,
ncorners);
std::map<Mesh::SieveMesh::point_type,Mesh::SieveMesh::point_type> renumbering;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldSubMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldSubMesh.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestFieldSubMesh.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -972,8 +972,8 @@
new Mesh::SieveMesh::sieve_type(sieveMesh->comm());
CPPUNIT_ASSERT(!sieve.isNull());
- ALE::Obj<ALE::Mesh::sieve_type> s =
- new ALE::Mesh::sieve_type(sieve->comm(), sieve->debug());
+ ALE::Obj<SieveFlexMesh::sieve_type> s =
+ new SieveFlexMesh::sieve_type(sieve->comm(), sieve->debug());
CPPUNIT_ASSERT(!s.isNull());
const int cellDim = _TestFieldSubMesh::cellDim;
@@ -984,7 +984,7 @@
const int spaceDim = _TestFieldSubMesh::cellDim;
const double* coordinates = _TestFieldSubMesh::coordinates;
const bool interpolate = false;
- ALE::SieveBuilder<ALE::Mesh>::buildTopology(s, cellDim, ncells, (int*) cells,
+ ALE::SieveBuilder<SieveFlexMesh>::buildTopology(s, cellDim, ncells, (int*) cells,
nvertices, interpolate,
ncorners);
std::map<Mesh::SieveMesh::point_type,Mesh::SieveMesh::point_type> renumbering;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestSubMesh.cc
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestSubMesh.cc 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/libtests/topology/TestSubMesh.cc 2011-02-23 05:45:13 UTC (rev 17954)
@@ -215,8 +215,8 @@
new Mesh::SieveMesh::sieve_type(sieveMesh->comm());
CPPUNIT_ASSERT(!sieve.isNull());
- ALE::Obj<ALE::Mesh::sieve_type> s =
- new ALE::Mesh::sieve_type(sieve->comm(), sieve->debug());
+ ALE::Obj<SieveFlexMesh::sieve_type> s =
+ new SieveFlexMesh::sieve_type(sieve->comm(), sieve->debug());
const int cellDim = _TestSubMesh::cellDim;
const int ncells = _TestSubMesh::ncells;
@@ -226,7 +226,7 @@
const int spaceDim = _TestSubMesh::cellDim;
const double* coordinates = _TestSubMesh::coordinates;
const bool interpolate = false;
- ALE::SieveBuilder<ALE::Mesh>::buildTopology(s, cellDim, ncells, (int*) cells,
+ ALE::SieveBuilder<SieveFlexMesh>::buildTopology(s, cellDim, ncells, (int*) cells,
nvertices, interpolate,
ncorners);
std::map<Mesh::SieveMesh::point_type,Mesh::SieveMesh::point_type> renumbering;
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestFIATLagrange.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestFIATLagrange.py 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestFIATLagrange.py 2011-02-23 05:45:13 UTC (rev 17954)
@@ -1057,7 +1057,7 @@
cell = FIATLagrange()
cell.inventory.dimension = 2
cell.inventory.degree = 2
- cell.inventory.order = 5
+ cell.inventory.order = 3
cell._configure()
cell.initialize(spaceDim=2)
@@ -1093,7 +1093,7 @@
cell = FIATLagrange()
cell.inventory.dimension = 3
cell.inventory.degree = 2
- cell.inventory.order = 5
+ cell.inventory.order = 3
cell._configure()
cell.initialize(spaceDim=3)
Modified: short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestFIATSimplex.py
===================================================================
--- short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestFIATSimplex.py 2011-02-23 05:13:41 UTC (rev 17953)
+++ short/3D/PyLith/branches/pylith-scecdynrup/unittests/pytests/feassemble/TestFIATSimplex.py 2011-02-23 05:45:13 UTC (rev 17954)
@@ -229,7 +229,6 @@
[self.N3p(q), self.N3q(q)],
[self.N4p(q), self.N4q(q)],
[self.N5p(q), self.N5q(q)]])
- print deriv
basisDeriv[iQuad] = deriv.reshape((6, 2))
iQuad += 1
@@ -406,19 +405,19 @@
"""
cell = FIATSimplex()
- import FIAT.shapes
+ from FIAT.reference_element import default_simplex
cell.shape = "line"
shape = cell._getShape()
- self.assertEqual(FIAT.shapes.LINE, shape)
+ self.assertEqual(default_simplex(1).get_shape(), shape.get_shape())
cell.shape = "triangle"
shape = cell._getShape()
- self.assertEqual(FIAT.shapes.TRIANGLE, shape)
+ self.assertEqual(default_simplex(2).get_shape(), shape.get_shape())
cell.shape = "tetrahedron"
shape = cell._getShape()
- self.assertEqual(FIAT.shapes.TETRAHEDRON, shape)
+ self.assertEqual(default_simplex(3).get_shape(), shape.get_shape())
return
More information about the CIG-COMMITS
mailing list