Source code for flopy.mf6.modflow.mfgwfhfb

# autogenerated file, do not modify

from os import PathLike, curdir
from typing import Union

from flopy.mf6.data.mfdatautil import ArrayTemplateGenerator, ListTemplateGenerator
from flopy.mf6.mfpackage import MFChildPackages, MFPackage


[docs]class ModflowGwfhfb(MFPackage): """ ModflowGwfhfb defines a HFB package. Parameters ---------- model Model that this package is a part of. Package is automatically added to model when it is initialized. loading_package : bool, default False Do not set this parameter. It is intended for debugging and internal processing purposes only. print_input : keyword keyword to indicate that the list of hydraulic flow barriers will be written to the listing file immediately after it is read. maxhfb : integer integer value specifying the maximum number of hydraulic flow barriers that will be entered in this input file. the value of maxhfb is used to allocate memory for the hydraulic flow barriers. stress_period_data : [(cellid1, cellid2, hydchr)] * cellid1 : [integer] identifier for the first cell. For a structured grid that uses the DIS input file, CELLID1 is the layer, row, and column numbers of the cell. For a grid that uses the DISV input file, CELLID1 is the layer number and CELL2D number for the two cells. If the model uses the unstructured discretization (DISU) input file, then CELLID1 is the node numbers for the cell. The barrier is located between cells designated as CELLID1 and CELLID2. For models that use the DIS and DISV grid types, the layer number for CELLID1 and CELLID2 must be the same. For all grid types, cells must be horizontally or vertically adjacent. * cellid2 : [integer] identifier for the second cell. See CELLID1 for description of how to specify. * hydchr : double precision is the hydraulic characteristic of the hydraulic-flow barrier. The hydraulic characteristic is the barrier hydraulic conductivity divided by the width of the hydraulic-flow barrier. If the hydraulic characteristic is negative, then the absolute value of HYDCHR acts as a multiplier to the conductance between the two model cells specified as containing the barrier. For example, if the value for HYDCHR was specified as -1.5, the conductance calculated for the two cells would be multiplied by 1.5. filename : str or PathLike, optional Name or path of file where this package is stored. pname : str, optional Package name. **kwargs Extra keywords for :class:`flopy.mf6.mfpackage.MFPackage`. """ stress_period_data = ListTemplateGenerator( ("gwf6", "hfb", "period", "stress_period_data") ) package_abbr = "gwfhfb" _package_type = "hfb" dfn_file_name = "gwf-hfb.dfn" dfn = [ ["header"], [ "block options", "name print_input", "type keyword", "reader urword", "optional true", ], [ "block dimensions", "name maxhfb", "type integer", "reader urword", "optional false", "mf6internal maxbound", ], [ "block period", "name iper", "type integer", "block_variable true", "in_record true", "tagged false", "shape", "valid", "reader urword", "optional false", ], [ "block period", "name stress_period_data", "type recarray cellid1 cellid2 hydchr", "shape (maxhfb)", "reader urword", "mf6internal spd", ], [ "block period", "name cellid1", "type integer", "shape (ncelldim)", "tagged false", "in_record true", "reader urword", ], [ "block period", "name cellid2", "type integer", "shape (ncelldim)", "tagged false", "in_record true", "reader urword", ], [ "block period", "name hydchr", "type double precision", "shape", "tagged false", "in_record true", "reader urword", ], ] def __init__( self, model, loading_package=False, print_input=None, maxhfb=None, stress_period_data=None, filename=None, pname=None, **kwargs, ): """Initialize ModflowGwfhfb.""" super().__init__( parent=model, package_type="hfb", filename=filename, pname=pname, loading_package=loading_package, **kwargs, ) self.print_input = self.build_mfdata("print_input", print_input) self.maxhfb = self.build_mfdata("maxhfb", maxhfb) self.stress_period_data = self.build_mfdata( "stress_period_data", stress_period_data ) self._init_complete = True