Hi,

I was wondering if fipy is made in such a way I can call _connectFaces
myself on a grid I constructed via concatenation.
So I do in my code
mesh._connectFaces(numerix.nonzero(mesh.facesLeft),
                   numerix.nonzero(mesh.facesRight))

If I look in PeriodicGrid2D however, I see some overrides, which obviously
are not present in my code. Eg, the override of
    def _cellVertexIDs(self)
Is this needed on general meshes? If so, would code like this be sufficient
to have all internals of fipy working correctly:

mesh = mesh1 + mesh2
mesh = mesh + mesh3
mesh.nonPeriodicCellVertexIDs = mesh._cellVertexIDs
mesh.nonPeriodicOrderedCellVertexIDs = mesh._orderedCellVertexIDs
mesh.nonPeriodicCellFaceIDs = numerix.array(mesh.cellFaceIDs)
mesh.cellVertexIDs = mesh.nonPeriodicCellVertexIDs
mesh.orderedCellVertexIDs = mesh.nonPeriodicOrderedCellVertexIDs
#connect the mesh to make periodic
mesh._connectFaces(numerix.nonzero(mesh.facesLeft),
                   numerix.nonzero(mesh.facesRight))

PS 1: raised a bug on concatenating meshes not working on my install:
http://matforge.org/fipy/ticket/368
PS 2: code seems to run ok with a mesh constructed like above, but the
viewer has artifacts, connecting the right output with the left.

Benny
_______________________________________________
fipy mailing list
fipy@nist.gov
http://www.ctcms.nist.gov/fipy
  [NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy]

Reply via email to