MODFLOW 6  version 6.7.0.dev3
USGS Modular Hydrologic Model
upstreamschememodule Module Reference

Data Types

interface  upstreamschemetype
 

Functions/Subroutines

type(upstreamschemetype) function constructor (dis, fmi)
 
subroutine set_field (this, phi)
 Set the scalar field for which interpolation will be computed. More...
 
type(coefficientstype) function compute (this, n, m, iposnm)
 

Function/Subroutine Documentation

◆ compute()

type(coefficientstype) function upstreamschememodule::compute ( class(upstreamschemetype), target  this,
integer(i4b), intent(in)  n,
integer(i4b), intent(in)  m,
integer(i4b), intent(in)  iposnm 
)
private

Definition at line 54 of file UpstreamScheme.f90.

55  !-- return
56  type(CoefficientsType) :: phi_face
57  ! -- dummy
58  class(UpstreamSchemeType), target :: this
59  integer(I4B), intent(in) :: n
60  integer(I4B), intent(in) :: m
61  integer(I4B), intent(in) :: iposnm
62  ! -- local
63  real(DP) :: qnm
64 
65  ! -- Compute the coefficients for the upwind scheme
66  qnm = this%fmi%gwfflowja(iposnm)
67 
68  if (qnm < dzero) then
69  phi_face%c_n = 1.0_dp
70  else
71  phi_face%c_m = 1.0_dp
72  end if
73 

◆ constructor()

type(upstreamschemetype) function upstreamschememodule::constructor ( class(disbasetype), intent(in), pointer  dis,
type(tspfmitype), intent(in), pointer  fmi 
)
private

Definition at line 29 of file UpstreamScheme.f90.

30  ! -- return
31  type(UpstreamSchemeType) :: interpolation_scheme
32  ! --dummy
33  class(DisBaseType), pointer, intent(in) :: dis
34  type(TspFmiType), pointer, intent(in) :: fmi
35 
36  interpolation_scheme%dis => dis
37  interpolation_scheme%fmi => fmi
38 
Here is the caller graph for this function:

◆ set_field()

subroutine upstreamschememodule::set_field ( class(upstreamschemetype), target  this,
real(dp), dimension(:), intent(in), pointer  phi 
)
private

This method establishes a pointer to the scalar field data for subsequent upstream interpolation computations.

Definition at line 46 of file UpstreamScheme.f90.

47  ! -- dummy
48  class(UpstreamSchemeType), target :: this
49  real(DP), intent(in), dimension(:), pointer :: phi
50 
51  this%phi => phi