ttim.linedoublet#

Classes#

LineDoubletHoBase

Higher Order LineDoublet Base Class.

LeakyLineDoublet

Create a segment of a leaky wall, which is simulated with a line-doublet.

LeakyLineDoubletString

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

Module Contents#

class ttim.linedoublet.LineDoubletHoBase(model, x1=-1, y1=0, x2=1, y2=0, tsandbc=[(0.0, 0.0)], res='imp', order=0, layers=0, type='', name='LineDoubletHoBase', label=None, addtomodel=True)[source]#

Bases: ttim.element.Element

Higher Order LineDoublet Base Class.

All Higher Order Line Doublet elements are derived from this class

order = 0#
nparam#
x1#
y1#
x2#
y2#
__repr__()[source]#
initialize()[source]#

Initialize the element.

Initialization of terms that cannot be initialized before other elements or the aquifer is defined.

As we don’t want to require a certain order of entering elements, these terms are initialized when Model.solve is called The initialization class needs to be overloaded by all derived classes

setflowcoef()[source]#

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

potinf(x, y, aq=None)[source]#

Can be called with only one x,y value.

disvecinf(x, y, aq=None)[source]#

Can be called with only one x,y value.

plot(ax=None)[source]#

Plot the element.

class ttim.linedoublet.LeakyLineDoublet(model, x1=-1, y1=0, x2=1, y2=0, res='imp', order=0, layers=0, label=None, addtomodel=True)[source]#

Bases: LineDoubletHoBase, ttim.equation.LeakyWallEquation

Create a segment of a leaky wall, which is simulated with a line-doublet.

The specific discharge through the wall is equal to the head difference across the wall divided by the resistance of the wall.

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

  • x1 (scalar) – x-coordinate of fist point of line-doublet

  • y1 (scalar) – y-coordinate of fist point of line-doublet

  • x2 (scalar) – x-coordinate of second point of line-doublet

  • y2 (scalar) – y-coordinate of second point of line-doublet

  • 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

nunknowns#
initialize()[source]#

Initialize the element.

Initialization of terms that cannot be initialized before other elements or the aquifer is defined.

As we don’t want to require a certain order of entering elements, these terms are initialized when Model.solve is called The initialization class needs to be overloaded by all derived classes

class ttim.linedoublet.LeakyLineDoubletString(model, xy=[(-1, 0), (1, 0)], res='imp', order=0, layers=0, label=None)[source]#

Bases: ttim.element.Element, ttim.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

res = 'imp'#
order = 0#
ldlist = []#
nld#
__repr__()[source]#
initialize()[source]#

Initialize the element.

Initialization of terms that cannot be initialized before other elements or the aquifer is defined.

As we don’t want to require a certain order of entering elements, these terms are initialized when Model.solve is called The initialization class needs to be overloaded by all derived classes

potinf(x, y, aq=None)[source]#

Returns array (nunknowns,nperiods).

disvecinf(x, y, aq=None)[source]#

Returns array (nunknowns,nperiods).

plot(ax=None)[source]#

Plot the element.