flopy.utils.cvfdutil module

class Point(x, y)[source]

Bases: object

area_of_polygon(x, y)[source]
centroid_of_polygon(points)[source]
get_disv_gridprops(verts, iverts, xcyc=None)[source]

Calculate disv grid properties from verts and iverts

Parameters:
  • verts (ndarray) – 2d array of x, y vertices

  • iverts (list) – list of size ncpl, with a list of vertex numbers for each cell

Returns:

gridprops – Dictionary containing entries that can be passed directly into the modflow6 disv package.

Return type:

dict

gridlist_to_disv_gridprops(gridlist)[source]

Take a list of flopy structured model grids and convert them into a dictionary that can be passed into the modflow6 disv package. Cells from a child grid will patched in to make a single set of vertices. Cells will be numbered according to consecutive numbering of active cells in the grid list.

Parameters:

gridlist (list) – List of flopy.discretization.modelgrid. Must be of type structured grids

Returns:

gridprops – Dictionary containing entries that can be passed directly into the modflow6 disv package.

Return type:

dict

gridlist_to_verts(gridlist)[source]

Take a list of flopy structured model grids and convert them into vertices. The idomain can be set to remove cells in a parent grid. Cells from a child grid will patched in to make a single set of vertices. Cells will be numbered according to consecutive numbering of active cells in the grid list.

Parameters:

gridlist (list) – List of flopy.discretization.modelgrid. Must be of type structured grids

Returns:

verts, iverts – vertices and list of cells and which vertices comprise the cells

Return type:

np.ndarray, list

isBetween(a, b, c, epsilon=0.001)[source]
segment_face(ivert, ivlist1, ivlist2, vertices)[source]

Check the vertex lists for cell 1 and cell 2. Add a new vertex to cell 1 if necessary.

Parameters:
  • ivert (int) – vertex number to check

  • ivlist1 (list) – list of vertices for cell 1. Add a new vertex to this cell if needed.

  • ivlist2 (list) – list of vertices for cell2.

  • vertices (ndarray) – array of x, y vertices

Returns:

segmented – Return True if a face in cell 1 was split up by adding a new vertex

Return type:

bool

shapefile_to_cvfd(shp, **kwargs)[source]
shapefile_to_xcyc(shp)[source]

Get cell centroid coordinates

Parameters:

shp (string) – Name of shape file

Returns:

xcyc – x, y coordinates of all polygons in shp

Return type:

ndarray

shared_face(ivlist1, ivlist2)[source]
to_cvfd(vertdict, nodestart=None, nodestop=None, skip_hanging_node_check=False, verbose=False)[source]

Convert a vertex dictionary into verts and iverts

Parameters:
  • vertdict – vertdict is a dictionary {icell: [(x1, y1), (x2, y2), (x3, y3), …]}

  • nodestart (int) – starting node number. (default is zero)

  • nodestop (int) – ending node number up to but not including. (default is len(vertdict))

  • skip_hanging_node_check (bool) – skip the hanging node check. this may only be necessary for quad-based grid refinement. (default is False)

  • verbose (bool) – print messages to the screen. (default is False)

Returns:

  • verts (ndarray) – array of x, y vertices

  • iverts (list) – list containing a list for each cell