timflow.steady.well.HeadWell#

class timflow.steady.well.HeadWell(model, xw=0, yw=0, hw=10, rw=0.1, res=0, layers=0, label=None, addtomodel=True)#

Bases: WellBase, timflow.steady.equation.HeadEquation

HeadWell Class to create a well with a specified head inside the well.

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

  • hw (float) – head inside 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

  • 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.

equation()

Mix-in class that returns matrix rows for head-specified conditions.