MODFLOW 6  version 6.7.0.dev0
USGS Modular Hydrologic Model
gwfgwfconnectionmodule::gwfgwfconnectiontype Type Reference

Connecting a GWF model to other models in space, implements NumericalExchangeType so the solution can used this object to determine the coefficients for the coupling between two adjacent models. More...

Inheritance diagram for gwfgwfconnectionmodule::gwfgwfconnectiontype:
Inheritance graph
Collaboration diagram for gwfgwfconnectionmodule::gwfgwfconnectiontype:
Collaboration graph

Public Member Functions

procedure gwfgwfconnection_ctor
 
generic, public construct => gwfgwfconnection_ctor
 
procedure exg_df => gwfgwfcon_df
 
procedure exg_ar => gwfgwfcon_ar
 
procedure exg_rp => gwfgwfcon_rp
 
procedure exg_ad => gwfgwfcon_ad
 
procedure exg_cf => gwfgwfcon_cf
 
procedure exg_fc => gwfgwfcon_fc
 
procedure exg_da => gwfgwfcon_da
 
procedure exg_cq => gwfgwfcon_cq
 
procedure exg_bd => gwfgwfcon_bd
 
procedure exg_ot => gwfgwfcon_ot
 
procedure validateconnection
 
procedure, pass(this) spatialconnection_ctor
 
procedure exg_ac => spatialcon_ac
 
procedure exg_mc => spatialcon_mc
 
procedure, pass(this) spatialcon_df
 
procedure, pass(this) spatialcon_ar
 
procedure, pass(this) spatialcon_ac
 
procedure, pass(this) spatialcon_cf
 
procedure, pass(this) spatialcon_fc
 
procedure, pass(this) spatialcon_da
 
procedure, pass(this) spatialcon_setmodelptrs
 
procedure, pass(this) spatialcon_connect
 
procedure, pass(this) cfg_dv
 
procedure, pass(this) createmodelhalo
 

Public Attributes

class(gwfmodeltype), pointer gwfmodel => null()
 the model for which this connection exists More...
 
class(gwfexchangetype), pointer gwfexchange => null()
 the primary exchange, cast to its concrete type More...
 
class(gwfinterfacemodeltype), pointer gwfinterfacemodel => null()
 the interface model More...
 
integer(i4b), pointer ixt3donexchange => null()
 run XT3D on the interface, 0 = don't, 1 = matrix, 2 = rhs More...
 
integer(i4b) iout = 0
 the list file for the interface model More...
 
class(numericalmodeltype), pointer owner => null()
 the model whose connection this is More...
 
class(numericalmodeltype), pointer interface_model => null()
 the interface model More...
 
integer(i4b), pointer nr_connections => null()
 total nr. of connected cells (primary) More...
 
class(disconnexchangetype), pointer prim_exchange => null()
 the exchange for which the interface model is created More...
 
logical(lgp) owns_exchange
 there are two connections (in serial) for an exchange, one of them needs to manage/own the exchange (e.g. clean up) More...
 
type(stlvecint), pointer halo_models
 models that are potentially in the halo of this interface More...
 
type(stlvecint), pointer halo_exchanges
 exchanges that are potentially part of the halo of this interface (includes primary) More...
 
integer(i4b), pointer int_stencil_depth => null()
 size of the computational stencil for the interior default = 1, xt3d = 2, ... More...
 
integer(i4b), pointer exg_stencil_depth => null()
 size of the computational stencil at the interface default = 1, xt3d = 2, ... More...
 
integer(i4b), pointer neq => null()
 nr. of equations in matrix system More...
 
class(sparsematrixtype), pointer matrix => null()
 system matrix for the interface More...
 
real(dp), dimension(:), pointer, contiguous rhs => null()
 rhs of interface system More...
 
real(dp), dimension(:), pointer, contiguous x => null()
 dependent variable of interface system More...
 
integer(i4b), dimension(:), pointer, contiguous active => null()
 cell status (c.f. ibound) of interface system More...
 
class(gridconnectiontype), pointer ig_builder => null()
 facility to build the interface grid connection structure More...
 
integer(i4b), dimension(:), pointer ipos_to_sln => null()
 mapping between position in the interface matrix and the solution matrix More...
 
type(listtypeiface_dist_vars
 list with distributed variables for this interface More...
 
type(interfacemaptype), pointer interface_map => null()
 a map of the interface into models and exchanges More...
 

Private Member Functions

procedure, private cfg_dist_vars
 
procedure, private allocatescalars
 
procedure, private setgridextent
 
procedure, private validategwfexchange
 
procedure, private setflowtoexchange
 
procedure, private setflowtomodel
 
procedure, private setnpfedgeprops
 
procedure, pass(this), private setupgridconnection
 
procedure, pass(this), private getnrofconnections
 
procedure, pass(this), private allocatearrays
 
procedure, pass(this), private createcoefficientmatrix
 
procedure, pass(this), private maskownerconnections
 
procedure, pass(this), private addmodelneighbors
 
procedure exg_cc
 
procedure get_iasym
 
procedure exg_dt
 
procedure exg_fp
 
procedure connects_model
 

Private Attributes

character(len=7) typename
 name of the type (e.g., 'GWF-GWF') More...
 
character(len=lenexchangename) name
 the name of this exchange More...
 
character(len=lenmempath) memorypath
 the location in the memory manager where the variables are stored More...
 
character(len=lenmempath) input_mempath
 
integer(i4b) id
 

Detailed Description

Two connections are created per exchange between model1 and model2: one to manage the coefficients in the matrix rows for model1, and the other to do the same for model2.

Definition at line 38 of file GwfGwfConnection.f90.

Member Function/Subroutine Documentation

◆ addmodelneighbors()

procedure, pass(this), private spatialmodelconnectionmodule::spatialmodelconnectiontype::addmodelneighbors
privateinherited

Definition at line 101 of file SpatialModelConnection.f90.

◆ allocatearrays()

procedure, pass(this), private spatialmodelconnectionmodule::spatialmodelconnectiontype::allocatearrays
privateinherited

Definition at line 98 of file SpatialModelConnection.f90.

◆ allocatescalars()

procedure, private gwfgwfconnectionmodule::gwfgwfconnectiontype::allocatescalars
private

Definition at line 68 of file GwfGwfConnection.f90.

◆ cfg_dist_vars()

procedure, private gwfgwfconnectionmodule::gwfgwfconnectiontype::cfg_dist_vars
private

Definition at line 67 of file GwfGwfConnection.f90.

◆ cfg_dv()

procedure, pass(this) spatialmodelconnectionmodule::spatialmodelconnectiontype::cfg_dv
inherited

Definition at line 91 of file SpatialModelConnection.f90.

◆ connects_model()

procedure baseexchangemodule::baseexchangetype::connects_model
privateinherited

Definition at line 29 of file BaseExchange.f90.

◆ construct()

generic, public gwfgwfconnectionmodule::gwfgwfconnectiontype::construct

Definition at line 49 of file GwfGwfConnection.f90.

Here is the call graph for this function:

◆ createcoefficientmatrix()

procedure, pass(this), private spatialmodelconnectionmodule::spatialmodelconnectiontype::createcoefficientmatrix
privateinherited

Definition at line 99 of file SpatialModelConnection.f90.

◆ createmodelhalo()

procedure, pass(this) spatialmodelconnectionmodule::spatialmodelconnectiontype::createmodelhalo
inherited

Definition at line 92 of file SpatialModelConnection.f90.

◆ exg_ac()

procedure spatialmodelconnectionmodule::spatialmodelconnectiontype::exg_ac
inherited

Definition at line 75 of file SpatialModelConnection.f90.

◆ exg_ad()

procedure gwfgwfconnectionmodule::gwfgwfconnectiontype::exg_ad

Definition at line 55 of file GwfGwfConnection.f90.

◆ exg_ar()

procedure gwfgwfconnectionmodule::gwfgwfconnectiontype::exg_ar

Definition at line 53 of file GwfGwfConnection.f90.

◆ exg_bd()

procedure gwfgwfconnectionmodule::gwfgwfconnectiontype::exg_bd

Definition at line 60 of file GwfGwfConnection.f90.

◆ exg_cc()

procedure numericalexchangemodule::numericalexchangetype::exg_cc
privateinherited

Definition at line 29 of file NumericalExchange.f90.

◆ exg_cf()

procedure gwfgwfconnectionmodule::gwfgwfconnectiontype::exg_cf

Definition at line 56 of file GwfGwfConnection.f90.

◆ exg_cq()

procedure gwfgwfconnectionmodule::gwfgwfconnectiontype::exg_cq

Definition at line 59 of file GwfGwfConnection.f90.

◆ exg_da()

procedure gwfgwfconnectionmodule::gwfgwfconnectiontype::exg_da

Definition at line 58 of file GwfGwfConnection.f90.

◆ exg_df()

procedure gwfgwfconnectionmodule::gwfgwfconnectiontype::exg_df

Definition at line 52 of file GwfGwfConnection.f90.

◆ exg_dt()

procedure baseexchangemodule::baseexchangetype::exg_dt
privateinherited

Definition at line 25 of file BaseExchange.f90.

◆ exg_fc()

procedure gwfgwfconnectionmodule::gwfgwfconnectiontype::exg_fc

Definition at line 57 of file GwfGwfConnection.f90.

◆ exg_fp()

procedure baseexchangemodule::baseexchangetype::exg_fp
privateinherited

Definition at line 27 of file BaseExchange.f90.

◆ exg_mc()

procedure spatialmodelconnectionmodule::spatialmodelconnectiontype::exg_mc
inherited

Definition at line 76 of file SpatialModelConnection.f90.

◆ exg_ot()

procedure gwfgwfconnectionmodule::gwfgwfconnectiontype::exg_ot

Definition at line 61 of file GwfGwfConnection.f90.

◆ exg_rp()

procedure gwfgwfconnectionmodule::gwfgwfconnectiontype::exg_rp

Definition at line 54 of file GwfGwfConnection.f90.

◆ get_iasym()

procedure numericalexchangemodule::numericalexchangetype::get_iasym
privateinherited

Definition at line 34 of file NumericalExchange.f90.

◆ getnrofconnections()

procedure, pass(this), private spatialmodelconnectionmodule::spatialmodelconnectiontype::getnrofconnections
privateinherited

Definition at line 96 of file SpatialModelConnection.f90.

◆ gwfgwfconnection_ctor()

procedure gwfgwfconnectionmodule::gwfgwfconnectiontype::gwfgwfconnection_ctor

Definition at line 48 of file GwfGwfConnection.f90.

◆ maskownerconnections()

procedure, pass(this), private spatialmodelconnectionmodule::spatialmodelconnectiontype::maskownerconnections
privateinherited

Definition at line 100 of file SpatialModelConnection.f90.

◆ setflowtoexchange()

procedure, private gwfgwfconnectionmodule::gwfgwfconnectiontype::setflowtoexchange
private

Definition at line 71 of file GwfGwfConnection.f90.

◆ setflowtomodel()

procedure, private gwfgwfconnectionmodule::gwfgwfconnectiontype::setflowtomodel
private

Definition at line 72 of file GwfGwfConnection.f90.

◆ setgridextent()

procedure, private gwfgwfconnectionmodule::gwfgwfconnectiontype::setgridextent
private

Definition at line 69 of file GwfGwfConnection.f90.

◆ setnpfedgeprops()

procedure, private gwfgwfconnectionmodule::gwfgwfconnectiontype::setnpfedgeprops
private

Definition at line 73 of file GwfGwfConnection.f90.

◆ setupgridconnection()

procedure, pass(this), private spatialmodelconnectionmodule::spatialmodelconnectiontype::setupgridconnection
privateinherited

Definition at line 95 of file SpatialModelConnection.f90.

◆ spatialcon_ac()

procedure, pass(this) spatialmodelconnectionmodule::spatialmodelconnectiontype::spatialcon_ac
inherited

Definition at line 84 of file SpatialModelConnection.f90.

◆ spatialcon_ar()

procedure, pass(this) spatialmodelconnectionmodule::spatialmodelconnectiontype::spatialcon_ar
inherited

Definition at line 83 of file SpatialModelConnection.f90.

◆ spatialcon_cf()

procedure, pass(this) spatialmodelconnectionmodule::spatialmodelconnectiontype::spatialcon_cf
inherited

Definition at line 85 of file SpatialModelConnection.f90.

◆ spatialcon_connect()

procedure, pass(this) spatialmodelconnectionmodule::spatialmodelconnectiontype::spatialcon_connect
inherited

Definition at line 89 of file SpatialModelConnection.f90.

◆ spatialcon_da()

procedure, pass(this) spatialmodelconnectionmodule::spatialmodelconnectiontype::spatialcon_da
inherited

Definition at line 87 of file SpatialModelConnection.f90.

◆ spatialcon_df()

procedure, pass(this) spatialmodelconnectionmodule::spatialmodelconnectiontype::spatialcon_df
inherited

Definition at line 82 of file SpatialModelConnection.f90.

◆ spatialcon_fc()

procedure, pass(this) spatialmodelconnectionmodule::spatialmodelconnectiontype::spatialcon_fc
inherited

Definition at line 86 of file SpatialModelConnection.f90.

◆ spatialcon_setmodelptrs()

procedure, pass(this) spatialmodelconnectionmodule::spatialmodelconnectiontype::spatialcon_setmodelptrs
inherited

Definition at line 88 of file SpatialModelConnection.f90.

◆ spatialconnection_ctor()

procedure, pass(this) spatialmodelconnectionmodule::spatialmodelconnectiontype::spatialconnection_ctor
inherited

Definition at line 69 of file SpatialModelConnection.f90.

◆ validateconnection()

procedure gwfgwfconnectionmodule::gwfgwfconnectiontype::validateconnection

Definition at line 64 of file GwfGwfConnection.f90.

◆ validategwfexchange()

procedure, private gwfgwfconnectionmodule::gwfgwfconnectiontype::validategwfexchange
private

Definition at line 70 of file GwfGwfConnection.f90.

Member Data Documentation

◆ active

integer(i4b), dimension(:), pointer, contiguous spatialmodelconnectionmodule::spatialmodelconnectiontype::active => null()
inherited

Definition at line 58 of file SpatialModelConnection.f90.

58  integer(I4B), dimension(:), pointer, contiguous :: active => null() !< cell status (c.f. ibound) of interface system

◆ exg_stencil_depth

integer(i4b), pointer spatialmodelconnectionmodule::spatialmodelconnectiontype::exg_stencil_depth => null()
inherited

Definition at line 50 of file SpatialModelConnection.f90.

50  integer(I4B), pointer :: exg_stencil_depth => null() !< size of the computational stencil at the interface

◆ gwfexchange

class(gwfexchangetype), pointer gwfgwfconnectionmodule::gwfgwfconnectiontype::gwfexchange => null()

Definition at line 41 of file GwfGwfConnection.f90.

41  class(GwfExchangeType), pointer :: gwfExchange => null() !< the primary exchange, cast to its concrete type

◆ gwfinterfacemodel

class(gwfinterfacemodeltype), pointer gwfgwfconnectionmodule::gwfgwfconnectiontype::gwfinterfacemodel => null()

Definition at line 42 of file GwfGwfConnection.f90.

42  class(GwfInterfaceModelType), pointer :: gwfInterfaceModel => null() !< the interface model

◆ gwfmodel

class(gwfmodeltype), pointer gwfgwfconnectionmodule::gwfgwfconnectiontype::gwfmodel => null()

Definition at line 40 of file GwfGwfConnection.f90.

40  class(GwfModelType), pointer :: gwfModel => null() !< the model for which this connection exists

◆ halo_exchanges

type(stlvecint), pointer spatialmodelconnectionmodule::spatialmodelconnectiontype::halo_exchanges
inherited

Definition at line 47 of file SpatialModelConnection.f90.

47  type(STLVecInt), pointer :: halo_exchanges !< exchanges that are potentially part of the halo of this interface (includes primary)

◆ halo_models

type(stlvecint), pointer spatialmodelconnectionmodule::spatialmodelconnectiontype::halo_models
inherited

Definition at line 46 of file SpatialModelConnection.f90.

46  type(STLVecInt), pointer :: halo_models !< models that are potentially in the halo of this interface

◆ id

integer(i4b) baseexchangemodule::baseexchangetype::id
privateinherited

Definition at line 18 of file BaseExchange.f90.

18  integer(I4B) :: id

◆ iface_dist_vars

type(listtype) spatialmodelconnectionmodule::spatialmodelconnectiontype::iface_dist_vars
inherited

Definition at line 63 of file SpatialModelConnection.f90.

63  type(ListType) :: iface_dist_vars !< list with distributed variables for this interface

◆ ig_builder

class(gridconnectiontype), pointer spatialmodelconnectionmodule::spatialmodelconnectiontype::ig_builder => null()
inherited

Definition at line 61 of file SpatialModelConnection.f90.

61  class(GridConnectionType), pointer :: ig_builder => null() !< facility to build the interface grid connection structure

◆ input_mempath

character(len=lenmempath) baseexchangemodule::baseexchangetype::input_mempath
privateinherited

Definition at line 17 of file BaseExchange.f90.

17  character(len=LENMEMPATH) :: input_mempath

◆ int_stencil_depth

integer(i4b), pointer spatialmodelconnectionmodule::spatialmodelconnectiontype::int_stencil_depth => null()
inherited

Definition at line 48 of file SpatialModelConnection.f90.

48  integer(I4B), pointer :: int_stencil_depth => null() !< size of the computational stencil for the interior

◆ interface_map

type(interfacemaptype), pointer spatialmodelconnectionmodule::spatialmodelconnectiontype::interface_map => null()
inherited

Definition at line 64 of file SpatialModelConnection.f90.

64  type(InterfaceMapType), pointer :: interface_map => null() !< a map of the interface into models and exchanges

◆ interface_model

class(numericalmodeltype), pointer spatialmodelconnectionmodule::spatialmodelconnectiontype::interface_model => null()
inherited

Definition at line 40 of file SpatialModelConnection.f90.

40  class(NumericalModelType), pointer :: interface_model => null() !< the interface model

◆ iout

integer(i4b) gwfgwfconnectionmodule::gwfgwfconnectiontype::iout = 0

Definition at line 45 of file GwfGwfConnection.f90.

45  integer(I4B) :: iout = 0 !< the list file for the interface model

◆ ipos_to_sln

integer(i4b), dimension(:), pointer spatialmodelconnectionmodule::spatialmodelconnectiontype::ipos_to_sln => null()
inherited

Definition at line 62 of file SpatialModelConnection.f90.

62  integer(I4B), dimension(:), pointer :: ipos_to_sln => null() !< mapping between position in the interface matrix and the solution matrix

◆ ixt3donexchange

integer(i4b), pointer gwfgwfconnectionmodule::gwfgwfconnectiontype::ixt3donexchange => null()

Definition at line 43 of file GwfGwfConnection.f90.

43  integer(I4B), pointer :: iXt3dOnExchange => null() !< run XT3D on the interface,

◆ matrix

class(sparsematrixtype), pointer spatialmodelconnectionmodule::spatialmodelconnectiontype::matrix => null()
inherited

Definition at line 55 of file SpatialModelConnection.f90.

55  class(SparseMatrixType), pointer :: matrix => null() !< system matrix for the interface

◆ memorypath

character(len=lenmempath) baseexchangemodule::baseexchangetype::memorypath
privateinherited

Definition at line 16 of file BaseExchange.f90.

16  character(len=LENMEMPATH) :: memoryPath !< the location in the memory manager where the variables are stored

◆ name

character(len=lenexchangename) baseexchangemodule::baseexchangetype::name
privateinherited

Definition at line 15 of file BaseExchange.f90.

15  character(len=LENEXCHANGENAME) :: name !< the name of this exchange

◆ neq

integer(i4b), pointer spatialmodelconnectionmodule::spatialmodelconnectiontype::neq => null()
inherited

Definition at line 54 of file SpatialModelConnection.f90.

54  integer(I4B), pointer :: neq => null() !< nr. of equations in matrix system

◆ nr_connections

integer(i4b), pointer spatialmodelconnectionmodule::spatialmodelconnectiontype::nr_connections => null()
inherited

Definition at line 41 of file SpatialModelConnection.f90.

41  integer(I4B), pointer :: nr_connections => null() !< total nr. of connected cells (primary)

◆ owner

class(numericalmodeltype), pointer spatialmodelconnectionmodule::spatialmodelconnectiontype::owner => null()
inherited

Definition at line 39 of file SpatialModelConnection.f90.

39  class(NumericalModelType), pointer :: owner => null() !< the model whose connection this is

◆ owns_exchange

logical(lgp) spatialmodelconnectionmodule::spatialmodelconnectiontype::owns_exchange
inherited

Definition at line 44 of file SpatialModelConnection.f90.

44  logical(LGP) :: owns_exchange !< there are two connections (in serial) for an exchange,

◆ prim_exchange

class(disconnexchangetype), pointer spatialmodelconnectionmodule::spatialmodelconnectiontype::prim_exchange => null()
inherited

Definition at line 43 of file SpatialModelConnection.f90.

43  class(DisConnExchangeType), pointer :: prim_exchange => null() !< the exchange for which the interface model is created

◆ rhs

real(dp), dimension(:), pointer, contiguous spatialmodelconnectionmodule::spatialmodelconnectiontype::rhs => null()
inherited

Definition at line 56 of file SpatialModelConnection.f90.

56  real(DP), dimension(:), pointer, contiguous :: rhs => null() !< rhs of interface system

◆ typename

character(len=7) numericalexchangemodule::numericalexchangetype::typename
privateinherited

Definition at line 17 of file NumericalExchange.f90.

17  character(len=7) :: typename !< name of the type (e.g., 'GWF-GWF')

◆ x

real(dp), dimension(:), pointer, contiguous spatialmodelconnectionmodule::spatialmodelconnectiontype::x => null()
inherited

Definition at line 57 of file SpatialModelConnection.f90.

57  real(DP), dimension(:), pointer, contiguous :: x => null() !< dependent variable of interface system

The documentation for this type was generated from the following file: