ttim.inhom1d ============ .. py:module:: ttim.inhom1d Classes ------- .. autoapisummary:: ttim.inhom1d.Xsection ttim.inhom1d.XsectionMaq ttim.inhom1d.Xsection3D Module Contents --------------- .. py:class:: Xsection(model, x1, x2, kaq, z, Haq, Hll, c, Saq, Sll, poraq, porll, ltype, topboundary, phreatictop, tsandhstar, tsandN, kzoverkh=None, model3d=False, name=None) Bases: :py:obj:`ttim.aquifer.AquiferData` Base class for a cross-section inhomogeneity. :param model: Model to add the cross-section to, usually an instance of ModelXsection. :type model: Model :param x1: x-coordinate of the left boundary of the cross-section. :type x1: float :param x2: x-coordinate of the right boundary of the cross-section. :type x2: float :param kaq: Hydraulic conductivities of the aquifers. :type kaq: array :param z: Elevations of the tops and bottoms of the layers. :type z: array :param Haq: Thicknesses of the aquifers. :type Haq: array :param Hll: Thicknesses of the leaky layers. :type Hll: array :param c: Resistance of the leaky layers. :type c: array :param Saq: Specific storage of the aquifers. :type Saq: array :param Sll: Specific storage of the leaky layers. :type Sll: array :param poraq: Porosities of the aquifers. :type poraq: array :param porll: Porosities of the leaky layers. :type porll: array :param ltype: Type of each layer. 'a' for aquifer, 'l' for leaky layer. :type ltype: array :param topboundary: Type of top boundary. Can be 'conf' for confined, 'semi' for semi-confined or "leaky" for a leaky top boundary. :type topboundary: str :param phreatictop: If true, interpret the first specific storage coefficient as specific yield., i.e. it is not multiplied by aquifer thickness. :type phreatictop: bool :param tsandhstar: list containing time and water level pairs for the hstar boundary condition. :type tsandhstar: list of tuples :param tsandN: list containing time and infiltration pairs for the infiltration boundary condition. :type tsandN: list of tuples :param kzoverkh: anisotropy factor for vertical resistance, kzoverkh = kz / kh. Default is 1. :type kzoverkh: float, optional, :param model3d: Boolean indicating whether model is Model3D-type. :type model3d: bool, optional :param name: Name of the cross-section inhomogeneity. :type name: str .. !! processed by numpydoc !! .. py:attribute:: tiny :value: 1e-12 .. py:attribute:: x1 .. py:attribute:: x2 .. py:attribute:: tsandhstar .. py:attribute:: tsandN .. py:attribute:: inhom_number .. py:attribute:: addlinesinks :value: True .. py:method:: __repr__() .. py:method:: is_inside(x, _) Check if a point is inside the cross-section. :param x: x-coordinate of the point. :type x: float :returns: True if the point is inside the cross-section, False otherwise. :rtype: bool .. !! processed by numpydoc !! .. py:method:: initialize() Initialize the aquifer data. .. attribute:: eigval[naq, npval] Array with eigenvalues .. attribute:: lab[naq, npval] Array with lambda values .. attribute:: lab2[naq, nint, npint] Array with lambda values reorganized per interval .. attribute:: eigvec[naq, naq, npval] Array with eigenvector matrices .. attribute:: coef[naq ,naq, npval] Array with coefficients coef[ilayers, :, np] are the coefficients if the element is in ilayers belonging to Laplace parameter number np. .. !! processed by numpydoc !! .. py:method:: create_elements() Create linesinks to meet the continuity conditions the at the boundaries. .. !! processed by numpydoc !! .. py:method:: plot(ax=None, labels=False, params=False, names=False, fmt=None, **kwargs) Plot the cross-section. :param ax: Axis to plot the cross-section on. If None, a new axis will be created. :type ax: plt.Axes, optional :param labels: If True, add layer-name labels. :type labels: bool, optional :param params: If True, add parameter labels. :type params: bool, optional :param names: If True, add inhomogeneity names. :type names: bool, optional :param fmt: format string for parameter values, e.g. '.2f' for 2 decimals. :type fmt: str, optional .. !! processed by numpydoc !! .. py:class:: XsectionMaq(model, x1, x2, kaq=1, z=(1, 0), c=(), Saq=0.001, Sll=0, poraq=0.3, porll=0.3, topboundary='conf', phreatictop=False, tsandhstar=None, tsandN=None, name=None) Bases: :py:obj:`Xsection` Cross-section inhomogeneity consisting of stacked aquifer layers. :param model: Model to add the cross-section to, usually an instance of ModelXsection. :type model: Model :param x1: x-coordinate of the left boundary of the cross-section. :type x1: float :param x2: x-coordinate of the right boundary of the cross-section. :type x2: float :param kaq: Hydraulic conductivities of the aquifers. :type kaq: array :param z: Elevations of the tops and bottoms of the layers. :type z: array :param c: Resistance of the leaky layers. :type c: array :param Saq: Specific storage of the aquifers. :type Saq: array :param Sll: Specific storage of the leaky layers. :type Sll: array :param poraq: Porosities of the aquifers. :type poraq: array :param porll: Porosities of the leaky layers. :type porll: array :param topboundary: Type of top boundary. Can be 'conf' for confined, 'semi' for semi-confined or "leaky" for a leaky top boundary. :type topboundary: str :param phreatictop: If true, interpret the first specific storage coefficient as specific yield., i.e. it is not multiplied by aquifer thickness. :type phreatictop: bool :param tsandhstar: list containing time and water level pairs for the hstar boundary condition. :type tsandhstar: list of tuples :param tsandN: list containing time and infiltration pairs for the infiltration boundary condition. :type tsandN: list of tuples :param name: Name of the cross-section. :type name: str .. !! processed by numpydoc !! .. py:class:: Xsection3D(model, x1, x2, kaq=1, z=(4, 3, 2, 1), Saq=0.001, kzoverkh=0.1, poraq=0.3, topboundary='conf', phreatictop=False, topres=0, topthick=0, topSll=0, toppor=0.3, tsandhstar=None, tsandN=None, name=None) Bases: :py:obj:`Xsection` Cross-section inhomogeneity consisting of stacked aquifer layers. Vertical resistance is computed from vertical hydraulic conductivity and the anisotropy factor. :param model: Model to add the cross-section to, usually an instance of ModelXsection. :type model: Model :param x1: x-coordinate of the left boundary of the cross-section. :type x1: scalar :param x2: x-coordinate of the right boundary of the cross-section. :type x2: scalar :param kaq: Hydraulic conductivities of the aquifers. :type kaq: array :param z: Elevations of the tops and bottoms of the layers. :type z: array :param Saq: Specific storage of the aquifers. :type Saq: array :param kzoverkh: Ratio of vertical hydraulic conductivity to horizontal hydraulic conductivity. :type kzoverkh: scalar :param poraq: Porosities of the aquifers. :type poraq: array :param topboundary: Type of top boundary. Can be 'conf' for confined, 'semi' for semi-confined or "leaky" for a leaky top boundary. :type topboundary: str :param phreatictop: If true, interpret the first specific storage coefficient as specific yield., i.e. it is not multiplied by aquifer thickness. :type phreatictop: bool :param topres: Resistance of the top boundary. Only used if topboundary is 'leaky'. :type topres: scalar :param topthick: Thickness of the top boundary. Only used if topboundary is 'leaky'. :type topthick: scalar :param topSll: Specific storage of the top boundary. Only used if topboundary is 'leaky'. :type topSll: scalar :param toppor: Porosity of the top boundary. Only used if topboundary is 'leaky'. :type toppor: scalar :param tsandhstar: list containing time and water level pairs for the hstar boundary condition. :type tsandhstar: list of tuples :param tsandN: list containing time and infiltration pairs for the infiltration boundary condition. :type tsandN: list of tuples :param name: Name of the cross-section. :type name: str .. !! processed by numpydoc !!