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.

This function is deprecated in 3.8 and will be removed in 3.9. Use the functionality in flopy.utils.cvfdutil.Lgr() to create a DISV mesh for a nested grid.

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, duplicate_decimals=9, 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)

  • duplicate_decimals (int) – decimals to round duplicate vertex checks. GRIDGEN can occasionally produce very-nearly overlapping vertices, this can be used to change the sensitivity for filtering out duplicates. (default is 9)

  • 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