MODFLOW 6
version 6.7.0.dev0
USGS Modular Hydrologic Model
|
Data Types | |
type | concentrationpointer |
type | gwfvsctype |
Functions/Subroutines | |
real(dp) function | calc_visc (ivisc, viscref, dviscdc, cviscref, conc, a2, a3, a4) |
Generic function to calculate changes in fluid viscosity using a linear formulation. More... | |
subroutine, public | vsc_cr (vscobj, name_model, inunit, iout) |
@ brief Create a new package object More... | |
subroutine | vsc_df (this, dis, vsc_input) |
@ brief Define viscosity package options and dimensions More... | |
subroutine | vsc_ar (this, ibound) |
@ brief Allocate and read method for viscosity package More... | |
subroutine | vsc_ar_bnd (this, packobj) |
Activate viscosity in advanced packages. More... | |
subroutine | set_npf_pointers (this) |
Set pointers to NPF variables. More... | |
subroutine | vsc_rp (this) |
@ brief Read new period data in viscosity package More... | |
subroutine | vsc_ad (this) |
@ brief Advance the viscosity package More... | |
subroutine | vsc_ad_bnd (this, packobj, hnew) |
Advance the boundary packages when viscosity is active. More... | |
subroutine | vsc_ad_standard_bnd (packobj, hnew, visc, viscref, locelev, locvisc, locconc, dviscdc, cviscref, ivisc, a2, a3, a4, ctemp) |
advance ghb while accounting for viscosity More... | |
subroutine | vsc_ad_sfr (packobj, visc, viscref, elev, locvisc, locconc, dviscdc, cviscref, ivisc, a2, a3, a4, ctemp) |
Update sfr-related viscosity ratios. More... | |
subroutine | vsc_ad_lak (packobj, visc, viscref, elev, locvisc, locconc, dviscdc, cviscref, ivisc, a2, a3, a4, ctemp) |
Update lak-related viscosity ratios. More... | |
subroutine | vsc_ad_maw (packobj, visc, viscref, elev, locvisc, locconc, dviscdc, cviscref, ivisc, a2, a3, a4, ctemp) |
Update maw-related viscosity ratios. More... | |
real(dp) function | update_bnd_cond (bndvisc, viscref, spcfdcond) |
Apply viscosity to the conductance term. More... | |
real(dp) function | calc_vsc_ratio (viscref, bndvisc) |
calculate and return the viscosity ratio More... | |
real(dp) function | calc_bnd_viscosity (n, locvisc, locconc, viscref, dviscdc, cviscref, ctemp, ivisc, a2, a3, a4, auxvar) |
@ brief Calculate the boundary viscosity More... | |
subroutine | get_visc_ratio (this, n, m, gwhdn, gwhdm, viscratio) |
Calculate the viscosity ratio. More... | |
subroutine | calc_q_visc (this, cellid, viscratio) |
Account for viscosity in the aquiferhorizontal flow barriers. More... | |
subroutine | update_k_with_vsc (this) |
Appled the viscosity ratio (mu_o/mu) to the hydraulic conductivity. More... | |
subroutine | vsc_set_changed_at (this, kper, kstp) |
Mark K changes as having occurred at (kper, kstp) More... | |
subroutine | vsc_ot_dv (this, idvfl) |
@ brief Output viscosity package dependent-variable terms. More... | |
subroutine | vsc_da (this) |
@ brief Deallocate viscosity package memory More... | |
subroutine | read_dimensions (this) |
@ brief Read dimensions More... | |
subroutine | read_packagedata (this) |
@ brief Read data for package More... | |
subroutine | set_packagedata (this, input_data) |
Sets package data instead of reading from file. More... | |
subroutine | vsc_calcvisc (this) |
Calculate fluid viscosity. More... | |
subroutine | allocate_scalars (this) |
@ brief Allocate scalars More... | |
subroutine | allocate_arrays (this, nodes) |
@ brief Allocate arrays More... | |
subroutine | read_options (this) |
@ brief Read Options block More... | |
subroutine | set_options (this, input_data) |
Sets options as opposed to reading them from a file. More... | |
subroutine | set_concentration_pointer (this, modelname, conc, icbund, istmpr) |
@ brief Set pointers to concentration(s) More... | |
subroutine gwfvscmodule::allocate_arrays | ( | class(gwfvsctype) | this, |
integer(i4b), intent(in) | nodes | ||
) |
|
private |
Allocate and initialize scalars for the VSC package. The base model allocate scalars method is also called.
Definition at line 1150 of file gwf-vsc.f90.
|
private |
Return the viscosity of the boundary package using one of the options in the following order of priority:
Definition at line 730 of file gwf-vsc.f90.
subroutine gwfvscmodule::calc_q_visc | ( | class(gwfvsctype) | this, |
integer(i4b), intent(in) | cellid, | ||
real(dp), intent(inout) | viscratio | ||
) |
Will return the viscosity associated with the upgradient node (cell) to the HFB package for adjusting the hydraulic characteristic (hydchr) of the barrier
Definition at line 801 of file gwf-vsc.f90.
|
private |
|
private |
|
private |
Calculate the viscosity ratio applied to the hydraulic characteristic provided by the user. The viscosity ratio is applicable only when the hydraulic characteristic is specified as positive and will not be applied when the hydchr is negative
Definition at line 775 of file gwf-vsc.f90.
|
private |
Read dimensions for the viscosity package
Definition at line 951 of file gwf-vsc.f90.
|
private |
Reads the options block inside the VSC package.
Definition at line 1229 of file gwf-vsc.f90.
|
private |
Method to read data for the viscosity package.
Definition at line 999 of file gwf-vsc.f90.
|
private |
Pass in a gwt model name, concentration array, and ibound, and store a pointer to these in the VSC package so that viscosity can be calculated from them. This routine is called from the gwfgwt exchange in the exg_ar() method.
Definition at line 1387 of file gwf-vsc.f90.
subroutine gwfvscmodule::set_npf_pointers | ( | class(gwfvsctype) | this | ) |
Set array and variable pointers from the NPF package for access by VSC.
Definition at line 300 of file gwf-vsc.f90.
subroutine gwfvscmodule::set_options | ( | class(gwfvsctype) | this, |
type(gwfvscinputdatatype), intent(in) | input_data | ||
) |
[in] | input_data | the input data to be set |
Definition at line 1372 of file gwf-vsc.f90.
|
private |
this | this vscoancy pkg | |
[in] | input_data | the input data to be set |
Definition at line 1101 of file gwf-vsc.f90.
real(dp) function gwfvscmodule::update_bnd_cond | ( | real(dp), intent(in) | bndvisc, |
real(dp), intent(in) | viscref, | ||
real(dp), intent(in) | spcfdcond | ||
) |
When the viscosity package is active apply the viscosity ratio to the active boundary package's conductance term.
Definition at line 695 of file gwf-vsc.f90.
|
private |
This routine called after updating the viscosity values using the latest concentration and/or temperature values. The ratio mu_o/mu, reference viscosity divided by the updated viscosity value, is multiplied by K for each cell.
Definition at line 824 of file gwf-vsc.f90.
subroutine gwfvscmodule::vsc_ad | ( | class(gwfvsctype) | this | ) |
Advance data in the VSC package. The method sets or advances time series, time array series, and observation data.
Definition at line 358 of file gwf-vsc.f90.
|
private |
Update the conductance values associate with inflow from a boundary when VSC package is active.
Definition at line 371 of file gwf-vsc.f90.
subroutine gwfvscmodule::vsc_ad_lak | ( | class(bndtype), pointer | packobj, |
real(dp), dimension(:), intent(in) | visc, | ||
real(dp), intent(in) | viscref, | ||
real(dp), dimension(:), intent(in) | elev, | ||
integer(i4b), intent(in) | locvisc, | ||
integer(i4b), dimension(:), intent(in) | locconc, | ||
real(dp), dimension(:), intent(in) | dviscdc, | ||
real(dp), dimension(:), intent(in) | cviscref, | ||
integer(i4b), dimension(:), intent(in) | ivisc, | ||
real(dp), intent(in) | a2, | ||
real(dp), intent(in) | a3, | ||
real(dp), intent(in) | a4, | ||
real(dp), dimension(:), intent(inout) | ctemp | ||
) |
When the viscosity package is active, update the viscosity ratio that is applied to the lakebed conductance calculated in the LAK package
Definition at line 587 of file gwf-vsc.f90.
subroutine gwfvscmodule::vsc_ad_maw | ( | class(bndtype), pointer | packobj, |
real(dp), dimension(:), intent(in) | visc, | ||
real(dp), intent(in) | viscref, | ||
real(dp), dimension(:), intent(in) | elev, | ||
integer(i4b), intent(in) | locvisc, | ||
integer(i4b), dimension(:), intent(in) | locconc, | ||
real(dp), dimension(:), intent(in) | dviscdc, | ||
real(dp), dimension(:), intent(in) | cviscref, | ||
integer(i4b), dimension(:), intent(in) | ivisc, | ||
real(dp), intent(in) | a2, | ||
real(dp), intent(in) | a3, | ||
real(dp), intent(in) | a4, | ||
real(dp), dimension(:), intent(inout) | ctemp | ||
) |
When the viscosity package is active, update the viscosity ratio that is applied to the conductance calculated in the MAW package
Definition at line 641 of file gwf-vsc.f90.
subroutine gwfvscmodule::vsc_ad_sfr | ( | class(bndtype), pointer | packobj, |
real(dp), dimension(:), intent(in) | visc, | ||
real(dp), intent(in) | viscref, | ||
real(dp), dimension(:), intent(in) | elev, | ||
integer(i4b), intent(in) | locvisc, | ||
integer(i4b), dimension(:), intent(in) | locconc, | ||
real(dp), dimension(:), intent(in) | dviscdc, | ||
real(dp), dimension(:), intent(in) | cviscref, | ||
integer(i4b), dimension(:), intent(in) | ivisc, | ||
real(dp), intent(in) | a2, | ||
real(dp), intent(in) | a3, | ||
real(dp), intent(in) | a4, | ||
real(dp), dimension(:), intent(inout) | ctemp | ||
) |
When the viscosity package is active, update the viscosity ratio that is applied to the hydraulic conductivity specified in the SFR package
Definition at line 533 of file gwf-vsc.f90.
subroutine gwfvscmodule::vsc_ad_standard_bnd | ( | class(bndtype), pointer | packobj, |
real(dp), dimension(:), intent(in) | hnew, | ||
real(dp), dimension(:), intent(in) | visc, | ||
real(dp), intent(in) | viscref, | ||
integer(i4b), intent(in) | locelev, | ||
integer(i4b), intent(in) | locvisc, | ||
integer(i4b), dimension(:), intent(in) | locconc, | ||
real(dp), dimension(:), intent(in) | dviscdc, | ||
real(dp), dimension(:), intent(in) | cviscref, | ||
integer(i4b), dimension(:), intent(in) | ivisc, | ||
real(dp), intent(in) | a2, | ||
real(dp), intent(in) | a3, | ||
real(dp), intent(in) | a4, | ||
real(dp), dimension(:), intent(inout) | ctemp | ||
) |
When flow enters from ghb boundary type, take into account the effects of viscosity on the user-specified conductance terms
Definition at line 462 of file gwf-vsc.f90.
|
private |
Generic method to allocate and read static data for the viscosity package available within the GWF model type.
Definition at line 214 of file gwf-vsc.f90.
|
private |
Viscosity ar_bnd routine to activate viscosity in the advanced packages. This routine is called from gwf_ar() as it moves through each package
Definition at line 232 of file gwf-vsc.f90.
|
private |
Calculates fluid viscosity based on concentration or temperature
Definition at line 1121 of file gwf-vsc.f90.
subroutine, public gwfvscmodule::vsc_cr | ( | type(gwfvsctype), pointer | vscobj, |
character(len=*), intent(in) | name_model, | ||
integer(i4b), intent(in) | inunit, | ||
integer(i4b), intent(in) | iout | ||
) |
Create a new VSC Package object.
Definition at line 139 of file gwf-vsc.f90.
|
private |
|
private |
Define viscosity package options and dimensions
this | this viscosity package | |
[in] | dis | pointer to discretization |
[in] | vsc_input | optional vsc input data, otherwise read from file |
Definition at line 167 of file gwf-vsc.f90.
|
private |
|
private |
Method to read and prepare period data for the VSC package.
Definition at line 324 of file gwf-vsc.f90.
|
private |
Procedure called by VSC code when K updated due to viscosity changes. K values changed at (kper, kstp).
Definition at line 851 of file gwf-vsc.f90.