Example #1
0
    def __init__(self,
                 dx=1.,
                 nx=None,
                 overlap=2,
                 communicator=parallelComm,
                 _BuilderClass=_NonuniformGrid1DBuilder,
                 _RepresentationClass=_Grid1DRepresentation,
                 _TopologyClass=_Grid1DTopology):

        builder = _BuilderClass()

        self.args = {'dx': dx, 'nx': nx, 'overlap': overlap}

        builder.buildGridData([dx], [nx], overlap, communicator)

        ([self.dx], [self.nx], self.dim, scale, self.globalNumberOfCells,
         self.globalNumberOfFaces, self.overlap, self.offset,
         self.numberOfVertices, self.numberOfFaces, self.numberOfCells,
         self.shape, self.physicalShape, self._meshSpacing, self.occupiedNodes,
         vertices, faces, cells) = builder.gridData

        Mesh1D.__init__(self,
                        vertices,
                        faces,
                        cells,
                        communicator=communicator,
                        _RepresentationClass=_RepresentationClass,
                        _TopologyClass=_TopologyClass)

        self.scale = scale
Example #2
0
    def _translate(self, vector):
        """
        Test for ticket:298.

        >>> from fipy import *
        >>> m = PeriodicGrid1D(nx=2) + [[-1]]
        >>> print CellVariable(mesh=m, value=m.cellCenters[0])
        [-0.5  0.5]
        
        """
        newCoords = self.vertexCoords + vector
        newmesh = self.__class__(**self.args)
        from fipy.meshes.mesh1D import Mesh1D
        Mesh1D.__init__(newmesh, newCoords, numerix.array(self.faceVertexIDs), self._nonPeriodicCellFaceIDs, communicator=self.communicator)
        newmesh._makePeriodic()
        return newmesh
Example #3
0
    def _translate(self, vector):
        """
        Test for ticket:298.

        >>> from fipy import *
        >>> m = PeriodicGrid1D(nx=2) + [[-1]]
        >>> print CellVariable(mesh=m, value=m.cellCenters[0])
        [-0.5  0.5]

        """
        newCoords = self.vertexCoords + vector
        newmesh = self.__class__(**self.args)
        from fipy.meshes.mesh1D import Mesh1D
        Mesh1D.__init__(newmesh,
                        newCoords,
                        numerix.array(self.faceVertexIDs),
                        self._nonPeriodicCellFaceIDs,
                        communicator=self.communicator)
        newmesh._makePeriodic()
        return newmesh
Example #4
0
    def __init__(self, dx=1., nx=None, overlap=2, 
                 communicator=parallelComm,
                 _BuilderClass=_NonuniformGrid1DBuilder,
                 _RepresentationClass=_Grid1DRepresentation,
                 _TopologyClass=_Grid1DTopology):

        builder = _BuilderClass()

        self.args = {
            'dx': dx, 
            'nx': nx, 
            'overlap': overlap
        }

        builder.buildGridData([dx], [nx], overlap, communicator)

        ([self.dx],
         [self.nx],
         self.dim,
         scale,
         self.globalNumberOfCells,
         self.globalNumberOfFaces,
         self.overlap,
         self.offset,
         self.numberOfVertices,
         self.numberOfFaces,
         self.numberOfCells,
         self.shape,
         self.physicalShape,
         self._meshSpacing,
         self.occupiedNodes,
         vertices,
         faces,
         cells) = builder.gridData

        Mesh1D.__init__(self, vertices, faces, cells, communicator=communicator, 
                        _RepresentationClass=_RepresentationClass, _TopologyClass=_TopologyClass)
        
        self.scale = scale
Example #5
0
 def _concatenableMesh(self):
     from fipy.meshes.mesh1D import Mesh1D
     return Mesh1D(vertexCoords=self.vertexCoords,
                   faceVertexIDs=_Grid1DBuilder.createFaces(
                       self.numberOfVertices),
                   cellFaceIDs=_Grid1DBuilder.createCells(self.nx))