MODFLOW 6  version 6.7.0.dev0
USGS Modular Hydrologic Model
numericalexchangemodule Module Reference

Data Types

type  numericalexchangetype
 

Functions/Subroutines

subroutine exg_df (this)
 Define the exchange. More...
 
subroutine exg_ac (this, sparse)
 If an implicit exchange then add connections to sparse. More...
 
subroutine exg_mc (this, matrix_sln)
 Map the connections in the global matrix. More...
 
subroutine exg_ar (this)
 Allocate and read. More...
 
subroutine exg_ad (this)
 Advance. More...
 
subroutine exg_cf (this, kiter)
 Calculate conductance, and for explicit exchanges, set the conductance in the boundary package. More...
 
subroutine exg_fc (this, kiter, matrix_sln, rhs_sln, inwtflag)
 Fill the matrix. More...
 
subroutine exg_cc (this, icnvg)
 Additional convergence check. More...
 
subroutine exg_cq (this, icnvg, isuppress_output, isolnid)
 Calculate flow. More...
 
subroutine exg_bd (this, icnvg, isuppress_output, isolnid)
 Exchange budget. More...
 
subroutine exg_ot (this)
 Output. More...
 
subroutine exg_da (this)
 Deallocate memory. More...
 
integer(i4b) function get_iasym (this)
 
class(numericalexchangetype) function, pointer castasnumericalexchangeclass (obj)
 
subroutine, public addnumericalexchangetolist (list, exchange)
 Add numerical exchange to a list. More...
 
class(numericalexchangetype) function, pointer, public getnumericalexchangefromlist (list, idx)
 Retrieve a specific numerical exchange from a list. More...
 

Function/Subroutine Documentation

◆ addnumericalexchangetolist()

subroutine, public numericalexchangemodule::addnumericalexchangetolist ( type(listtype), intent(inout)  list,
class(numericalexchangetype), intent(in), pointer  exchange 
)

Definition at line 180 of file NumericalExchange.f90.

181  implicit none
182  ! -- dummy
183  type(ListType), intent(inout) :: list
184  class(NumericalExchangeType), pointer, intent(in) :: exchange
185  ! -- local
186  class(*), pointer :: obj
187  !
188  obj => exchange
189  call list%Add(obj)
Here is the caller graph for this function:

◆ castasnumericalexchangeclass()

class(numericalexchangetype) function, pointer numericalexchangemodule::castasnumericalexchangeclass ( class(*), intent(inout), pointer  obj)
private

Definition at line 162 of file NumericalExchange.f90.

163  implicit none
164  ! -- dummy
165  class(*), pointer, intent(inout) :: obj
166  ! -- return
167  class(NumericalExchangeType), pointer :: res
168  !
169  res => null()
170  if (.not. associated(obj)) return
171  !
172  select type (obj)
173  class is (numericalexchangetype)
174  res => obj
175  end select
Here is the caller graph for this function:

◆ exg_ac()

subroutine numericalexchangemodule::exg_ac ( class(numericalexchangetype this,
type(sparsematrix), intent(inout)  sparse 
)

Definition at line 51 of file NumericalExchange.f90.

52  ! -- modules
53  use sparsemodule, only: sparsematrix
54  ! -- dummy
55  class(NumericalExchangeType) :: this
56  type(sparsematrix), intent(inout) :: sparse

◆ exg_ad()

subroutine numericalexchangemodule::exg_ad ( class(numericalexchangetype this)
private

Definition at line 80 of file NumericalExchange.f90.

81  ! -- dummy
82  class(NumericalExchangeType) :: this

◆ exg_ar()

subroutine numericalexchangemodule::exg_ar ( class(numericalexchangetype this)

Definition at line 73 of file NumericalExchange.f90.

74  !
75  class(NumericalExchangeType) :: this

◆ exg_bd()

subroutine numericalexchangemodule::exg_bd ( class(numericalexchangetype this,
integer(i4b), intent(inout)  icnvg,
integer(i4b), intent(in)  isuppress_output,
integer(i4b), intent(in)  isolnid 
)

Definition at line 127 of file NumericalExchange.f90.

128  ! -- modules
129  use constantsmodule, only: lenbudtxt
130  ! -- dummy
131  class(NumericalExchangeType) :: this
132  integer(I4B), intent(inout) :: icnvg
133  integer(I4B), intent(in) :: isuppress_output
134  integer(I4B), intent(in) :: isolnid
This module contains simulation constants.
Definition: Constants.f90:9
integer(i4b), parameter lenbudtxt
maximum length of a budget component names
Definition: Constants.f90:37

◆ exg_cc()

subroutine numericalexchangemodule::exg_cc ( class(numericalexchangetype this,
integer(i4b), intent(inout)  icnvg 
)
private

Definition at line 107 of file NumericalExchange.f90.

108  ! -- dummy
109  class(NumericalExchangeType) :: this
110  integer(I4B), intent(inout) :: icnvg

◆ exg_cf()

subroutine numericalexchangemodule::exg_cf ( class(numericalexchangetype this,
integer(i4b), intent(in)  kiter 
)
private

Definition at line 88 of file NumericalExchange.f90.

89  ! -- dummy
90  class(NumericalExchangeType) :: this
91  integer(I4B), intent(in) :: kiter

◆ exg_cq()

subroutine numericalexchangemodule::exg_cq ( class(numericalexchangetype this,
integer(i4b), intent(inout)  icnvg,
integer(i4b), intent(in)  isuppress_output,
integer(i4b), intent(in)  isolnid 
)
private

Definition at line 115 of file NumericalExchange.f90.

116  ! -- modules
117  use constantsmodule, only: lenbudtxt
118  ! -- dummy
119  class(NumericalExchangeType) :: this
120  integer(I4B), intent(inout) :: icnvg
121  integer(I4B), intent(in) :: isuppress_output
122  integer(I4B), intent(in) :: isolnid

◆ exg_da()

subroutine numericalexchangemodule::exg_da ( class(numericalexchangetype this)
private

Definition at line 146 of file NumericalExchange.f90.

147  ! -- modules
149  ! -- dummy
150  class(NumericalExchangeType) :: this

◆ exg_df()

subroutine numericalexchangemodule::exg_df ( class(numericalexchangetype this)
private

Definition at line 41 of file NumericalExchange.f90.

42  ! -- modules
45  ! -- dummy
46  class(NumericalExchangeType) :: this
integer(i4b) function, public getunit()
Get a free unit number.
subroutine, public openfile(iu, iout, fname, ftype, fmtarg_opt, accarg_opt, filstat_opt, mode_opt)
Open a file.
Definition: InputOutput.f90:30
Highest level model type. All models extend this parent type.
Definition: BaseModel.f90:13
Here is the call graph for this function:

◆ exg_fc()

subroutine numericalexchangemodule::exg_fc ( class(numericalexchangetype this,
integer(i4b), intent(in)  kiter,
class(matrixbasetype), pointer  matrix_sln,
real(dp), dimension(:), intent(inout)  rhs_sln,
integer(i4b), intent(in), optional  inwtflag 
)
private

Definition at line 96 of file NumericalExchange.f90.

97  ! -- dummy
98  class(NumericalExchangeType) :: this
99  integer(I4B), intent(in) :: kiter
100  class(MatrixBaseType), pointer :: matrix_sln
101  real(DP), dimension(:), intent(inout) :: rhs_sln
102  integer(I4B), optional, intent(in) :: inwtflag

◆ exg_mc()

subroutine numericalexchangemodule::exg_mc ( class(numericalexchangetype this,
class(matrixbasetype), pointer  matrix_sln 
)

Definition at line 61 of file NumericalExchange.f90.

62  ! -- module
63  use sparsemodule, only: sparsematrix
64  ! -- dummy
65  class(NumericalExchangeType) :: this
66  class(MatrixBaseType), pointer :: matrix_sln
67  !
68  ! -- Return

◆ exg_ot()

subroutine numericalexchangemodule::exg_ot ( class(numericalexchangetype this)

Definition at line 139 of file NumericalExchange.f90.

140  ! -- dummy
141  class(NumericalExchangeType) :: this

◆ get_iasym()

integer(i4b) function numericalexchangemodule::get_iasym ( class(numericalexchangetype this)

Definition at line 153 of file NumericalExchange.f90.

154  ! -- dummy
155  class(NumericalExchangeType) :: this
156  ! -- return
157  integer(I4B) :: iasym
158  !
159  iasym = 0

◆ getnumericalexchangefromlist()

class(numericalexchangetype) function, pointer, public numericalexchangemodule::getnumericalexchangefromlist ( type(listtype), intent(inout)  list,
integer(i4b), intent(in)  idx 
)

Definition at line 194 of file NumericalExchange.f90.

195  implicit none
196  ! -- dummy
197  type(ListType), intent(inout) :: list
198  integer(I4B), intent(in) :: idx
199  class(NumericalExchangeType), pointer :: res
200  ! -- local
201  class(*), pointer :: obj
202  !
203  obj => list%GetItem(idx)
204  res => castasnumericalexchangeclass(obj)
Here is the call graph for this function:
Here is the caller graph for this function: