DfnWorks
dfnWorks is a parallelized computational suite to generate three-dimensional discrete fracture networks (DFN) and simulate flow and transport. If you download the software please fill out our interest form to stay up to date on releases https://goo.gl/forms/VE39oKsyp4LVC6Gj2 and join our google group https://groups.google.com/d/forum/dfnworks-users . Precompiled Docker Container https://hub.docker.com/r/ees16/dfnworks
Install / Use
/learn @lanl/DfnWorksREADME
README
For information on how to get dfnWorks up and running, please see the document dfnWorks.pdf, in this directory. Documentation is also available here
https://lanl.github.io/dfnWorks/intro.html
Native build from github repository
This document contains instructions for setting up dfnWorks natively on your machine. To setup dfnWorks using Docker instead, see the next section.
Clone the dnfWorks repository
$ git clone git@github.com:lanl/dfnWorks.git
Set the LagriT, PETSC, PFLOTRAN, Python, and FEHM paths
Before executing dfnWorks, the following paths must be set:
-
dfnWorks_PATH: the dfnWorks repository folder
-
PETSC_DIR and PETSC_ARCH: PETSC environmental variables
-
PFLOTRAN_EXE: Path to PFLOTRAN executable
-
LAGRIT_EXE: Path to LaGriT executable
-
FEHM_EXE: Path to FEHM executable
$ vi dfnWorks/pydfnworks/pydfnworks/general/paths.py
For example:
os.environ['dfnWorks_PATH'] = '/home/<username>/dfnWorks/'
Alternatively, you can create a .dfnworksrc file in your home directory with the following format
{
"dfnworks_PATH": "<your-home-directory>/src/dfnWorks/",
"PETSC_DIR": "<your-home-directory>/src/petsc",
"PETSC_ARCH": "arch-darwin-c-debug",
"PFLOTRAN_EXE": "<your-home-directory>/src/pflotran/src/pflotran/pflotran",
"LAGRIT_EXE": "<your-home-directory>/bin/lagrit",
"FEHM_EXE": "<your-home-directory>//src/xfehm_v3.3.1"
}
Note that you need to set the dfnworks_path, but the others are optional if you don't want to run those executables
Installing pydfnworks
Go up into the pydfnworks sub-directory:
$ cd dfnWorks/pydfnworks/
Compile The pydfnWorks Package & Install on Your Local Machine:
$ pip install -r requirements.txt
$ pip install .
If you are on a shared system, please use
$ pip install -r requirements.txt --user .
$ pip install . --user
if you don't have admin privileges.
If this produces an error, then try
$ python setup.py install -r requirements.txt
$ python setup.py install --user
Note that the python version needs to be consistent with the current release
Installation Requirements for Native Build
Tools that you will need to run the dfnWorks work flow are described in this section. VisIt and ParaView, which enable visualization of desired quantities on the DFNs, are optional, but at least one of them is highly recommended for visualization. CMake is also optional but allows faster IO processing using C++.
Operating Systems
dfnWorks currently runs on Macs and Unix machine running Ubuntu.
Python
pydfnworks uses Python 3. We recommend using
the Anaconda 3 distribution of Python, available at https://www.continuum.io/.
pydfnworks requires the following python modules: numpy, h5py, scipy, matplotlib, multiprocessing, argparse, shutil, os, sys, networkx, subprocess, glob, mplstereonet, fpdf, and re.
LaGriT
The LaGriT meshing toolbox is used to create a high resolution computational mesh representation of the DFN in parallel. An algorithm for conforming Delaunay triangulation is implemented so that fracture intersections are coincident with triangle edges in the mesh and Voronoi control volumes are suitable for finite volume flow solvers such as FEHM and PFLOTRAN.
https://lagrit.lanl.gov
dfnWorks v2.8+ requires LaGriT v3.3. DFM meshing requires that LaGriT is built with exodus.
PFLOTRAN
PFLOTRAN is a massively parallel subsurface flow and reactive transport code. PFLOTRAN solves a system of partial differential equations for multiphase, multicomponent and multi-scale reactive flow and transport in porous media. The code is designed to run on leadership-class supercomputers as well as workstations and laptops.
http://pflotran.org
FEHM
FEHM is a subsurface multiphase flow code developed at Los Alamos National Laboratory.
https://fehm.lanl.gov
Paraview
Paraview_ is a parallel, open-source visualisation software. PFLOTRAN can
output in .xmf and .vtk format. These can be imported in Paraview
for visualization. While not required for running dfnWorks, Paraview is
very helpful for visualizing dfnWorks simulations.
Instructions for downloading and installing Paraview_ can be found at http://www.paraview.org/download/
Related Skills
node-connect
340.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
340.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.1kCommit, push, and open a PR
