Source code for flopy.mt3d.mtphc

from ..pakbase import Package


[docs]class Mt3dPhc(Package): """ PHC package class for PHT3D """ unitnumber = 38 def __init__( self, model, os=2, temp=25, asbin=0, eps_aqu=0, eps_ph=0, scr_output=1, cb_offset=0, smse=["pH", "pe"], mine=[], ie=[], surf=[], mobkin=[], minkin=[], surfkin=[], imobkin=[], extension="phc", unitnumber=None, filenames=None, ): if unitnumber is None: unitnumber = Mt3dPhc._defaultunit() elif unitnumber == 0: unitnumber = Mt3dPhc._reservedunit() # call base package constructor super().__init__( model, extension=extension, name=self._ftype(), unit_number=unitnumber, filenames=self._prepare_filenames(filenames), ) self.os = os self.temp = temp self.asbin = asbin self.eps_aqu = eps_aqu self.eps_ph = eps_ph self.scr_output = scr_output self.cb_offset = cb_offset self.smse = smse self.nsmse = len(self.smse) self.mine = mine self.nmine = len(self.mine) self.ie = ie self.nie = len(self.ie) self.surf = surf self.nsurf = len(self.surf) self.mobkin = mobkin self.nmobkin = len(self.mobkin) self.minkin = minkin[0] self.nminkin = len(self.minkin) self.minkin_parms = minkin[1] self.surfkin = surfkin self.nsurfkin = len(self.surfkin) self.imobkin = imobkin self.nimobkin = len(self.imobkin) self.parent.add_package(self) return def __repr__(self): return "PHC package class for PHT3D"
[docs] def write_file(self): """ Write the package file Returns ------- None """ # Open file for writing f_phc = open(self.fn_path, "w") f_phc.write( "%3d%10f%3d%10f%10f%3d\n" % ( self.os, self.temp, self.asbin, self.eps_aqu, self.eps_ph, self.scr_output, ) ) f_phc.write("%10f\n" % (self.cb_offset)) f_phc.write("%3d\n" % (self.nsmse)) f_phc.write("%3d\n" % (self.nmine)) f_phc.write("%3d\n" % (self.nie)) f_phc.write("%3d\n" % (self.nsurf)) f_phc.write( "%3d%3d%3d%3d\n" % (self.nmobkin, self.nminkin, self.nsurfkin, self.nimobkin) ) for s in self.smse: f_phc.write("%s\n" % (s)) i = 0 for m in self.minkin: f_phc.write("%s %d\n" % (m, len(self.minkin_parms[i]))) for n in self.minkin_parms[i]: f_phc.write("\t%10f\n" % (n)) i = i + 1 f_phc.close() return
@staticmethod def _ftype(): return "PHC" @staticmethod def _defaultunit(): return 38 @staticmethod def _reservedunit(): return 38