MODFLOW 6
version 6.7.0.dev0
USGS Modular Hydrologic Model
|
Data Types | |
type | disvgeomtype |
Functions/Subroutines | |
subroutine | init (this, nlay, ncpl, nodes, top_grid, bot_grid, iavert, javert, vertex_grid, cellxy_grid, nodereduced, nodeuser) |
Initialize. More... | |
subroutine | set_kj (this, k, j) |
Set node IDs. More... | |
subroutine | set_nodered (this, nodered) |
Set reduced node number. More... | |
subroutine | cell_setup (this) |
Set top and bottom elevations of grid cell. More... | |
subroutine | cprops (this, cell2, hwva, cl1, cl2, ax, ihc) |
subroutine | edge_normal (this, cell2, xcomp, ycomp) |
Return the x and y components of an outward normal facing vector. More... | |
subroutine | connection_vector (this, cell2, nozee, satn, satm, xcomp, ycomp, zcomp, conlen) |
Return the x y and z components of a unit vector that points from from the center of this to the center of cell2, and the straight-line connection length. More... | |
logical function | shares_edge (this, cell2) |
Return true if this shares a horizontal edge with cell2. More... | |
subroutine, public | shared_edge (ivlist1, ivlist2, ivert1, ivert2) |
Find two common vertices shared by cell1 and cell2. More... | |
real(dp) function | get_area (this) |
Calculate and return the area of the cell. More... | |
real(dp) function | anglex (x1, y1, x2, y2) |
Calculate the angle that the x-axis makes with a line that is normal to the two points. More... | |
real(dp) function | distance (x1, y1, x2, y2) |
Calculate distance between two points. More... | |
real(dp) function | distance_normal (x0, y0, x1, y1, x2, y2) |
Calculate normal distance from point (x0, y0) to line defined by two points, (x1, y1), (x2, y2). More... | |
subroutine | line_unit_normal (x0, y0, x1, y1, xcomp, ycomp) |
Calculate the normal vector components (xcomp and ycomp) for a line defined by two points, (x0, y0), (x1, y1). More... | |
subroutine, public | line_unit_vector (x0, y0, z0, x1, y1, z1, xcomp, ycomp, zcomp, vmag) |
Calculate the vector components (xcomp, ycomp, and zcomp) for a line defined by two points, (x0, y0, z0), (x1, y1, z1). More... | |
real(dp) function disvgeom::anglex | ( | real(dp), intent(in) | x1, |
real(dp), intent(in) | y1, | ||
real(dp), intent(in) | x2, | ||
real(dp), intent(in) | y2 | ||
) |
This assumes that vertices are numbered clockwise so that the angle is for the normal outward of cell n.
Definition at line 394 of file DisvGeom.f90.
|
private |
Definition at line 128 of file DisvGeom.f90.
subroutine disvgeom::connection_vector | ( | class(disvgeomtype) | this, |
type(disvgeomtype) | cell2, | ||
logical, intent(in) | nozee, | ||
real(dp), intent(in) | satn, | ||
real(dp), intent(in) | satm, | ||
real(dp), intent(out) | xcomp, | ||
real(dp), intent(out) | ycomp, | ||
real(dp), intent(out) | zcomp, | ||
real(dp), intent(out) | conlen | ||
) |
|
private |
real(dp) function disvgeom::distance | ( | real(dp), intent(in) | x1, |
real(dp), intent(in) | y1, | ||
real(dp), intent(in) | x2, | ||
real(dp), intent(in) | y2 | ||
) |
|
private |
Definition at line 432 of file DisvGeom.f90.
subroutine disvgeom::edge_normal | ( | class(disvgeomtype) | this, |
type(disvgeomtype) | cell2, | ||
real(dp), intent(out) | xcomp, | ||
real(dp), intent(out) | ycomp | ||
) |
|
private |
a = 1/2 *[(x1*y2 + x2*y3 + x3*y4 + ... + xn*y1) - (x2*y1 + x3*y2 + x4*y3 + ... + x1*yn)]
Definition at line 339 of file DisvGeom.f90.
|
private |
Definition at line 50 of file DisvGeom.f90.
|
private |
subroutine, public disvgeom::line_unit_vector | ( | real(dp), intent(in) | x0, |
real(dp), intent(in) | y0, | ||
real(dp), intent(in) | z0, | ||
real(dp), intent(in) | x1, | ||
real(dp), intent(in) | y1, | ||
real(dp), intent(in) | z1, | ||
real(dp), intent(out) | xcomp, | ||
real(dp), intent(out) | ycomp, | ||
real(dp), intent(out) | zcomp, | ||
real(dp) | vmag | ||
) |
Also return the magnitude of the original vector, vmag.
Definition at line 473 of file DisvGeom.f90.
|
private |
Definition at line 90 of file DisvGeom.f90.
|
private |
Definition at line 109 of file DisvGeom.f90.
subroutine, public disvgeom::shared_edge | ( | integer(i4b), dimension(:) | ivlist1, |
integer(i4b), dimension(:) | ivlist2, | ||
integer(i4b), intent(out) | ivert1, | ||
integer(i4b), intent(out) | ivert2 | ||
) |
Return 0 if there are no shared edges. Proceed forward through ivlist1 and backward through ivlist2 as a clockwise face in cell1 must correspond to a counter clockwise face in cell2.
Definition at line 302 of file DisvGeom.f90.
logical function disvgeom::shares_edge | ( | class(disvgeomtype) | this, |
type(disvgeomtype) | cell2 | ||
) |