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)
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)
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, P.mesh, value=0.5)
def __init__(self, P): FaceVariable.__init__(self, P.getMesh()) self.value = 0.5
def __init__(self, P): FaceVariable.__init__(self, P.getMesh()) self.P = self._requires(P)
def __init__(self, P): FaceVariable.__init__(self, P.mesh) self.P = self._requires(P)
def __init__(self, var): FaceVariable.__init__(self, mesh=var.getMesh(), elementshape=var.shape[:-1]) self.var = self._requires(var)
def __init__(self, var): FaceVariable.__init__(self, mesh=var.getMesh(), rank=var.getRank() + 1) self.var = self._requires(var)