LeakyWall#
- class timflow.transient.linedoublet.LeakyWall(model, x1=-1, y1=0, x2=1, y2=0, res='imp', order=0, layers=0, label=None, addtomodel=True)#
Bases:
LineDoubletHoBase,timflow.transient.equation.LeakyWallEquationCreate 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
See also
- initialize()#
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()#
Separate function so that this can be overloaded for other types.
- potinf(x, y, aq=None)#
Can be called with only one x,y value.
- disvecinf(x, y, aq=None)#
Can be called with only one x,y value.
- plot(ax=None, layer=None)#
Plot the element.
- potential(x, y, aq=None)#
Returns complex array of size (ngvbc, naq, npval).
- unitpotential(x, y, aq=None)#
Returns complex array of size (naq, npval).
Can be more efficient for given elements.
- unitpotentialone(x, y, jtime, aq=None)#
Returns complex array of size (naq, npval).
Can be more efficient for given elements.
- disvec(x, y, aq=None)#
Returns 2 complex arrays of size (ngvbc, naq, npval).
- unitdisvec(x, y, aq=None)#
Returns 2 complex arrays of size (naq, npval).
Can be more efficient for given elements.
- potinflayers(x, y, layers=0, aq=None)#
Layers can be scalar, list, or array.
returns array of size (len(layers),nparam,npval) only used in building equations
- potentiallayers(x, y, layers=0, aq=None)#
Returns complex array of size (ngvbc, len(layers),npval).
Only used in building equations.
- unitpotentiallayers(x, y, layers=0, aq=None)#
Returns complex array of size (len(layers), npval).
Only used in building equations.
- disvecinflayers(x, y, layers=0, aq=None)#
Layers can be scalar, list, or array.
returns 2 arrays of size (len(layers),nparam,npval) only used in building equations
- disveclayers(x, y, layers=0, aq=None)#
Returns 2 complex array of size (ngvbc, len(layers), npval).
Only used in building equations.
- unitdisveclayers(x, y, layers=0, aq=None)#
Returns complex array of size (len(layers), npval).
Only used in building equations.
- discharge(t, derivative=0)#
The discharge in each layer.
- Parameters:
t (scalar, list or array) – times at which discharge is computed. t must be ordered and tmin <= t <= tmax
derivative (when derivative=0, returns discharge (default)) – when derivative=1, returns derivative of the discharge when derivative=-1, returns integrated discharge
- Returns:
Discharge in each screen with zeros for layers that are not screened
- Return type:
array of discharges (nlayers,len(t))
- dischargeold(t, derivative=0)#
The discharge in each layer.
- Parameters:
t (scalar, list or array) – times at which discharge is computed. t must be ordered and tmin <= t <= tmax
- Returns:
Discharge in each screen with zeros for layers that are not screened
- Return type:
array of discharges (nlayers,len(t))
- run_after_solve()#
Function to run after a solution is completed.
For most elements nothing needs to be done, but for strings of elements some arrays may need to be filled.
- equation()#
Mix-in class that returns matrix rows for leaky-wall condition.
Returns matrix part (nunknowns,neq,npval), complex Returns rhs part (nunknowns,nvbc,npval), complex.