MODFLOW 6  version 6.8.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_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 128 of file NumericalExchange.f90.

129  implicit none
130  type(ListType), intent(inout) :: list
131  class(NumericalExchangeType), pointer, intent(in) :: exchange
132  class(*), pointer :: obj
133 
134  obj => exchange
135  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 113 of file NumericalExchange.f90.

114  implicit none
115  class(*), pointer, intent(inout) :: obj
116  class(NumericalExchangeType), pointer :: res
117 
118  res => null()
119  if (.not. associated(obj)) return
120 
121  select type (obj)
122  class is (numericalexchangetype)
123  res => obj
124  end select
Here is the caller graph for this function:

◆ exg_ac()

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

Definition at line 42 of file NumericalExchange.f90.

43  use sparsemodule, only: sparsematrix
44  class(NumericalExchangeType) :: this
45  type(sparsematrix), intent(inout) :: sparse

◆ exg_ar()

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

Definition at line 55 of file NumericalExchange.f90.

56  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 
)
private

Definition at line 90 of file NumericalExchange.f90.

91  class(NumericalExchangeType) :: this
92  integer(I4B), intent(inout) :: icnvg
93  integer(I4B), intent(in) :: isuppress_output
94  integer(I4B), intent(in) :: isolnid

◆ exg_cc()

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

Definition at line 76 of file NumericalExchange.f90.

77  class(NumericalExchangeType) :: this
78  integer(I4B), intent(inout) :: icnvg

◆ exg_cf()

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

Definition at line 61 of file NumericalExchange.f90.

62  class(NumericalExchangeType) :: this
63  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 82 of file NumericalExchange.f90.

83  class(NumericalExchangeType) :: this
84  integer(I4B), intent(inout) :: icnvg
85  integer(I4B), intent(in) :: isuppress_output
86  integer(I4B), intent(in) :: isolnid

◆ exg_da()

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

Definition at line 103 of file NumericalExchange.f90.

104  class(NumericalExchangeType) :: this

◆ exg_df()

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

Definition at line 37 of file NumericalExchange.f90.

38  class(NumericalExchangeType) :: this

◆ 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 67 of file NumericalExchange.f90.

68  class(NumericalExchangeType) :: this
69  integer(I4B), intent(in) :: kiter
70  class(MatrixBaseType), pointer :: matrix_sln
71  real(DP), dimension(:), intent(inout) :: rhs_sln
72  integer(I4B), optional, intent(in) :: inwtflag

◆ exg_mc()

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

Definition at line 49 of file NumericalExchange.f90.

50  class(NumericalExchangeType) :: this
51  class(MatrixBaseType), pointer :: matrix_sln

◆ exg_ot()

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

Definition at line 98 of file NumericalExchange.f90.

99  class(NumericalExchangeType) :: this

◆ get_iasym()

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

Definition at line 107 of file NumericalExchange.f90.

108  class(NumericalExchangeType) :: this
109  integer(I4B) :: iasym
110  iasym = 0

◆ getnumericalexchangefromlist()

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

Definition at line 139 of file NumericalExchange.f90.

140  implicit none
141  type(ListType), intent(inout) :: list
142  integer(I4B), intent(in) :: idx
143  class(NumericalExchangeType), pointer :: res
144  class(*), pointer :: obj
145 
146  obj => list%GetItem(idx)
147  res => castasnumericalexchangeclass(obj)
Here is the call graph for this function:
Here is the caller graph for this function: