ttim.linesink1d#
Classes#
LineSink1D Base Class. |
|
Linesink1D with a specified discharge for each layer the linesink is in. |
|
Linesink1D with a specified discharge. |
|
1D head-specified linesink element. |
|
1D head-difference linesink element. |
|
1D flux-difference linesink element. |
Module Contents#
- class ttim.linesink1d.LineSink1DBase(model, xls=0, tsandbc=[(0, 1)], res=0, wh='H', layers=0, type='', name='LineSink1DBase', label=None, aq=None, inhomelement=False)[source]#
Bases:
ttim.element.ElementLineSink1D Base Class.
All LineSink1D elements are derived from this class
- Parameters:
model (Model object) – Model to which the element is added
xls (float) – x-coordinate of the line sink
tsandbc (list of tuples) – list of tuples of the form (time, bc) for boundary conditions
res (float) – resistance of the line sink
wh (string or float) – wetted perimeter of the linesink, “H” for aquifer height, “2H” for 2x aquifer height (two-sided flow) or specify any float value
layers (int, array or list) – layer (int) or layers (list or array) in which line sink is located
type (string) – type of element, “g” for given, “v” for variable and “z” for zero.
name (string) – name of the element
label (string, optional) – label of the element
aq (Aquifer object) – aquifer in which the element is located
inhomelement (boolean) – set to True if element is part of an inhomogeneity
- tiny = 1e-08#
- nparam#
- xls#
- res#
- wh = 'H'#
- aq = None#
- 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.linesink1d.DischargeLineSink1D(model, xls=0, tsandq=[(0, 1)], res=0, wh='H', layers=0, label=None)[source]#
Bases:
LineSink1DBaseLinesink1D 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)])
- class ttim.linesink1d.LineSink1D(model, xls=0, tsandq=[(0, 1)], res=0, wh='H', vres=0.0, wv=1.0, layers=0, label=None)[source]#
Bases:
LineSink1DBase,ttim.equation.MscreenEquationLinesink1D with a specified discharge.
- 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 specific discharge after time 200.
>>> LineSink1D(ml, tsandq=[(10, 100), (50, 20), (200, 0)])
- nunknowns#
- vres#
- wv = 1.0#
- 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.linesink1d.HeadLineSink1D(model, xls=0, tsandh=[(0, 1)], res=0, wh='H', layers=0, label=None)[source]#
Bases:
LineSink1DBase,ttim.equation.HeadEquation1D head-specified linesink element.
- Parameters:
model (Model object) – Model to which the element is added
xls (float) – x-coordinate of the linesink
tsandh (list of tuples) – list of tuples of the form (time, head) for head conditions
res (float) – resistance of the linesink
wh (string or float) – wetted perimeter of the linesink, “H” for aquifer height, “2H” for 2x aquifer height (two-sided flow) or specify any float value
layers (int, array or list) – layer (int) or layers (list or array) in which linesink is located
label (string, optional) – label of the 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.linesink1d.HeadDiffLineSink1D(model, xls=0, layers=0, label=None, aq=None)[source]#
Bases:
LineSink1DBase,ttim.equation.HeadDiffEquation1D head-difference linesink element.
Used to ensure continuity of head in a cross-section model, e.g. at the boundary of an inhomogeneity.
- Parameters:
model (Model object) – Model to which the element is added
xls (float) – x-coordinate of the linesink
layers (int, array or list) – layer (int) or layers (list or array) in which linesink is located
label (string, optional) – label of the element
aq (Aquifer object) – aquifer in which the element is located
- 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.linesink1d.FluxDiffLineSink1D(model, xls=0, layers=0, label=None, aq=None)[source]#
Bases:
LineSink1DBase,ttim.equation.FluxDiffEquation1D flux-difference linesink element.
Used to ensure continuity of flux in a cross-section model, e.g. at the boundary of an inhomogeneity.
- Parameters:
model (Model object) – Model to which the element is added
xls (float) – x-coordinate of the linesink
layers (int, array or list) – layer (int) or layers (list or array) in which linesink is located
label (string, optional) – label of the 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