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
[email protected]
http://www.ctcms.nist.gov/fipy
[NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy]