timflow.transient.linesink1d.DischargeLineSink1D#

class timflow.transient.linesink1d.DischargeLineSink1D(model, xls=0, tsandq=[(0, 1)], res=0, wh='H', layers=0, label=None)#

Bases: LineSink1DBase

Linesink1D with a specified discharge for each layer the linesink is in.

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

  • x (float) – x-coordinate of the linesink

  • tsandq (list of tuples) – tuples of starting time and specific discharge after starting time

  • res (float) – resistance of the linesink

  • layers (int, array or list) – layer (int) or layers (list or array) in which linesink is located

  • label (string or None (default: None)) – label of the linesink

Examples

Example of an infinitely long linesink that pumps with a specific discharge of 100 between times 10 and 50, with a specific discharge of 20 between times 50 and 200, and zero speficic discharge after time 200.

>>> DischargeLineSink1D(ml, tsandq=[(10, 100), (50, 20), (200, 0)])

Methods#

initialize()

Initialize the element.

setflowcoef()

Separate function so that this can be overloaded for other types.

potinf(x[, y, aq])

Can be called with only one x value.

disvecinf(x[, y, aq])

Can be called with only one x,y value.

plot([ax])

Plot the element.

potential(x, y[, aq])

Returns complex array of size (ngvbc, naq, npval).

unitpotential(x, y[, aq])

Returns complex array of size (naq, npval).

unitpotentialone(x, y, jtime[, aq])

Returns complex array of size (naq, npval).

disvec(x, y[, aq])

Returns 2 complex arrays of size (ngvbc, naq, npval).

unitdisvec(x, y[, aq])

Returns 2 complex arrays of size (naq, npval).

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

Layers can be scalar, list, or array.

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

Returns complex array of size (ngvbc, len(layers),npval).

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

Returns complex array of size (len(layers), npval).

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

Layers can be scalar, list, or array.

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

Returns 2 complex array of size (ngvbc, len(layers), npval).

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

Returns complex array of size (len(layers), npval).

discharge(t[, derivative])

The discharge in each layer.

dischargeold(t[, derivative])

The discharge in each layer.

run_after_solve()

Function to run after a solution is completed.