TargetHeadWell#
- class timflow.steady.well.TargetHeadWell(model, xw=0, yw=0, rw=0.1, res=0, layers=0, hcp=10, xcp=10, ycp=10, lcp=0, label=None, addtomodel=True)#
Bases:
WellBaseTargetHeadWell is a well with a specified head at (layer, x, y).
Notes
The well may be screened in multiple layers. The resistance of the screen may be specified. The head is computed such that the discharge \(Q_i\) in layer \(i\) is computed as:
\[Q_i = 2\pi r_w(h_i - h_w)/c\]where \(c\) is the resistance of the well screen and \(h_w\) is the head inside the well.
- Parameters:
model (Model object) – model to which the element is added
xw (float) – x-coordinate of the well
yw (float) – y-coordinate of the well
rw (float) – radius of the well
res (float) – resistance of the well screen
layers (int, array or list) – layer (int) or layers (list or array) where well is screened
hcp (float) – specified head at control point
xcp (float) – x-coordinate where head is specified
ycp (float) – y-coordinate where head is specified
lcp (int) – layer in which head is specified, default is the first layer, layer 0
label (string (default: None)) – label of the well
- potinf(x, y, aq=None)#
Returns array of size (nparam, naq).
- disvecinf(x, y, aq=None)#
Returns array of size (2, nparam, naq).
- headinside()#
The head inside the well.
- Returns:
Head inside the well for each screen
- Return type:
array (length number of screens)
- discharge()#
The discharge in each layer.
- Returns:
Discharge in each screen with zeros for layers that are not screened
- Return type:
array (length number of layers)
- capturezone(nt=10, zstart=None, hstepmax=10, vstepfrac=0.2, tmax=None, nstepmax=100, silent='.')#
Compute a capture zone.
- Parameters:
nt (int) – number of path lines
zstart (scalar or None) – starting elevation of the path lines, middle of aquifer if None
hstepmax (scalar) – maximum step in horizontal space
vstepfrac (float) – maximum fraction of aquifer layer thickness during one step
tmax (scalar) – maximum time
nstepmax (scalar(int)) – maximum number of steps
silent (boolean or string) – True (no messages), False (all messages), or ‘.’ (print dot for each path line)
- Returns:
Full per-pathline result dicts from
traceline().- Return type:
list of dict
- capzone(nt=10, zstart=None, hstepmax=10, vstepfrac=0.2, tmax=None, nstepmax=100, silent='.', *, metadata=False)#
Compute a capture zone.
Deprecated since version Use:
capturezone()instead. This method will be removed in a future version.- Parameters:
nt (int) – number of path lines
zstart (scalar or None) – starting elevation of the path lines, middle of aquifer if None
hstepmax (scalar) – maximum step in horizontal space
vstepfrac (float) – maximum fraction of aquifer layer thickness during one step
tmax (scalar) – maximum time
nstepmax (scalar(int)) – maximum number of steps
silent (boolean or string) – True (no messages), False (all messages), or ‘.’ (print dot for each path line)
metadata (bool, default False) – If True, return full per-pathline result dicts from
traceline(). If False, return only the trace arrays.
- Returns:
xyzt – With
metadata=False(default), each item is only the(x, y, z, t)trace array. Withmetadata=True, each item is a result dict fromtraceline().- Return type:
list of dict or list of ndarray
- potinflayers(x, y, layers, aq=None)#
Returns array of size (len(layers),nparam).
Only used in building equations.
- potentiallayers(x, y, layers, aq=None)#
Returns array of size len(layers) only used in building equations.
- disvec(x, y, aq=None)#
Returns array of size (2, nparam, naq).
- disvecinflayers(x, y, layers, aq=None)#
Returns two arrays of size (len(layers),nparam).
Only used in building equations.
- disveclayers(x, y, layers, aq=None)#
Returns two arrays of size len(layers) only used in building equations.