Пример #1
0
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
Пример #2
0
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