timflow.transient.linedoublet.LeakyWallString#

class timflow.transient.linedoublet.LeakyWallString(model, xy=[(-1, 0), (1, 0)], res='imp', order=0, layers=0, label=None)#

Bases: timflow.transient.element.Element, timflow.transient.equation.LeakyWallEquation

Create a string of leaky wall segements consisting of line-doublets.

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

  • xy (array or list) – list or array of (x,y) pairs of coordinates of end-points of the segements in the string

  • res (scalar or string) – if string: ‘imp’ for an impermeable wall (same as res = np.inf) if scalar: resistance of leaky wall

  • order (int (default is 0)) – polynomial order of potential jump along line-doublet (head jump if transmissivity is equal on each side of wall)

  • 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

See also

LeakyLineDoublet

Methods#

initialize()

Initialize the element.

potinf(x, y[, aq])

Returns array (nunknowns,nperiods).

disvecinf(x, y[, aq])

Returns array (nunknowns,nperiods).

plot([ax, layer])

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.

equation()

Mix-in class that returns matrix rows for leaky-wall condition.