Changeset 3328

Show
Ignore:
Timestamp:
03/11/2010 05:23:30 PM (5 months ago)
Author:
wd15
Message:

allequal acts across all processors

Location:
branches/parallel/fipy
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • branches/parallel/fipy/meshes/numMesh/cylindricalGrid2D.py

    r3327 r3328  
    265265            >>> unpickledMesh = dump.read(filename, f) 
    266266 
    267             >>> print parallel.procID > 0 or numerix.allequal(mesh.getCellCenters(), unpickledMesh.getCellCenters()) 
     267            >>> print numerix.allclose(mesh.getCellCenters(), unpickledMesh.getCellCenters()) 
    268268            True 
    269269        """ 
  • branches/parallel/fipy/meshes/numMesh/cylindricalUniformGrid2D.py

    r3327 r3328  
    246246            >>> unpickledMesh = dump.read(filename, f) 
    247247 
    248             >>> print parallel.procID > 0 or numerix.allequal(mesh.getCellCenters(), unpickledMesh.getCellCenters()) 
     248            >>> print numerix.allclose(mesh.getCellCenters(), unpickledMesh.getCellCenters()) 
    249249            True 
    250250             
  • branches/parallel/fipy/meshes/numMesh/grid2D.py

    r3327 r3328  
    504504            >>> unpickledMesh = dump.read(filename, f) 
    505505 
    506             >>> print parallel.procID > 0 or numerix.allequal(mesh.getCellCenters(), unpickledMesh.getCellCenters()) 
     506            >>> print numerix.allclose(mesh.getCellCenters(), unpickledMesh.getCellCenters()) 
    507507            True 
    508508        """ 
  • branches/parallel/fipy/meshes/numMesh/grid3D.py

    r3325 r3328  
    607607            >>> unpickledMesh = dump.read(filename, f) 
    608608 
    609             >>> print numerix.allequal(mesh.getCellCenters(), unpickledMesh.getCellCenters()) 
     609            >>> print numerix.allclose(mesh.getCellCenters(), unpickledMesh.getCellCenters()) 
    610610            True 
    611611 
  • branches/parallel/fipy/variables/meshVariable.py

    r3327 r3328  
    398398         else: 
    399399             return Variable.allclose(self, other, rtol=rtol, atol=atol) 
     400 
     401    def allequal(self, other): 
     402         if parallel.Nproc > 1: 
     403             from mpi4py import MPI 
     404             def allequalParallel(a, b): 
     405                 return MPI.COMM_WORLD.allreduce(numerix.allequal(a, b), op=MPI.LAND) 
     406 
     407             operatorClass = Variable._OperatorVariableClass(self, baseClass=Variable) 
     408             return self._BinaryOperatorVariable(allequalParallel, 
     409                                                 other,  
     410                                                 operatorClass=operatorClass, 
     411                                                 opShape=(), 
     412                                                 canInline=False)             
     413         else: 
     414             return Variable.allequal(self, other) 
    400415 
    401416