11 """Sets flow solver to be used
18 Name of flow solver. Currently supported flow sovlers are FEHM and PFLOTRAN
28 if flow_solver ==
"FEHM" or flow_solver ==
"PFLOTRAN":
29 print(
"Using flow solver %s" % flow_solver)
30 self.flow_solver = flow_solver
32 error =
"ERROR: Unknown flow solver requested %s\nCurrently supported flow solvers are FEHM and PFLOTRAN\nExiting dfnWorks\n" % flow_solver
33 sys.stderr.write(error)
37 def dfn_flow(self, dump_vtk=True, effective_perm=True):
38 """ Run the dfnFlow portion of the workflow
45 True - Write out vtk files for flow solutions
46 False - Does not write out vtk files for flow solutions
53 Information on individual functions is found therein
57 print(
"dfnFlow Starting")
62 if self.flow_solver ==
"PFLOTRAN":
63 print(
"Using flow solver: %s" % self.flow_solver)
65 self.lagrit2pflotran()
66 self.dump_time(
'Function: lagrit2pflotran', time() - tic)
70 self.dump_time(
'Function: pflotran', time() - tic)
74 self.parse_pflotran_vtk_python()
75 self.dump_time(
'Function: parse_pflotran_vtk', time() - tic)
77 self.pflotran_cleanup()
78 self.dump_time(
'Function: pflotran_cleanup', time() - tic)
83 self.dump_time(
'Function: effective_perm', time() - tic)
85 elif self.flow_solver ==
"FEHM":
86 print(
"Using flow solver: %s" % self.flow_solver)
88 self.correct_stor_file()
90 self.dump_time(
'Function: FEHM', time() - tic)
92 delta_time = time() - tic_flow
93 self.dump_time(
'Process: dfnFlow', delta_time)
96 print(
"dfnFlow Complete")
97 print(
"Time Required for dfnFlow %0.2f seconds\n" % delta_time)
102 """ Create symlinks to files required to run dfnFlow that are in another directory.
109 Absolute path to primary directory.
117 1. Typically, the path is DFN.path, which is set by the command line argument -path
118 2. Currently only supported for PFLOTRAN
121 'full_mesh.uge',
'full_mesh.inp',
'full_mesh_vol_area.uge',
122 'materialid.dat',
'full_mesh.stor',
'full_mesh_material.zone',
123 'full_mesh.fehmn',
'allboundaries.zone',
'pboundary_bottom.zone',
124 'pboundary_top.zone',
'pboundary_back_s.zone',
125 'pboundary_front_n.zone',
'pboundary_left_w.zone',
126 'pboundary_right_e.zone',
'perm.dat',
'aperture.dat',
'params.txt'
130 os.symlink(path + f, f)
132 print(
"--> Error Creating link for %s" % f)
def create_dfn_flow_links(self, path='../')
def set_flow_solver(self, flow_solver)
def dfn_flow(self, dump_vtk=True, effective_perm=True)