MODFLOW 6
version 6.7.0.dev0
USGS Modular Hydrologic Model
|
This module contains the GwfGwfExchangeModule Module. More...
Data Types | |
type | gwfexchangetype |
Derived type for GwfExchangeType. More... | |
Functions/Subroutines | |
subroutine, public | gwfexchange_create (filename, name, id, m1_id, m2_id, input_mempath) |
@ brief Create GWF GWF exchange More... | |
subroutine | gwf_gwf_df (this) |
@ brief Define GWF GWF exchange More... | |
subroutine | validate_exchange (this) |
validate exchange data after reading More... | |
subroutine | gwf_gwf_ac (this, sparse) |
@ brief Add connections More... | |
subroutine | gwf_gwf_mc (this, matrix_sln) |
@ brief Map connections More... | |
subroutine | gwf_gwf_ar (this) |
@ brief Allocate and read More... | |
subroutine | gwf_gwf_rp (this) |
@ brief Read and prepare More... | |
subroutine | gwf_gwf_ad (this) |
@ brief Advance More... | |
subroutine | gwf_gwf_cf (this, kiter) |
@ brief Calculate coefficients More... | |
subroutine | gwf_gwf_fc (this, kiter, matrix_sln, rhs_sln, inwtflag) |
@ brief Fill coefficients More... | |
subroutine | gwf_gwf_fn (this, kiter, matrix_sln) |
@ brief Fill Newton More... | |
subroutine | gwf_gwf_cq (this, icnvg, isuppress_output, isolnid) |
@ brief Calculate flow More... | |
subroutine | gwf_gwf_calc_simvals (this) |
Calculate flow rates for the exchanges and store them in a member array. More... | |
subroutine | gwf_gwf_add_to_flowja (this) |
Add exchange flow to each model flowja diagonal position so that residual is calculated correctly. More... | |
subroutine | gwf_gwf_set_flow_to_npf (this) |
Set flow rates to the edges in the models. More... | |
subroutine | gwf_gwf_bd (this, icnvg, isuppress_output, isolnid) |
@ brief Budget More... | |
subroutine | gwf_gwf_chd_bd (this) |
@ brief gwf-gwf-chd-bd More... | |
subroutine | gwf_gwf_bdsav (this) |
@ brief Budget save More... | |
subroutine | gwf_gwf_bdsav_model (this, model) |
subroutine | gwf_gwf_ot (this) |
@ brief Output More... | |
subroutine | source_options (this, iout) |
@ brief Source options More... | |
subroutine | read_gnc (this) |
@ brief Read ghost nodes More... | |
subroutine | read_mvr (this, iout) |
@ brief Read mover More... | |
subroutine | rewet (this, kiter) |
@ brief Rewet More... | |
subroutine | calc_cond_sat (this) |
subroutine | condcalc (this) |
@ brief Calculate the conductance More... | |
subroutine | allocate_scalars (this) |
@ brief Allocate scalars More... | |
subroutine | gwf_gwf_da (this) |
@ brief Deallocate More... | |
subroutine | allocate_arrays (this) |
@ brief Allocate arrays More... | |
subroutine | gwf_gwf_df_obs (this) |
@ brief Define observations More... | |
subroutine | gwf_gwf_rp_obs (this) |
@ brief Read and prepare observations More... | |
subroutine | gwf_gwf_fp (this) |
@ brief Final processing More... | |
real(dp) function | qcalc (this, iexg, n1, n2) |
@ brief Calculate flow More... | |
integer(i4b) function | gwf_gwf_get_iasym (this) |
@ brief Set symmetric flag More... | |
logical(lgp) function | gwf_gwf_connects_model (this, model) |
Return true when this exchange provides matrix coefficients for solving. More... | |
logical(lgp) function | use_interface_model (this) |
Should interface model be used for this exchange. More... | |
subroutine | gwf_gwf_save_simvals (this) |
@ brief Save simulated flow observations More... | |
subroutine | gwf_gwf_process_obsid (obsrv, dis, inunitobs, iout) |
@ brief Obs ID processor More... | |
class(gwfexchangetype) function, pointer, public | castasgwfexchange (obj) |
@ brief Cast polymorphic object as exchange More... | |
class(gwfexchangetype) function, pointer, public | getgwfexchangefromlist (list, idx) |
@ brief Get exchange from list More... | |
This module contains the code for connecting two GWF Models. The methods are based on the simple two point flux approximation with the option to use ghost nodes to improve accuracy. This exchange is used by GwfGwfConnection with the more sophisticated interface model coupling approach when XT3D is needed.
subroutine gwfgwfexchangemodule::allocate_arrays | ( | class(gwfexchangetype) | this | ) |
Allocate arrays
this | GwfExchangeType |
Definition at line 1732 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::allocate_scalars | ( | class(gwfexchangetype) | this | ) |
Allocate scalar variables
this | GwfExchangeType |
Definition at line 1644 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::calc_cond_sat | ( | class(gwfexchangetype) | this | ) |
this | GwfExchangeType |
Definition at line 1462 of file exg-gwfgwf.f90.
class(gwfexchangetype) function, pointer, public gwfgwfexchangemodule::castasgwfexchange | ( | class(*), intent(inout), pointer | obj | ) |
Cast polymorphic object as exchange
Definition at line 2069 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::condcalc | ( | class(gwfexchangetype) | this | ) |
Calculate the conductance based on state
this | GwfExchangeType |
Definition at line 1553 of file exg-gwfgwf.f90.
class(gwfexchangetype) function, pointer, public gwfgwfexchangemodule::getgwfexchangefromlist | ( | type(listtype), intent(inout) | list, |
integer(i4b), intent(in) | idx | ||
) |
Return an exchange from the list for specified index
Definition at line 2089 of file exg-gwfgwf.f90.
|
private |
Override parent exg_ac so that gnc can add connections here.
this | GwfExchangeType |
Definition at line 363 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::gwf_gwf_ad | ( | class(gwfexchangetype) | this | ) |
subroutine gwfgwfexchangemodule::gwf_gwf_add_to_flowja | ( | class(gwfexchangetype) | this | ) |
subroutine gwfgwfexchangemodule::gwf_gwf_ar | ( | class(gwfexchangetype) | this | ) |
Allocated and read and calculate saturated conductance
this | GwfExchangeType |
Definition at line 417 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::gwf_gwf_bd | ( | class(gwfexchangetype) | this, |
integer(i4b), intent(inout) | icnvg, | ||
integer(i4b), intent(in) | isuppress_output, | ||
integer(i4b), intent(in) | isolnid | ||
) |
Accumulate budget terms
this | GwfExchangeType |
Definition at line 858 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::gwf_gwf_bdsav | ( | class(gwfexchangetype) | this | ) |
Output individual flows to listing file and binary budget files
this | GwfExchangeType |
Definition at line 967 of file exg-gwfgwf.f90.
|
private |
this | this exchange |
model | the model to save budget for |
Definition at line 997 of file exg-gwfgwf.f90.
|
private |
|
private |
subroutine gwfgwfexchangemodule::gwf_gwf_chd_bd | ( | class(gwfexchangetype) | this | ) |
Account for flow from an external model into a chd cell
this | GwfExchangeType |
Definition at line 904 of file exg-gwfgwf.f90.
|
private |
model | ||
this | GwfExchangeType | |
[in] | model | the model to which the exchange might hold a connection |
Definition at line 1939 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::gwf_gwf_cq | ( | class(gwfexchangetype) | this, |
integer(i4b), intent(inout) | icnvg, | ||
integer(i4b), intent(in) | isuppress_output, | ||
integer(i4b), intent(in) | isolnid | ||
) |
Calculate flow between two cells and store in simvals, also set information needed for specific discharge calculation
this | GwfExchangeType |
Definition at line 663 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::gwf_gwf_da | ( | class(gwfexchangetype) | this | ) |
Deallocate memory associated with this object
this | GwfExchangeType |
Definition at line 1675 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::gwf_gwf_df | ( | class(gwfexchangetype) | this | ) |
Define GWF to GWF exchange object.
this | GwfExchangeType |
Definition at line 206 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::gwf_gwf_df_obs | ( | class(gwfexchangetype) | this | ) |
Define the observations associated with this object
this | GwfExchangeType |
Definition at line 1803 of file exg-gwfgwf.f90.
|
private |
Calculate conductance and fill coefficient matrix
this | GwfExchangeType |
Definition at line 488 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::gwf_gwf_fn | ( | class(gwfexchangetype) | this, |
integer(i4b), intent(in) | kiter, | ||
class(matrixbasetype), pointer | matrix_sln | ||
) |
Fill amatsln with Newton terms
this | GwfExchangeType |
Definition at line 556 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::gwf_gwf_fp | ( | class(gwfexchangetype) | this | ) |
Conduct any final processing
this | GwfExchangeType |
Definition at line 1890 of file exg-gwfgwf.f90.
|
private |
Return flag indicating whether or not this exchange will cause the coefficient matrix to be asymmetric.
this | GwfExchangeType |
Definition at line 1918 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::gwf_gwf_mc | ( | class(gwfexchangetype) | this, |
class(matrixbasetype), pointer | matrix_sln | ||
) |
Map the connections in the global matrix
this | GwfExchangeType |
matrix_sln | the system matrix |
Definition at line 390 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::gwf_gwf_ot | ( | class(gwfexchangetype) | this | ) |
subroutine gwfgwfexchangemodule::gwf_gwf_process_obsid | ( | type(observetype), intent(inout) | obsrv, |
class(disbasetype), intent(in) | dis, | ||
integer(i4b), intent(in) | inunitobs, | ||
integer(i4b), intent(in) | iout | ||
) |
Process observations for this exchange
Definition at line 2030 of file exg-gwfgwf.f90.
|
private |
Read new data for mover and obs
this | GwfExchangeType |
Definition at line 435 of file exg-gwfgwf.f90.
|
private |
Handle observation exchanges exchange-boundary names.
this | GwfExchangeType |
Definition at line 1819 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::gwf_gwf_save_simvals | ( | class(gwfexchangetype), intent(inout) | this | ) |
Save the simulated flows for each exchange
Definition at line 1985 of file exg-gwfgwf.f90.
|
private |
this | GwfExchangeType |
Definition at line 747 of file exg-gwfgwf.f90.
subroutine, public gwfgwfexchangemodule::gwfexchange_create | ( | character(len=*), intent(in) | filename, |
character(len=*) | name, | ||
integer(i4b), intent(in) | id, | ||
integer(i4b), intent(in) | m1_id, | ||
integer(i4b), intent(in) | m2_id, | ||
character(len=*), intent(in) | input_mempath | ||
) |
Create a new GWF to GWF exchange object.
[in] | filename | filename for reading |
name | exchange name | |
[in] | id | id for the exchange |
[in] | m1_id | id for model 1 |
[in] | m2_id | id for model 2 |
Definition at line 121 of file exg-gwfgwf.f90.
|
private |
Calculate the flow for the specified exchange and node numbers
this | GwfExchangeType |
Definition at line 1899 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::read_gnc | ( | class(gwfexchangetype) | this | ) |
Read and process ghost nodes
this | GwfExchangeType |
Definition at line 1330 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::read_mvr | ( | class(gwfexchangetype) | this, |
integer(i4b), intent(in) | iout | ||
) |
Read and process movers
this | GwfExchangeType |
Definition at line 1384 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::rewet | ( | class(gwfexchangetype) | this, |
integer(i4b), intent(in) | kiter | ||
) |
Check if rewetting should propagate from one model to another
this | GwfExchangeType |
Definition at line 1415 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::source_options | ( | class(gwfexchangetype) | this, |
integer(i4b), intent(in) | iout | ||
) |
Source the options block
this | GwfExchangeType |
Definition at line 1230 of file exg-gwfgwf.f90.
|
private |
this | GwfExchangeType |
Definition at line 1961 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::validate_exchange | ( | class(gwfexchangetype) | this | ) |
this | GwfExchangeType |
Definition at line 273 of file exg-gwfgwf.f90.