MODFLOW 6 version 6.9.0.dev0
USGS Modular Hydrologic Model
Loading...
Searching...
No Matches
SubcellRect.f90
Go to the documentation of this file.
2
4 implicit none
5
6 private
7 public :: subcellrecttype
8 public :: create_subcell_rect
9
10 type, extends(subcelltype) :: subcellrecttype
11 private
12 double precision, public :: sinrot !< sine of rotation angle for local (x, y)
13 double precision, public :: cosrot !< cosine of rotation angle for local (x, y)
14 double precision, public :: xorigin !< cell x origin for local (x, y)
15 double precision, public :: yorigin !< cell y origin for local (x, y)
16 double precision, public :: zorigin !< cell z origin for local z
17 double precision, public :: dx, dy, dz !< subcell dimensions
18 double precision, public :: vx1, vx2, vy1, vy2, vz1, vz2 !< subcell face velocities
19 contains
20 procedure, public :: destroy => destroy_subcell_rect !< destructor for the subcell
21 procedure, public :: init => init_subcell_rect !< initializes the rectangular subcell
22 end type subcellrecttype
23
24contains
25
26 !> @brief Create a new rectangular subcell
27 subroutine create_subcell_rect(subcell)
28 type(subcellrecttype), pointer :: subcell
29 allocate (subcell)
30 allocate (subcell%type)
31 subcell%type = 'subcellrect'
32 end subroutine create_subcell_rect
33
34 !> @brief Destructor for a rectangular subcell
35 subroutine destroy_subcell_rect(this)
36 class(subcellrecttype), intent(inout) :: this
37 deallocate (this%type)
38 end subroutine destroy_subcell_rect
39
40 !> @brief Initialize a rectangular subcell
41 subroutine init_subcell_rect(this)
42 class(subcellrecttype), intent(inout) :: this
43 end subroutine init_subcell_rect
44
45end module subcellrectmodule
subroutine destroy_subcell_rect(this)
Destructor for a rectangular subcell.
subroutine init_subcell_rect(this)
Initialize a rectangular subcell.
subroutine, public create_subcell_rect(subcell)
Create a new rectangular subcell.
A subcell of a cell.
Definition Subcell.f90:10