ttim.element#

Classes#

Element

Helper class that provides a standard way to create an ABC using

Module Contents#

class ttim.element.Element(model, nparam=1, nunknowns=0, layers=0, tsandbc=[(0, 0)], type='z', name='', label=None, inhomelement=False)[source]#

Bases: abc.ABC

Helper class that provides a standard way to create an ABC using inheritance.

model#
aq = None#
nparam = 1#
nunknowns = 0#
layers#
nlayers#
inhomelement = False#
type = 'z'#
name = ''#
label = None#
rzero = 30#
setbc()[source]#
abstractmethod 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

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

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

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

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

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

Returns complex array of size (naq, npval).

Can be more efficient for given elements.

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

Returns complex array of size (naq, npval).

Can be more efficient for given elements.

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

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

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

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

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

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

Can be more efficient for given elements.

potinflayers(x, y, layers=0, aq=None)[source]#

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)[source]#

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

Only used in building equations.

unitpotentiallayers(x, y, layers=0, aq=None)[source]#

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

Only used in building equations.

disvecinflayers(x, y, layers=0, aq=None)[source]#

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)[source]#

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

Only used in building equations.

unitdisveclayers(x, y, layers=0, aq=None)[source]#

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

Only used in building equations.

discharge(t, derivative=0)[source]#

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))

dischargeold(t, derivative=0)[source]#

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))

headinside(t)[source]#
storeinput(frame)[source]#
write()[source]#
run_after_solve()[source]#

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.

abstractmethod plot(ax=None)[source]#

Plot the element.