timflow.steady.well.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: WellBase

TargetHeadWell 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

Methods#

potinf(x, y[, aq])

Returns array of size (nparam, naq).

disvecinf(x, y[, aq])

Returns array of size (2, nparam, naq).

headinside()

The head inside the well.

discharge()

The discharge in each layer.

capzone([nt, zstart, hstepmax, vstepfrac, tmax, ...])

Compute a capture zone.

plotcapzone([nt, zstart, hstepmax, vstepfrac, tmax, ...])

Plot a capture zone.

potinflayers(x, y, layers[, aq])

Returns array of size (len(layers),nparam).

potentiallayers(x, y, layers[, aq])

Returns array of size len(layers) only used in building equations.

disvec(x, y[, aq])

Returns array of size (2, nparam, naq).

disvecinflayers(x, y, layers[, aq])

Returns two arrays of size (len(layers),nparam).

disveclayers(x, y, layers[, aq])

Returns two arrays of size len(layers) only used in building equations.