Meshes with holes are not a problem for FiPy. Daniel will be happy to help you create a Mesh2D from the output of the triangle package. Basically, you need a list of vertex coordinates, a list of vertex IDs that make up faces, and a list of faces that make up cells. Having all triangles should be pretty easy; it gets messy when you've got mixes of different cell topologies.
> On Jun 8, 2016, at 10:57 AM, James Pringle <jprin...@unh.edu> wrote: > > Thank you; the axes were indeed in grid spacing, and your back of the > envelope calculation of sparsity was exactly correct. > > I am now playing around with the python triangle package to create a > triangular mesh with the appropriate holes and boundary defined. (e.g. > http://dzhelil.info/triangle//data-4.png ) . > > What is the best way to covert the triangle data (similar in form to > scipy.spatial.Delaunay output) into the form fipy likes -- or what is the > best documentation of the fipy mesh data structure? > > Does FiPy have the capability to deal with holes in a triangle mesh, and have > BC's on them? I did see the trick that Danial Wheeler mentioned. Thanks! > > After I get the mesh, I was planing to reverse engineer the output of > fipy.meshes.gmshMesh.Gmsh2D to figure out how to get my mesh into fipy if you > don't mention something better. > > Thanks a bunch, > Jamie > > On Wed, Jun 8, 2016 at 1:46 PM, Guyer, Jonathan E. Dr. (Fed) > <jonathan.gu...@nist.gov> wrote: > If the domain were not so large and so sparse, I'd be inclined to create a > simple, rectilinear Grid2D of the full extent and then use known coefficients > to mask out (set B to zero?) the solution where you don't know/care. > > Assuming the axes are labeled in grid spacings (?), then your mesh would have > around 5 million elements in it, with fewer than 1 million actually being > solved (although it looks like even less than 20% of the domain is active). I > don't think that would perform very well. > > I'm not thinking of anything clever with Gmsh off the top of my head. > > You could break the total domain into sub-grids, only instantiate the > corresponding Grid2D's if they're not empty, and then concatenate them > together. Sketching: > > A B C D > +-----+-----+-----+-----+ > 1| | ** | | | > | | ** | | | > +-----+-----+-----+-----+ > 2| | *|** | | > | | |* * | | > +-----+-----+-----+-----+ > 3| | | *** | | > | | | ***| | > +-----+-----+-----+-----+ > 4| | | **|* | > | | | *| * | > +-----+-----+-----+-----+ > > > mesh = gridB1 + gridB2 + gridC2 + gridC3 + gridC4 + gridD4 > > > > > > On Jun 7, 2016, at 10:46 AM, James Pringle <jprin...@unh.edu> wrote: > > > > Dear mailing list & developers -- > > > > I am looking for hints on the best way to proceed in creating a > > grid/mesh for a rather complex geometry. I am just looking for which method > > (Gmsh or something else?) to start with, so I can most efficiently start > > coding without exploring blind alleys. > > > > I am solving an elliptic/advective problem of the form > > > > 0=J(Psi,A(x,y)) + \Del(B(x,y)*\Del Psi) > > > > where Psi is the variable to solve for, and A(x,y) and B(x,y) are > > coefficients known on a set of discrete points shown as black in > > https://urldefense.proofpoint.com/v2/url?u=https-3A__dl.dropboxusercontent.com_u_382250_Grid01.png&d=CwICAg&c=c6MrceVCY5m5A_KAUkrdoA&r=oMf1-WHpUHeD7kN3S7612CDdF2TDPqDF9R-n-71Ks1Y&m=pa2VS0gonWbqlcwLDzR4QyP-iFHDpvnSHIqg-fk0QD4&s=ctz2HUgelmtveB6M5tJgv57BV8OqeCl3-MMJoIQOtmk&e= > > . The black appears solid because the grid is dense. > > > > The locations of the points where the coefficients are known define the > > grid. The number of points is large (911130 points) and they are evenly > > spaced where they exist. Note that there are holes in the domain that > > represent actual islands in the ocean. > > > > I am happy to keep the resolution of the grid/mesh equal to the spacing of > > the points where the coefficients are known. > > > > What is the best way to approach creating a grid for this problem? I would > > love code, of course, but would be very happy with suggestions of the best > > way to start. > > > > Thanks > > Jamie Pringle > > University of New Hampshire > > _______________________________________________ > > fipy mailing list > _______________________________________________ > fipy mailing list > fipy@nist.gov > http://www.ctcms.nist.gov/fipy > [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] _______________________________________________ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]