MODFLOW 6 version 6.9.0.dev0
USGS Modular Hydrologic Model
Loading...
Searching...
No Matches
celldefnmodule Module Reference

Data Types

type  celldefntype
 Base grid cell definition. More...

Enumerations

enum  { saturation_dry = 0 , saturation_watertable = 1 , saturation_saturated = 2 }
 Cell saturation status. More...

Functions/Subroutines

subroutine, public create_defn (celldefn)
 Create a new cell definition object.
integer(i4b) function, public get_iatop (ncpl, icu)
 Get the index corresponding to top elevation of a cell in the grid. This is -1 if the cell is in the top layer and 1 otherwise.
logical(lgp) function get_ispv180 (this, m)
 Return 180-degree indicator for a vertex.
real(dp) function get_botflow (this)
 Return the bottom flow.
real(dp) function get_topflow (this)
 Return the top flow.
real(dp) function get_distflow (this)
 Return the distributed flow.
real(dp) function get_faceflow (this, m)
 Return a face flow.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
private

Status 0 indicates that the cell is dry. Status 1 indicates that the cell contains a water table. Since a water table might exist exactly at the top face, status 1 includes that case. Status 2 is reserved for a fully saturated cell with no water table.

Enumerator
saturation_dry 
saturation_watertable 
saturation_saturated 

Definition at line 18 of file CellDefn.f90.

Function/Subroutine Documentation

◆ create_defn()

subroutine, public celldefnmodule::create_defn ( type(celldefntype), pointer celldefn)

Definition at line 57 of file CellDefn.f90.

58 type(CellDefnType), pointer :: cellDefn
59 allocate (celldefn)
60 ! Initially, allocate arrays to size for structured grid tracking method.
61 ! They can be (lazily) expanded as necessary for the unstructured method.
62 allocate (celldefn%ispv180(5))
63 allocate (celldefn%facenbr(7))
64 allocate (celldefn%faceflow(7))
Here is the caller graph for this function:

◆ get_botflow()

real(dp) function celldefnmodule::get_botflow ( class(celldefntype), intent(inout) this)
private

Definition at line 89 of file CellDefn.f90.

90 class(CellDefnType), intent(inout) :: this
91 real(DP) :: botflow
92 botflow = this%faceflow(this%npolyverts + 2)

◆ get_distflow()

real(dp) function celldefnmodule::get_distflow ( class(celldefntype), intent(inout) this)
private

Definition at line 103 of file CellDefn.f90.

104 class(CellDefnType), intent(inout) :: this
105 real(DP) :: distflow
106 distflow = this%distflow

◆ get_faceflow()

real(dp) function celldefnmodule::get_faceflow ( class(celldefntype), intent(inout) this,
integer(i4b) m )
private

Definition at line 110 of file CellDefn.f90.

111 class(CellDefnType), intent(inout) :: this
112 integer(I4B) :: m
113 real(DP) :: faceflow
114 faceflow = this%faceflow(m)

◆ get_iatop()

integer(i4b) function, public celldefnmodule::get_iatop ( integer(i4b), intent(in) ncpl,
integer(i4b), intent(in) icu )

Definition at line 69 of file CellDefn.f90.

70 integer(I4B), intent(in) :: ncpl, icu
71 integer(I4B) :: iatop
72
73 if (icu .le. ncpl) then
74 iatop = -1
75 else
76 iatop = 1
77 end if
Here is the caller graph for this function:

◆ get_ispv180()

logical(lgp) function celldefnmodule::get_ispv180 ( class(celldefntype), intent(inout) this,
integer(i4b) m )
private

Definition at line 81 of file CellDefn.f90.

82 class(CellDefnType), intent(inout) :: this
83 integer(I4B) :: m
84 logical(LGP) :: ispv180
85 ispv180 = this%ispv180(m)

◆ get_topflow()

real(dp) function celldefnmodule::get_topflow ( class(celldefntype), intent(inout) this)
private

Definition at line 96 of file CellDefn.f90.

97 class(CellDefnType), intent(inout) :: this
98 real(DP) :: topflow
99 topflow = this%faceflow(this%npolyverts + 3)