示例#1
0
    def min(self, axis=None):
        """
        >>> from fipy import Grid2D, CellVariable
        >>> mesh = Grid2D(nx=5, ny=5)
        >>> x, y = mesh.cellCenters
        >>> v = CellVariable(mesh=mesh, value=x*y)
        >>> print v.min()
        0.25
        """
        if self.mesh.communicator.Nproc > 1 and (axis is None or axis
                                                 == len(self.shape) - 1):

            def minParallel(a):
                return self._maxminparallel_(
                    a=a,
                    axis=axis,
                    default=numerix.inf,
                    fn=a.min,
                    fnParallel=self.mesh.communicator.MinAll)

            return self._axisOperator(opname="minVar",
                                      op=minParallel,
                                      axis=axis)
        else:
            return Variable.min(self, axis=axis)
示例#2
0
 def min(self, axis=None):
     if self.getMesh().communicator.Nproc > 1 and (axis is None or axis == len(self.getShape()) - 1):
         def minParallel(a):
             return self._maxminparallel_(a=a, axis=axis, default=numerix.inf, 
                                          fn=a.min, fnParallel=self.getMesh().communicator.epetra_comm.MinAll)
             
         return self._axisOperator(opname="minVar", 
                                   op=minParallel, 
                                   axis=axis)
     else:
         return Variable.min(self, axis=axis)
示例#3
0
 def min(self, axis=None):
     if parallel.Nproc > 1 and (axis is None or axis == len(self.getShape()) - 1):
         from PyTrilinos import Epetra
         def minParallel(a):
             return self._maxminparallel_(a=a, axis=axis, default=numerix.inf, 
                                          fn=a.min, fnParallel=Epetra.PyComm().MinAll)
             
         return self._axisOperator(opname="minVar", 
                                   op=minParallel, 
                                   axis=axis)
     else:
         return Variable.min(self, axis=axis)
示例#4
0
 def min(self, axis=None):
     """
     >>> from fipy import Grid2D, CellVariable
     >>> mesh = Grid2D(nx=5, ny=5)
     >>> x, y = mesh.cellCenters
     >>> v = CellVariable(mesh=mesh, value=x*y)
     >>> print v.min()
     0.25
     """
     if self.mesh.communicator.Nproc > 1 and (axis is None or axis == len(self.shape) - 1):
         def minParallel(a):
             return self._maxminparallel_(a=a, axis=axis, default=numerix.inf, 
                                          fn=a.min, fnParallel=self.mesh.communicator.MinAll)
             
         return self._axisOperator(opname="minVar", 
                                   op=minParallel, 
                                   axis=axis)
     else:
         return Variable.min(self, axis=axis)