Source code for pydfnworks.dfnFlow.flow

import os
import subprocess
import sys
import glob
import shutil
from time import time
import numpy as np


[docs] def set_flow_solver(self, flow_solver): """Sets flow solver to be used Parameters ---------- self : object DFN Class flow_solver: string Name of flow solver. Currently supported flow sovlers are FEHM and PFLOTRAN Returns --------- Notes -------- Default is PFLOTRAN """ if flow_solver == "FEHM" or flow_solver == "PFLOTRAN": self.print_log(f"Using flow solver {flow_solver}") self.flow_solver = flow_solver else: error = f"Error: Unknown flow solver requested {flow_solver}\nCurrently supported flow solvers are FEHM and PFLOTRAN\nExiting dfnWorks\n" self.print_log(error, 'error')
[docs] def dfn_flow(self, dump_vtk=True): """ Run the dfnFlow portion of the workflow Parameters ---------- self : object DFN Class dump_vtk : bool True - Write out vtk files for flow solutions False - Does not write out vtk files for flow solutions Returns --------- Notes -------- Information on individual functions is found therein """ self.print_log('=' * 80) self.print_log("dfnFlow Starting") self.print_log('=' * 80) tic_flow = time() if self.flow_solver == "PFLOTRAN": self.print_log(f"Using flow solver: {self.flow_solver}") self.lagrit2pflotran() self.pflotran() if dump_vtk: self.parse_pflotran_vtk_python() self.pflotran_cleanup() elif self.flow_solver == "FEHM": self.print_log(f"Using flow solver: {self.flow_solver}") self.correct_stor_file() self.fehm() delta_time = time() - tic_flow self.dump_time('Process: dfnFlow', delta_time) self.print_log('=' * 80) self.print_log("dfnFlow Complete") self.print_log(f"Time Required for dfnFlow {delta_time} seconds\n") self.print_log('=' * 80)