def get_tri_grid(angrot=0., xyoffset=0., triangle_exe=None): if not triangle_exe: cell2d = [[0, 16.666666666666668, 13.333333333333334, 3, 4, 2, 7], [1, 3.3333333333333335, 6.666666666666667, 3, 4, 0, 5], [2, 6.666666666666667, 16.666666666666668, 3, 1, 8, 4], [3, 3.3333333333333335, 13.333333333333334, 3, 5, 1, 4], [4, 6.666666666666667, 3.3333333333333335, 3, 6, 0, 4], [5, 13.333333333333334, 3.3333333333333335, 3, 4, 3, 6], [6, 16.666666666666668, 6.666666666666667, 3, 7, 3, 4], [7, 13.333333333333334, 16.666666666666668, 3, 8, 2, 4]] vertices = [[0, 0.0, 0.0], [1, 0.0, 20.0], [2, 20.0, 20.0], [3, 20.0, 0.0], [4, 10.0, 10.0], [5, 0.0, 10.0], [6, 10.0, 0.0], [7, 20.0, 10.0], [8, 10.0, 20.0]] else: maximum_area = 50. x0, x1, y0, y1 = (0.0, 20.0, 0.0, 20.0) domainpoly = [(x0, y0), (x0, y1), (x1, y1), (x1, y0)] tri = Triangle(maximum_area=maximum_area, angle=45, model_ws=".", exe_name=triangle_exe) tri.add_polygon(domainpoly) tri.build(verbose=False) cell2d = tri.get_cell2d() vertices = tri.get_vertices() tgr = fgrid.VertexGrid(vertices, cell2d, botm=np.atleast_2d(np.zeros(len(cell2d))), top=np.ones(len(cell2d)), xoff=xyoffset, yoff=xyoffset, angrot=angrot) return tgr
def get_rect_vertex_grid(angrot=0.0, xyoffset=0.0): cell2d = [ [0, 5.0, 5.0, 4, 0, 1, 4, 3], [1, 15.0, 5.0, 4, 1, 2, 5, 4], [2, 5.0, 15.0, 4, 3, 4, 7, 6], [3, 15.0, 15.0, 4, 4, 5, 8, 7], ] vertices = [ [0, 0.0, 0.0], [1, 10.0, 0.0], [2, 20.0, 0.0], [3, 0.0, 10.0], [4, 10.0, 10.0], [5, 20.0, 10.0], [6, 0.0, 20.0], [7, 10.0, 20.0], [8, 20.0, 20.0], ] tgr = fgrid.VertexGrid( vertices, cell2d, botm=np.atleast_2d(np.zeros(len(cell2d))), top=np.ones(len(cell2d)), xoff=xyoffset, yoff=xyoffset, angrot=angrot, ) return tgr
def get_tri_grid(angrot=0., xyoffset=0., triangle_exe=None): if not triangle_exe: return -1 maximum_area = 50. x0, x1, y0, y1 = (0.0, 20.0, 0.0, 20.0) domainpoly = [(x0, y0), (x0, y1), (x1, y1), (x1, y0)] tri = Triangle(maximum_area=maximum_area, angle=45, model_ws=".", exe_name=triangle_exe) tri.add_polygon(domainpoly) tri.build(verbose=False) cell2d = tri.get_cell2d() vertices = tri.get_vertices() tgr = fgrid.VertexGrid(vertices, cell2d, botm=np.atleast_2d(np.zeros(len(cell2d))), top=np.ones(len(cell2d)), xoff=xyoffset, yoff=xyoffset, angrot=angrot) return tgr