예제 #1
0
 #oc = mf.ModflowOc(ml)                                                       # Output control package class --> moved (p3.7 iso p3.6)
 pcg = mf.ModflowPcg(
     ml,
     mxiter=200,
     iter1=200,
     npcond=
     1,  # Preconditioned Conjugate-Gradient Package  --> solves the finite differences equations
     hclose=0.001,
     rclose=0.001,
     relax=1.0,
     nbpol=0)
 ml.write_input()
 '''Initialize MT3DMS packages'''
 mt = mt3.Mt3dms(name,
                 'nam_mt3dms',
                 exe_name=swtexe_name,
                 modflowmodel=ml,
                 model_ws=dirs[0])
 adv = mt3.Mt3dAdv(
     mt,
     mixelm=0,
     percel=0.8,
     nadvfd=1,  #Particle based methods
     nplane=0,
     mxpart=250000,
     dceps=1e-4,
     npl=5,
     nph=8,
     npmin=1,
     npmax=16)
 btn = mt3.Mt3dBtn(
예제 #2
0
#mt3d print times
timprs = (np.arange(5) + 1) * 2000.
nprs = len(timprs)
# MODFLOW files
ml = []
ml = mf.Modflow(modelname, version='mf2005', exe_name=swtexe_name, model_ws=dirs[1])
discret = mf.ModflowDis(ml, nrow=swt_nrow, ncol=swt_ncol, nlay=swt_nlay,
                        delr=swt_delr, delc=swt_delc, laycbd=0, top=swt_top, botm=swt_botm,
                        nper=nper, perlen=perlen, nstp=1, steady=False)
bas = mf.ModflowBas(ml, ibound=swt_ibound, strt=0.05)
lpf = mf.ModflowLpf(ml, hk=2.0, vka=2.0, ss=0.0, sy=0.0, laytyp=0, layavg=0)
oc = mf.ModflowOc88(ml, save_head_every=1, item2=[[0, 1, 0, 0]])
pcg = mf.ModflowPcg(ml)
ml.write_input()
# Create the basic MT3DMS model structure
mt = mt3.Mt3dms(modelname, 'nam_mt3dms', modflowmodel=ml, 
                model_ws=dirs[1])  # Coupled to modflow model 'mf'
adv = mt3.Mt3dAdv(mt, mixelm=-1,  #-1 is TVD
                  percel=0.05,
                  nadvfd=0,  #0 or 1 is upstream; 2 is central in space
                  #particle based methods
                  nplane=4,
                  mxpart=1e7,
                  itrack=2,
                  dceps=1e-4,
                  npl=16,
                  nph=16,
                  npmin=8,
                  npmax=256)
btn = mt3.Mt3dBtn(mt, icbund=1, prsity=ssz, sconc=sconc, ifmtcn=-1,
                  chkmas=False, nprobs=10, nprmas=10, dt0=0.0, ttsmult=1.2, ttsmax=100.0,
                  ncomp=1, nprs=nprs, timprs=timprs, mxstrn=1e8)
예제 #3
0
    def get_package(self, _mf):
        content = self.merge()

        return mt.Mt3dms(modflowmodel=_mf, **content)