flopy.mfusg.mfusgmdt module

Mfusgmdt module.

Contains the MfUsgMdt class. Note that the user can access the MfUsgMdt class as flopy.mfusg.MfUsgMdt.

class MfUsgMdt(model, ipakcb=0, imdtcf=0, mdflag=0, volfracmd=0.0, pormd=0.0, rhobmd=0.0, difflenmd=0.0, tortmd=0.0, kdmd=0.0, decaymd=0.0, yieldmd=0.0, diffmd=0.0, aiold1md=0.0, aiold2md=0.0, frahk=False, fradarcy=False, tshiftmd=0.0, iunitAI2=0, crootname=None, extension='mdt', unitnumber=None, filenames=None, add_package=True)[source]

Bases: Package

Matrix Diffusion Transport (mdt) Package Class for MODFLOW-USG Transport.

Parameters:
  • model (model object) – The model object (of type flopy.modflow.Modflow) to which this package will be added.

  • ipakcb (int (0,1,-1), (default is 0)) – a flag and a unit number >0 for cell-by-cell mass flux terms.

  • imdtcf (int (0,1,2,3,4,5,6,7), (default is 0)) – a flag and a unit number >0 for immobile domain concentrations

  • mdflag (int, (default is 0)) – a flag for the matrix diffusion type

  • volfracmd (float, (default is 0.0)) – volume fraction of fracture/high permeability domain. SAME AS PHIF IN DPT PACKAGE

  • pormd (float, (default is 0.0)) – effective transport porosity of the mobile domain

  • rhobmd (float, (default is 0.0)) – bulk density of the mobile domain

  • difflenmd (float, (default is 0.0)) – diffusion length for diffusive transport within the matrix domain

  • tortmd (float, (default is 0.0)) – tortuosity factor for the matrix domain

  • kdmd (float, (default is 0.0)) – adsorption coefficient (Kd) of a contaminant species in immobile domain

  • decaymd (float, (default is 0.0)) – first-order decay rate of a contaminant species in the immobile domain

  • yieldmd (float, (default is 0.0)) – yield coefficient for chain decay

  • diffmd (float, (default is 0.0)) – diffusion coefficient for the immobile domain

  • aiold1md (float, (default is 0.0) (MDFLAG = 1, 3, 4, 5, 6, or 7)) – concentration integral (equation 8) of each species

  • aiold2md (float, (default is 0.0) (MDFLAG = 2, 5, 6, or 7)) – concentration integral (equation 8) of each species

  • frahk (bool, (default is False)) – True = hydraulic conductivity and storage terms only for mobile domain False = hydraulic conductivity and storage terms for matrix domains

  • fradarcy (bool, (default is False)) – True = Darcy flux computed only for fracture domain

  • tshiftmd (float, (default is 0.0)) – time shift for the immobile domain

  • iunitAI2 (float, (default is 0.0)) – separate binary file of ai2 for the matrix domain

  • crootname_md (str, (default is None)) – rootname for the concentration output binary file

  • extension (str, (default is 'mdt').) –

  • unitnumber (int, (default is 57).) – File unit number and the output files.

  • filenames (str or list of str) – Filenames to use for the package and the output files.

  • add_package (bool, default is True) – Flag to add the initialised package object to the parent model object.

Notes

Examples

>>> import flopy
>>> ml = flopy.mfusg.MfUsg(exe_name='USGs_1.exe')
>>> disu = flopy.mfusg.MfUsgDisU(model=ml, nlay=1, nodes=1,
             iac=[1], njag=1,ja=np.array([0]), fahl=[1.0], cl12=[1.0])
>>> mdt = flopy.mfusg.MfUsgmdt(ml)
classmethod load(f, model, ext_unit_dict=None)[source]

Load an existing package.

Parameters:
  • f (filename or file handle) – File to load.

  • model (model object) – The model object (of type flopy.modflow.mf.Modflow) to which this package will be added.

  • ext_unit_dict (dictionary, optional) – If the arrays in the file are specified using EXTERNAL, or older style array control records, then f should be a file handle. In this case ext_unit_dict is required, which can be constructed using the function flopy.utils.mfreadnam.parsenamefile.

Returns:

mdt

Return type:

MfUsgmdt object

Examples

>>> import flopy
>>> ml = flopy.mfusg.MfUsg()
>>> dis = flopy.mfusg.MfUsgDisU.load('SeqDegEg.dis', ml)
>>> mdt = flopy.mfusg.MfUsgmdt.load('SeqDegEg.mdt', ml)
write_file(f=None)[source]

Write the mdt package file.

Parameters:

f (open file object.) – Default is None, which will result in MfUsg.fn_path being opened for writing.

Examples