MODFLOW 6
version 6.7.0.dev0
USGS Modular Hydrologic Model
|
This class is used to construct the connections object for the interface model's spatial discretization/grid. More...
Public Member Functions | |
procedure, pass(this) | construct |
procedure, pass(this) | destroy |
procedure, pass(this) | addtoregionalmodels |
procedure, pass(this) | connectprimaryexchange |
procedure, pass(this) | extendconnection |
procedure, pass(this) | getdiscretization |
procedure, pass(this) | buildinterfacemap |
procedure, pass(this) | isperiodic |
Public Attributes | |
character(len=lenmempath) | memorypath |
integer(i4b) | internalstencildepth |
stencil size for the interior More... | |
integer(i4b) | exchangestencildepth |
stencil size at the interface More... | |
class(numericalmodeltype), pointer | model => null() |
the model for which this grid connection exists More... | |
class(disconnexchangetype), pointer | primaryexchange => null() |
pointer to the primary exchange for this interface More... | |
integer(i4b), pointer | nrofboundarycells => null() |
nr of boundary cells with connection to another model More... | |
type(cellwithnbrstype), dimension(:), pointer | boundarycells => null() |
cells on our side of the primary connections More... | |
type(cellwithnbrstype), dimension(:), pointer | connectedcells => null() |
cells on the neighbors side of the primary connection More... | |
type(stlvecint), pointer | haloexchanges |
all exchanges that are potentially part of this interface More... | |
integer(i4b), pointer | nrofcells => null() |
the total number of cells in the interface More... | |
type(globalcelltype), dimension(:), pointer | idxtoglobal => null() |
a map from interface index to global coordinate More... | |
integer(i4b), dimension(:), pointer, contiguous | idxtoglobalidx => null() |
a (flat) map from interface index to global index, stored in mem. mgr. so can be used for debugging More... | |
type(listtype) | regionalmodels |
the models participating in the interface More... | |
integer(i4b), dimension(:), pointer | region_to_iface_map => null() |
(sparse) mapping from regional index to interface ixd More... | |
integer(i4b), dimension(:), pointer | regionalmodeloffset => null() |
the new offset to compactify the range of indices More... | |
integer(i4b), pointer | indexcount => null() |
counts the number of cells in the interface More... | |
type(connectionstype), pointer | connections => null() |
sparse matrix with the connections More... | |
integer(i4b), dimension(:), pointer | connectionmask => null() |
to mask out connections from the amat coefficient calculation More... | |
type(interfacemaptype), pointer | interfacemap => null() |
defining map for the interface More... | |
Private Member Functions | |
procedure, pass(this), private | allocatescalars |
procedure, pass(this), private | connectcell |
procedure, pass(this), private | buildconnections |
procedure, pass(this), private | addneighbors |
procedure, pass(this), private | addneighborcell |
procedure, pass(this), private | addremoteneighbors |
procedure, pass(this), private | get_regional_offset |
generic, private | getinterfaceindex => getinterfaceindexbycell, getinterfaceindexbyindexmodel |
procedure, pass(this), private | getinterfaceindexbycell |
procedure, pass(this), private | getinterfaceindexbyindexmodel |
procedure, pass(this), private | registerinterfacecells |
procedure, pass(this), private | addtoglobalmap |
procedure, pass(this), private | compressglobalmap |
procedure, pass(this), private | sortinterfacegrid |
procedure, pass(this), private | makeprimaryconnections |
procedure, pass(this), private | connectneighborcells |
procedure, pass(this), private | fillconnectiondatainternal |
procedure, pass(this), private | fillconnectiondatafromexchanges |
procedure, pass(this), private | createconnectionmask |
procedure, pass(this), private | maskinternalconnections |
procedure, pass(this), private | setmaskonconnection |
It works as follows:
1: construct basic instance, allocate data structures based on nr. of primary connections 2: add primary connections from exchanges 3: add secondary, tertiary, ... MODEL connections, depending on the size of the computational stencil 4: extend the connection, creating the full data structure and relations 5: build the connections object, from which the grid for the interface model can be constructed
A note on the different indices:
We have
Definition at line 56 of file GridConnection.f90.
|
private |
Definition at line 103 of file GridConnection.f90.
|
private |
Definition at line 102 of file GridConnection.f90.
|
private |
Definition at line 104 of file GridConnection.f90.
|
private |
Definition at line 111 of file GridConnection.f90.
procedure, pass(this) gridconnectionmodule::gridconnectiontype::addtoregionalmodels |
Definition at line 90 of file GridConnection.f90.
|
private |
Definition at line 88 of file GridConnection.f90.
|
private |
Definition at line 101 of file GridConnection.f90.
procedure, pass(this) gridconnectionmodule::gridconnectiontype::buildinterfacemap |
Definition at line 94 of file GridConnection.f90.
|
private |
Definition at line 112 of file GridConnection.f90.
|
private |
Definition at line 100 of file GridConnection.f90.
|
private |
Definition at line 115 of file GridConnection.f90.
procedure, pass(this) gridconnectionmodule::gridconnectiontype::connectprimaryexchange |
Definition at line 91 of file GridConnection.f90.
procedure, pass(this) gridconnectionmodule::gridconnectiontype::construct |
Definition at line 87 of file GridConnection.f90.
|
private |
Definition at line 118 of file GridConnection.f90.
procedure, pass(this) gridconnectionmodule::gridconnectiontype::destroy |
Definition at line 89 of file GridConnection.f90.
procedure, pass(this) gridconnectionmodule::gridconnectiontype::extendconnection |
Definition at line 92 of file GridConnection.f90.
|
private |
Definition at line 117 of file GridConnection.f90.
|
private |
Definition at line 116 of file GridConnection.f90.
|
private |
Definition at line 105 of file GridConnection.f90.
procedure, pass(this) gridconnectionmodule::gridconnectiontype::getdiscretization |
Definition at line 93 of file GridConnection.f90.
|
private |
|
private |
Definition at line 108 of file GridConnection.f90.
|
private |
Definition at line 109 of file GridConnection.f90.
procedure, pass(this) gridconnectionmodule::gridconnectiontype::isperiodic |
Definition at line 97 of file GridConnection.f90.
|
private |
Definition at line 114 of file GridConnection.f90.
|
private |
Definition at line 119 of file GridConnection.f90.
|
private |
Definition at line 110 of file GridConnection.f90.
|
private |
Definition at line 120 of file GridConnection.f90.
|
private |
Definition at line 113 of file GridConnection.f90.
type(cellwithnbrstype), dimension(:), pointer gridconnectionmodule::gridconnectiontype::boundarycells => null() |
Definition at line 66 of file GridConnection.f90.
type(cellwithnbrstype), dimension(:), pointer gridconnectionmodule::gridconnectiontype::connectedcells => null() |
Definition at line 67 of file GridConnection.f90.
integer(i4b), dimension(:), pointer gridconnectionmodule::gridconnectiontype::connectionmask => null() |
Definition at line 80 of file GridConnection.f90.
type(connectionstype), pointer gridconnectionmodule::gridconnectiontype::connections => null() |
Definition at line 79 of file GridConnection.f90.
integer(i4b) gridconnectionmodule::gridconnectiontype::exchangestencildepth |
Definition at line 60 of file GridConnection.f90.
type(stlvecint), pointer gridconnectionmodule::gridconnectiontype::haloexchanges |
Definition at line 68 of file GridConnection.f90.
type(globalcelltype), dimension(:), pointer gridconnectionmodule::gridconnectiontype::idxtoglobal => null() |
Definition at line 71 of file GridConnection.f90.
integer(i4b), dimension(:), pointer, contiguous gridconnectionmodule::gridconnectiontype::idxtoglobalidx => null() |
Definition at line 72 of file GridConnection.f90.
integer(i4b), pointer gridconnectionmodule::gridconnectiontype::indexcount => null() |
Definition at line 77 of file GridConnection.f90.
type(interfacemaptype), pointer gridconnectionmodule::gridconnectiontype::interfacemap => null() |
Definition at line 82 of file GridConnection.f90.
integer(i4b) gridconnectionmodule::gridconnectiontype::internalstencildepth |
Definition at line 59 of file GridConnection.f90.
character(len=lenmempath) gridconnectionmodule::gridconnectiontype::memorypath |
Definition at line 58 of file GridConnection.f90.
class(numericalmodeltype), pointer gridconnectionmodule::gridconnectiontype::model => null() |
Definition at line 62 of file GridConnection.f90.
integer(i4b), pointer gridconnectionmodule::gridconnectiontype::nrofboundarycells => null() |
Definition at line 65 of file GridConnection.f90.
integer(i4b), pointer gridconnectionmodule::gridconnectiontype::nrofcells => null() |
Definition at line 70 of file GridConnection.f90.
class(disconnexchangetype), pointer gridconnectionmodule::gridconnectiontype::primaryexchange => null() |
Definition at line 63 of file GridConnection.f90.
integer(i4b), dimension(:), pointer gridconnectionmodule::gridconnectiontype::region_to_iface_map => null() |
Definition at line 75 of file GridConnection.f90.
integer(i4b), dimension(:), pointer gridconnectionmodule::gridconnectiontype::regionalmodeloffset => null() |
Definition at line 76 of file GridConnection.f90.
type(listtype) gridconnectionmodule::gridconnectiontype::regionalmodels |
Definition at line 74 of file GridConnection.f90.