MODFLOW 6
version 6.7.0.dev0
USGS Modular Hydrologic Model
|
Refactoring issues towards parallel: More...
Data Types | |
type | gridconnectiontype |
This class is used to construct the connections object for the interface model's spatial discretization/grid. More... | |
Functions/Subroutines | |
subroutine | construct (this, model, nrOfPrimaries, connectionName) |
Construct the GridConnection and allocate the data structures for the primary connections. More... | |
subroutine | connectprimaryexchange (this, primEx) |
Make connections for the primary exchange. More... | |
subroutine | connectcell (this, idx1, v_model1, idx2, v_model2) |
Connect neighboring cells at the interface by storing them in the boundary cell and connected cell arrays. More... | |
subroutine | addtoregionalmodels (this, v_model) |
Add a model to a list of all regional models. More... | |
subroutine | extendconnection (this) |
Extend the connection topology to deal with higher levels of connectivity (neighbors-of-neighbors, etc.) More... | |
subroutine | buildconnections (this) |
Builds a sparse matrix holding all cell connections,. More... | |
recursive subroutine | addneighbors (this, cellNbrs, depth, mask, interior) |
subroutine | addremoteneighbors (this, cellNbrs, mask) |
Add cell neighbors across models using the stored exchange data structures. More... | |
subroutine | addneighborcell (this, cellNbrs, newNbrIdx, v_nbr_model, mask) |
Add neighboring cell to tree structure. More... | |
recursive subroutine | registerinterfacecells (this, cellWithNbrs) |
Recursively set interface cell indexes and. More... | |
subroutine | addtoglobalmap (this, ifaceIdx, cell) |
Add entry to lookup table, inflating when necessary. More... | |
subroutine | compressglobalmap (this) |
Compress lookup table to get rid of unused entries. More... | |
subroutine | sortinterfacegrid (this) |
Soft cell ids in the interface grid such that. More... | |
subroutine | makeprimaryconnections (this, sparse) |
Add primary connections to the sparse data structure. More... | |
recursive subroutine | connectneighborcells (this, cell, sparse) |
Recursively add higher order connections (from cells neighboring the primarily connected cells) to the. More... | |
subroutine | fillconnectiondatainternal (this) |
Fill connection data (ihc, cl1, ...) for. More... | |
subroutine | fillconnectiondatafromexchanges (this) |
Fill connection data (ihc, cl1, ...) for. More... | |
subroutine | createconnectionmask (this) |
Create the connection masks. More... | |
recursive subroutine | maskinternalconnections (this, cell, nbrCell, level) |
Recursively mask connections, increasing the level as we go. More... | |
subroutine | setmaskonconnection (this, cell, nbrCell, level) |
Set a mask on the connection from a cell to its neighbor, (and not the transposed!) not overwriting the current level. More... | |
integer(i4b) function | getinterfaceindexbycell (this, cell) |
Get interface index from global cell. More... | |
integer(i4b) function | getinterfaceindexbyindexmodel (this, index, v_model) |
Get interface index from a model pointer and the local index. More... | |
integer(i4b) function | get_regional_offset (this, v_model) |
Get the offset for a regional model. More... | |
subroutine | allocatescalars (this) |
Allocate scalar data. More... | |
subroutine | getdiscretization (this, disu) |
Sets the discretization (DISU) after all preprocessing by this grid connection has been done,. More... | |
subroutine | buildinterfacemap (this) |
Build interface map object for outside use. More... | |
subroutine | destroy (this) |
Deallocate grid connection resources. More... | |
logical function | isperiodic (this, n, m) |
Test if the connection between nodes within. More... | |
Variables | |
integer(i4b), parameter | initnrneighbors = 7 |
|
private |
[in] | this | this grid connection instance |
[in,out] | cellnbrs | the root cell which to add to |
[in] | newnbridx | the neighboring cell's index |
v_nbr_model | the model where the new neighbor lives | |
mask | don't add connections to this cell (optional) |
Definition at line 465 of file GridConnection.f90.
|
private |
[in,out] | this | this grid connection |
[in,out] | cellnbrs | cell to add to |
[in,out] | depth | current depth (typically decreases in recursion) |
mask | mask to excluded back-and-forth connection between cells | |
interior | when true, we are adding from the exchange back into the model |
Definition at line 368 of file GridConnection.f90.
subroutine gridconnectionmodule::addremoteneighbors | ( | class(gridconnectiontype), intent(inout) | this, |
type(cellwithnbrstype), intent(inout) | cellNbrs, | ||
type(globalcelltype), optional | mask | ||
) |
[in,out] | this | this grid connection instance |
[in,out] | cellnbrs | cell to add to |
mask | a mask to exclude back-and-forth connections |
Definition at line 422 of file GridConnection.f90.
|
private |
[in,out] | this | this grid connection instance |
[in] | ifaceidx | unique idx in the interface grid |
[in] | cell | the global cell |
Definition at line 511 of file GridConnection.f90.
|
private |
[in,out] | this | this grid connection |
v_model | the model to add to the region |
Definition at line 216 of file GridConnection.f90.
|
private |
this | this grid connection instance |
Definition at line 959 of file GridConnection.f90.
|
private |
[in,out] | this | this grid connection instance |
Definition at line 286 of file GridConnection.f90.
subroutine gridconnectionmodule::buildinterfacemap | ( | class(gridconnectiontype) | this | ) |
this | this grid connection |
Definition at line 1037 of file GridConnection.f90.
|
private |
[in,out] | this | this grid connection instance |
Definition at line 538 of file GridConnection.f90.
|
private |
[in] | this | this grid connection |
idx1 | local index cell 1 | |
v_model1 | model of cell 1 | |
idx2 | local index cell 2 | |
v_model2 | model of cell 2 |
Definition at line 179 of file GridConnection.f90.
|
private |
[in,out] | this | this grid connection instance |
cell | the cell whose connections is to be added | |
sparse | the sparse data structure to hold the connections |
Definition at line 631 of file GridConnection.f90.
|
private |
this | this grid connection |
primex | the primary exchange for this connection |
Definition at line 158 of file GridConnection.f90.
subroutine gridconnectionmodule::construct | ( | class(gridconnectiontype), intent(inout) | this, |
class(numericalmodeltype), intent(in), pointer | model, | ||
integer(i4b) | nrOfPrimaries, | ||
character(len=*) | connectionName | ||
) |
Definition at line 128 of file GridConnection.f90.
subroutine gridconnectionmodule::createconnectionmask | ( | class(gridconnectiontype), intent(inout) | this | ) |
The level indicates the nr of connections away from the remote neighbor, the diagonal term holds the negated value of their nearest connection. We end with setting
[in,out] | this | instance of this grid connection |
Definition at line 787 of file GridConnection.f90.
subroutine gridconnectionmodule::destroy | ( | class(gridconnectiontype) | this | ) |
|
private |
The following steps are taken:
[in,out] | this | this grid connection |
Definition at line 238 of file GridConnection.f90.
subroutine gridconnectionmodule::fillconnectiondatafromexchanges | ( | class(gridconnectiontype), intent(inout) | this | ) |
[in,out] | this | this grid connection instance |
Definition at line 713 of file GridConnection.f90.
|
private |
[in,out] | this | this grid connection instance |
Definition at line 655 of file GridConnection.f90.
|
private |
[in,out] | this | this grid connection instance |
v_model | the model to get the offset for |
Definition at line 938 of file GridConnection.f90.
subroutine gridconnectionmodule::getdiscretization | ( | class(gridconnectiontype) | this, |
class(disutype), pointer | disu | ||
) |
this | the grid connection |
disu | the target disu object |
Definition at line 972 of file GridConnection.f90.
|
private |
[in,out] | this | this grid connection instance |
[in] | cell | the global cell to get the interface index for |
Definition at line 907 of file GridConnection.f90.
|
private |
[in,out] | this | this grid connection instance |
index | the local cell index | |
v_model | the cell's model |
Definition at line 922 of file GridConnection.f90.
logical function gridconnectionmodule::isperiodic | ( | class(gridconnectiontype), intent(in) | this, |
integer(i4b), intent(in) | n, | ||
integer(i4b), intent(in) | m | ||
) |
[in] | this | this grid connection instance |
[in] | n | first node of the connection |
[in] | m | second node of the connection |
Definition at line 1237 of file GridConnection.f90.
subroutine gridconnectionmodule::makeprimaryconnections | ( | class(gridconnectiontype), intent(inout) | this, |
type(sparsematrix), pointer | sparse | ||
) |
[in,out] | this | this grid connection instance |
sparse | the sparse data structure to hold the connections |
Definition at line 606 of file GridConnection.f90.
|
private |
[in,out] | this | this grid connection instance |
[in,out] | cell | cell 1 in the connection to mask |
[in,out] | nbrcell | cell 2 in the connection to mask |
Definition at line 847 of file GridConnection.f90.
|
private |
[in,out] | this | this grid connection instance |
cellwithnbrs | the cell from where to start registering neighbors |
Definition at line 484 of file GridConnection.f90.
|
private |
[in,out] | this | this grid connection instance |
[in,out] | cell | cell 1 in the connection |
[in,out] | nbrcell | cell 2 in the connection |
[in] | level | the level value to set the mask to |
Definition at line 877 of file GridConnection.f90.
|
private |
[in,out] | this | this grid connection instance |
Definition at line 556 of file GridConnection.f90.
|
private |
Definition at line 30 of file GridConnection.f90.