#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(
#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)
def get_package(self, _mf): content = self.merge() return mt.Mt3dms(modflowmodel=_mf, **content)