MODFLOW 6
version 6.5.0.dev2
MODFLOW 6 Code Documentation
|
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 1811 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::allocate_scalars | ( | class(gwfexchangetype) | this | ) |
Allocate scalar variables
this | GwfExchangeType |
Definition at line 1717 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::calc_cond_sat | ( | class(gwfexchangetype) | this | ) |
this | GwfExchangeType |
Definition at line 1529 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 2178 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::condcalc | ( | class(gwfexchangetype) | this | ) |
Calculate the conductance based on state
this | GwfExchangeType |
Definition at line 1623 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 2201 of file exg-gwfgwf.f90.
|
private |
Override parent exg_ac so that gnc can add connections here.
this | GwfExchangeType |
Definition at line 372 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 432 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 903 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 1018 of file exg-gwfgwf.f90.
|
private |
this | this exchange |
model | the model to save budget for |
Definition at line 1051 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 952 of file exg-gwfgwf.f90.
|
private |
model | ||
this | GwfExchangeType | |
[in] | model | the model to which the exchange might hold a connection |
Definition at line 2036 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 696 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::gwf_gwf_da | ( | class(gwfexchangetype) | this | ) |
Deallocate memory associated with this object
this | GwfExchangeType |
Definition at line 1751 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::gwf_gwf_df | ( | class(gwfexchangetype) | this | ) |
Define GWF to GWF exchange object.
this | GwfExchangeType |
Definition at line 209 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 1885 of file exg-gwfgwf.f90.
|
private |
Calculate conductance and fill coefficient matrix
this | GwfExchangeType |
Definition at line 515 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 586 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::gwf_gwf_fp | ( | class(gwfexchangetype) | this | ) |
Conduct any final processing
this | GwfExchangeType |
Definition at line 1978 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 2012 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 402 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 2136 of file exg-gwfgwf.f90.
|
private |
Read new data for mover and obs
this | GwfExchangeType |
Definition at line 453 of file exg-gwfgwf.f90.
|
private |
Handle observation exchanges exchange-boundary names.
this | GwfExchangeType |
Definition at line 1904 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 2088 of file exg-gwfgwf.f90.
|
private |
this | GwfExchangeType |
Definition at line 789 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 1990 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::read_gnc | ( | class(gwfexchangetype) | this | ) |
Read and process ghost nodes
this | GwfExchangeType |
Definition at line 1389 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 1446 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 1479 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 1286 of file exg-gwfgwf.f90.
|
private |
this | GwfExchangeType |
Definition at line 2061 of file exg-gwfgwf.f90.
subroutine gwfgwfexchangemodule::validate_exchange | ( | class(gwfexchangetype) | this | ) |
this | GwfExchangeType |
Definition at line 279 of file exg-gwfgwf.f90.