timflow.steady.linesink.CollectorWell#

class timflow.steady.linesink.CollectorWell(model, xy, Qw=100.0, rw=0.1, res=0.0, layers=0, order=0, label=None)#

Bases: DitchString

Collector well: collection of line sinks with a specified total discharge.

Collection of (discontinuous) line sinks with specified total discharge and unknown but uniform head.

Parameters:
  • model (Model object) – model to which the element is added

  • xy (np.array) – array of shape (N, 4) with start and end coordinates of the line sinks on each row: [(x1, y1, x2, y2), …]

  • Qw (float) – total discharge of the collector well

  • rw (float) – radius of the collector well arms

  • res (float) – resistance of the well screen

  • layers (int, array or list) – layer (int) or layers (list or array) where well is screened

  • order (int) – order of the line sink elements

  • label (string, optional) – label of the collector well

Examples

Create a collector well with two arms:

ml = timflow.steady.Model3D(kaq=10, z=np.arange(20, -1, -2), kzoverkh=0.1)
xy = [(1, 0, 10, 0), (0, 1, 0, 10)]
w = timflow.steady.CollectorWell(ml, xy=xy, Qw=1000, layers=np.arange(5, 10))
ml.solve()

Methods#

potinf(x, y[, aq])

Compute unit potential influence of element.

disvecinf(x, y[, aq])

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

discharge_per_linesink()

Discharge of the linesinks in each layer.

discharge()

Discharge of the element in each layer.

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.