timflow.steady.linesink1d.LineSink1D#

class timflow.steady.linesink1d.LineSink1D(model, xls=0, sigls=1, layers=0, label=None)#

Bases: LineSink1DBase, timflow.steady.equation.MscreenWellEquation

Create an infinitely long line-sink with a given discharge per unit length.

In case the line-sink is screened in multiple layers, the discharge is distributed over the layers such that the head inside the line-sink is constant in all layers.

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

  • xls (scalar) – x-location of line-sink

  • sigls (scalar) – discharge per unit length

  • res (scalar (default is 0)) – resistance of line-sink

  • wh (scalar or str) –

    distance over which water enters line-sink * if ‘H’: (default) distance is equal to the thickness of the aquifer layer

    (when flow comes mainly from one side)

    • if ‘2H’: distance is twice the thickness of the aquifer layer (when flow comes from both sides)

    • if scalar: the width of the stream that partially penetrates the aquifer layer

  • layers (scalar, list or array) – layer(s) in which element is placed if scalar: element is placed in this layer if list or array: element is placed in all these layers

  • label (str or None) – label of element

Methods#

potinf(x, y[, aq])

Returns array of size (nparam, naq).

disvecinf(x, y[, aq])

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

discharge()

Discharge per unit length.

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 mscreen condition.