ttim.linesink1d =============== .. py:module:: ttim.linesink1d Classes ------- .. autoapisummary:: ttim.linesink1d.LineSink1DBase ttim.linesink1d.DischargeLineSink1D ttim.linesink1d.LineSink1D ttim.linesink1d.HeadLineSink1D ttim.linesink1d.HeadDiffLineSink1D ttim.linesink1d.FluxDiffLineSink1D Module Contents --------------- .. py:class:: LineSink1DBase(model, xls=0, tsandbc=[(0, 1)], res=0, wh='H', layers=0, type='', name='LineSink1DBase', label=None, aq=None, inhomelement=False) Bases: :py:obj:`ttim.element.Element` LineSink1D Base Class. All LineSink1D elements are derived from this class :param model: Model to which the element is added :type model: Model object :param xls: x-coordinate of the line sink :type xls: float :param tsandbc: list of tuples of the form (time, bc) for boundary conditions :type tsandbc: list of tuples :param res: resistance of the line sink :type res: float :param wh: wetted perimeter of the linesink, "H" for aquifer height, "2H" for 2x aquifer height (two-sided flow) or specify any float value :type wh: string or float :param layers: layer (int) or layers (list or array) in which line sink is located :type layers: int, array or list :param type: type of element, "g" for given, "v" for variable and "z" for zero. :type type: string :param name: name of the element :type name: string :param label: label of the element :type label: string, optional :param aq: aquifer in which the element is located :type aq: Aquifer object :param inhomelement: set to True if element is part of an inhomogeneity :type inhomelement: boolean .. !! processed by numpydoc !! .. py:attribute:: tiny :value: 1e-08 .. py:attribute:: nparam .. py:attribute:: xls .. py:attribute:: res .. py:attribute:: wh :value: 'H' .. py:attribute:: aq :value: None .. py:method:: __repr__() .. py:method:: 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 .. !! processed by numpydoc !! .. py:method:: setflowcoef() Separate function so that this can be overloaded for other types. .. !! processed by numpydoc !! .. py:method:: potinf(x, y=0, aq=None) Can be called with only one x value. .. !! processed by numpydoc !! .. py:method:: disvecinf(x, y=0, aq=None) Can be called with only one x,y value. .. !! processed by numpydoc !! .. py:method:: changetrace(xyzt1, xyzt2, aq, layer, ltype, modellayer, direction, hstepmax) :abstractmethod: .. py:method:: plot(ax=None) Plot the element. .. !! processed by numpydoc !! .. py:class:: DischargeLineSink1D(model, xls=0, tsandq=[(0, 1)], res=0, wh='H', layers=0, label=None) Bases: :py:obj:`LineSink1DBase` Linesink1D with a specified discharge for each layer the linesink is in. :param model: model to which the element is added :type model: Model object :param x: x-coordinate of the linesink :type x: float :param tsandq: tuples of starting time and specific discharge after starting time :type tsandq: list of tuples :param res: resistance of the linesink :type res: float :param layers: layer (int) or layers (list or array) in which linesink is located :type layers: int, array or list :param label: label of the linesink :type label: string or None (default: None) .. rubric:: 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)]) .. !! processed by numpydoc !! .. py:class:: LineSink1D(model, xls=0, tsandq=[(0, 1)], res=0, wh='H', vres=0.0, wv=1.0, layers=0, label=None) Bases: :py:obj:`LineSink1DBase`, :py:obj:`ttim.equation.MscreenEquation` Linesink1D with a specified discharge. :param model: model to which the element is added :type model: Model object :param x: x-coordinate of the linesink :type x: float :param tsandq: tuples of starting time and specific discharge after starting time :type tsandq: list of tuples :param res: resistance of the linesink :type res: float :param layers: layer (int) or layers (list or array) in which linesink is located :type layers: int, array or list :param label: label of the linesink :type label: string or None (default: None) .. rubric:: 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)]) .. !! processed by numpydoc !! .. py:attribute:: nunknowns .. py:attribute:: vres .. py:attribute:: wv :value: 1.0 .. py:method:: 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 .. !! processed by numpydoc !! .. py:class:: HeadLineSink1D(model, xls=0, tsandh=[(0, 1)], res=0, wh='H', layers=0, label=None) Bases: :py:obj:`LineSink1DBase`, :py:obj:`ttim.equation.HeadEquation` 1D head-specified linesink element. :param model: Model to which the element is added :type model: Model object :param xls: x-coordinate of the linesink :type xls: float :param tsandh: list of tuples of the form (time, head) for head conditions :type tsandh: list of tuples :param res: resistance of the linesink :type res: float :param wh: wetted perimeter of the linesink, "H" for aquifer height, "2H" for 2x aquifer height (two-sided flow) or specify any float value :type wh: string or float :param layers: layer (int) or layers (list or array) in which linesink is located :type layers: int, array or list :param label: label of the element :type label: string, optional .. !! processed by numpydoc !! .. py:attribute:: nunknowns .. py:method:: 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 .. !! processed by numpydoc !! .. py:class:: HeadDiffLineSink1D(model, xls=0, layers=0, label=None, aq=None) Bases: :py:obj:`LineSink1DBase`, :py:obj:`ttim.equation.HeadDiffEquation` 1D head-difference linesink element. Used to ensure continuity of head in a cross-section model, e.g. at the boundary of an inhomogeneity. :param model: Model to which the element is added :type model: Model object :param xls: x-coordinate of the linesink :type xls: float :param layers: layer (int) or layers (list or array) in which linesink is located :type layers: int, array or list :param label: label of the element :type label: string, optional :param aq: aquifer in which the element is located :type aq: Aquifer object .. !! processed by numpydoc !! .. py:attribute:: nunknowns .. py:method:: 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 .. !! processed by numpydoc !! .. py:method:: plot(ax=None) Plot the element. .. !! processed by numpydoc !! .. py:class:: FluxDiffLineSink1D(model, xls=0, layers=0, label=None, aq=None) Bases: :py:obj:`LineSink1DBase`, :py:obj:`ttim.equation.FluxDiffEquation` 1D flux-difference linesink element. Used to ensure continuity of flux in a cross-section model, e.g. at the boundary of an inhomogeneity. :param model: Model to which the element is added :type model: Model object :param xls: x-coordinate of the linesink :type xls: float :param layers: layer (int) or layers (list or array) in which linesink is located :type layers: int, array or list :param label: label of the element :type label: string, optional .. !! processed by numpydoc !! .. py:attribute:: nunknowns .. py:method:: 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 .. !! processed by numpydoc !! .. py:method:: plot(ax=None) Plot the element. .. !! processed by numpydoc !!