Пример #1
0
    def __init__(self, distanceVar):
        """

        Simple one dimensional test:


           >>> from fipy.variables.cellVariable import CellVariable
           >>> from fipy.meshes import Grid2D
           >>> mesh = Grid2D(nx = 3, ny = 1, dx = 1., dy = 1.)
           >>> from fipy.variables.distanceVariable import DistanceVariable
           >>> distanceVar = DistanceVariable(mesh, value = (-.5, .5, 1.5))
           >>> ## answer = numerix.zeros((2, mesh.numberOfFaces),'d')
           >>> answer = FaceVariable(mesh=mesh, rank=1, value=0.).globalValue
           >>> answer[0, 7] = -1
           >>> print(numerix.allclose(SurfactantConvectionVariable(distanceVar).globalValue, answer))
           True

        Change the dimensions:

           >>> mesh = Grid2D(nx = 3, ny = 1, dx = .5, dy = .25)
           >>> distanceVar = DistanceVariable(mesh, value = (-.25, .25, .75))
           >>> answer[0, 7] = -.5
           >>> print(numerix.allclose(SurfactantConvectionVariable(distanceVar).globalValue, answer))
           True

        Two dimensional example:

           >>> mesh = Grid2D(nx = 2, ny = 2, dx = 1., dy = 1.)
           >>> distanceVar = DistanceVariable(mesh, value = (-1.5, -.5, -.5, .5))
            >>> answer = FaceVariable(mesh=mesh, rank=1, value=0.).globalValue
           >>> answer[1, 2] = -.5
           >>> answer[1, 3] = -1
           >>> answer[0, 7] = -.5
           >>> answer[0, 10] = -1
           >>> print(numerix.allclose(SurfactantConvectionVariable(distanceVar).globalValue, answer))
           True

        Larger grid:

           >>> mesh = Grid2D(nx = 3, ny = 3, dx = 1., dy = 1.)
           >>> distanceVar = DistanceVariable(mesh, value = (1.5, .5, 1.5,
           ...                                           .5, -.5, .5,
           ...                                           1.5, .5, 1.5))
            >>> answer = FaceVariable(mesh=mesh, rank=1, value=0.).globalValue
           >>> answer[1, 4] = .25
           >>> answer[1, 7] = -.25
           >>> answer[0, 17] = .25
           >>> answer[0, 18] = -.25
           >>> print(numerix.allclose(SurfactantConvectionVariable(distanceVar).globalValue, answer))
           True

        """

        FaceVariable.__init__(self, mesh=distanceVar.mesh, name='surfactant convection', rank=1)
        self.distanceVar = self._requires(distanceVar)
Пример #2
0
 def __init__(self, var):
     FaceVariable.__init__(self,
                           mesh=var.mesh,
                           elementshape=(var.mesh.dim, ) + var.shape[:-1])
     self.var = self._requires(var)
 def __init__(self, P):
     FaceVariable.__init__(self, mesh=P.mesh, elementshape=P.shape[:-1])
     self.P = self._requires(P)
Пример #4
0
 def __init__(self, var):
     FaceVariable.__init__(self, mesh=var.mesh, elementshape=(var.mesh.dim,) + var.shape[:-1])
     self.var = self._requires(var)
Пример #5
0
 def __init__(self, P):
     FaceVariable.__init__(self, P.mesh, value=0.5)
 def __init__(self, P):
     FaceVariable.__init__(self, P.getMesh())
     self.value = 0.5
Пример #7
0
 def __init__(self, P):
     FaceVariable.__init__(self, mesh=P.mesh, elementshape=P.shape[:-1])
     self.P = self._requires(P)
Пример #8
0
 def __init__(self, P):
     FaceVariable.__init__(self, P.getMesh())
     self.P = self._requires(P)
Пример #9
0
 def __init__(self, P):
     FaceVariable.__init__(self, P.mesh)
     self.P = self._requires(P)
Пример #10
0
 def __init__(self, P):
     FaceVariable.__init__(self, P.mesh, value=0.5)
Пример #11
0
 def __init__(self, P):
     FaceVariable.__init__(self, P.mesh)
     self.P = self._requires(P)
Пример #12
0
 def __init__(self, var):
     FaceVariable.__init__(self, mesh=var.getMesh(), elementshape=var.shape[:-1])
     self.var = self._requires(var)
Пример #13
0
 def __init__(self, var):
     FaceVariable.__init__(self, mesh=var.getMesh(), rank=var.getRank() + 1)
     self.var = self._requires(var)