MODFLOW 6  version 6.6.0.dev0
USGS Modular Hydrologic Model
spatialmodelconnectionmodule::spatialmodelconnectiontype Type Reference

Class to manage spatial connection of a model to one or more models of the same type. Spatial connection here means that the model domains (spatial discretization) are adjacent and connected via DisConnExchangeType object(s). The connection itself is a Numerical Exchange as well, and part of a Numerical Solution providing the amat and rhs. More...

Inheritance diagram for spatialmodelconnectionmodule::spatialmodelconnectiontype:
Inheritance graph
Collaboration diagram for spatialmodelconnectionmodule::spatialmodelconnectiontype:
Collaboration graph

Public Member Functions

procedure, pass(this) spatialconnection_ctor
 
generic construct => spatialconnection_ctor
 
procedure exg_df => spatialcon_df
 
procedure exg_ar => spatialcon_ar
 
procedure exg_ac => spatialcon_ac
 
procedure exg_mc => spatialcon_mc
 
procedure exg_cf => spatialcon_cf
 
procedure exg_fc => spatialcon_fc
 
procedure exg_da => spatialcon_da
 
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) validateconnection
 
procedure, pass(this) cfg_dv
 
procedure, pass(this) createmodelhalo
 

Public Attributes

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, pass(this), private setupgridconnection
 
procedure, pass(this), private getnrofconnections
 
procedure, pass(this), private allocatescalars
 
procedure, pass(this), private allocatearrays
 
procedure, pass(this), private createcoefficientmatrix
 
procedure, pass(this), private maskownerconnections
 
procedure, pass(this), private addmodelneighbors
 
procedure exg_ad
 
procedure exg_cc
 
procedure exg_cq
 
procedure exg_bd
 
procedure exg_ot
 
procedure get_iasym
 
procedure exg_rp
 
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

Definition at line 37 of file SpatialModelConnection.f90.

Member Function/Subroutine Documentation

◆ addmodelneighbors()

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

Definition at line 101 of file SpatialModelConnection.f90.

◆ allocatearrays()

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

Definition at line 98 of file SpatialModelConnection.f90.

◆ allocatescalars()

procedure, pass(this), private spatialmodelconnectionmodule::spatialmodelconnectiontype::allocatescalars
private

Definition at line 97 of file SpatialModelConnection.f90.

◆ cfg_dv()

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

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 spatialmodelconnectionmodule::spatialmodelconnectiontype::construct

Definition at line 70 of file SpatialModelConnection.f90.

Here is the call graph for this function:

◆ createcoefficientmatrix()

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

Definition at line 99 of file SpatialModelConnection.f90.

◆ createmodelhalo()

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

Definition at line 92 of file SpatialModelConnection.f90.

◆ exg_ac()

procedure spatialmodelconnectionmodule::spatialmodelconnectiontype::exg_ac

Definition at line 75 of file SpatialModelConnection.f90.

◆ exg_ad()

procedure numericalexchangemodule::numericalexchangetype::exg_ad
privateinherited

Definition at line 26 of file NumericalExchange.f90.

◆ exg_ar()

procedure spatialmodelconnectionmodule::spatialmodelconnectiontype::exg_ar

Definition at line 74 of file SpatialModelConnection.f90.

◆ exg_bd()

procedure numericalexchangemodule::numericalexchangetype::exg_bd
privateinherited

Definition at line 31 of file NumericalExchange.f90.

◆ exg_cc()

procedure numericalexchangemodule::numericalexchangetype::exg_cc
privateinherited

Definition at line 29 of file NumericalExchange.f90.

◆ exg_cf()

procedure spatialmodelconnectionmodule::spatialmodelconnectiontype::exg_cf

Definition at line 77 of file SpatialModelConnection.f90.

◆ exg_cq()

procedure numericalexchangemodule::numericalexchangetype::exg_cq
privateinherited

Definition at line 30 of file NumericalExchange.f90.

◆ exg_da()

procedure spatialmodelconnectionmodule::spatialmodelconnectiontype::exg_da

Definition at line 79 of file SpatialModelConnection.f90.

◆ exg_df()

procedure spatialmodelconnectionmodule::spatialmodelconnectiontype::exg_df

Definition at line 73 of file SpatialModelConnection.f90.

◆ exg_dt()

procedure baseexchangemodule::baseexchangetype::exg_dt
privateinherited

Definition at line 25 of file BaseExchange.f90.

◆ exg_fc()

procedure spatialmodelconnectionmodule::spatialmodelconnectiontype::exg_fc

Definition at line 78 of file SpatialModelConnection.f90.

◆ exg_fp()

procedure baseexchangemodule::baseexchangetype::exg_fp
privateinherited

Definition at line 27 of file BaseExchange.f90.

◆ exg_mc()

procedure spatialmodelconnectionmodule::spatialmodelconnectiontype::exg_mc

Definition at line 76 of file SpatialModelConnection.f90.

◆ exg_ot()

procedure numericalexchangemodule::numericalexchangetype::exg_ot
privateinherited

Definition at line 32 of file NumericalExchange.f90.

◆ exg_rp()

procedure baseexchangemodule::baseexchangetype::exg_rp
privateinherited

Definition at line 24 of file BaseExchange.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
private

Definition at line 96 of file SpatialModelConnection.f90.

◆ maskownerconnections()

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

Definition at line 100 of file SpatialModelConnection.f90.

◆ setupgridconnection()

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

Definition at line 95 of file SpatialModelConnection.f90.

◆ spatialcon_ac()

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

Definition at line 84 of file SpatialModelConnection.f90.

◆ spatialcon_ar()

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

Definition at line 83 of file SpatialModelConnection.f90.

◆ spatialcon_cf()

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

Definition at line 85 of file SpatialModelConnection.f90.

◆ spatialcon_connect()

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

Definition at line 89 of file SpatialModelConnection.f90.

◆ spatialcon_da()

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

Definition at line 87 of file SpatialModelConnection.f90.

◆ spatialcon_df()

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

Definition at line 82 of file SpatialModelConnection.f90.

◆ spatialcon_fc()

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

Definition at line 86 of file SpatialModelConnection.f90.

◆ spatialcon_setmodelptrs()

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

Definition at line 88 of file SpatialModelConnection.f90.

◆ spatialconnection_ctor()

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

Definition at line 69 of file SpatialModelConnection.f90.

◆ validateconnection()

procedure, pass(this) spatialmodelconnectionmodule::spatialmodelconnectiontype::validateconnection

Definition at line 90 of file SpatialModelConnection.f90.

Member Data Documentation

◆ active

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

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()

Definition at line 50 of file SpatialModelConnection.f90.

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

◆ halo_exchanges

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

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

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

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()

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()

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()

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()

Definition at line 40 of file SpatialModelConnection.f90.

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

◆ ipos_to_sln

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

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

◆ matrix

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

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()

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()

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()

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

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()

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()

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()

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: