Welcome To dfnWorks

dfnWorks is a parallelized computational suite to generate three-dimensional discrete fracture networks (DFN) and simulate flow and transport. Developed at Los Alamos National Laboratory, it has been used to study flow and transport in fractured media at scales ranging from millimeters to kilometers. The networks are created and meshed using dfnGen, which combines FRAM (the feature rejection algorithm for meshing) methodology to stochastically generate three-dimensional DFNs with the LaGriT meshing toolbox to create a high-quality computational mesh representation. The representation produces a conforming Delaunay triangulation suitable for high-performance computing finite volume solvers in an intrinsically parallel fashion. Flow through the network is simulated with dfnFlow, which utilizes the massively parallel subsurface flow and reactive transport finite volume code PFLOTRAN. A Lagrangian approach to simulating transport through the DFN is adopted within dfnTrans to determine pathlines and solute transport through the DFN. Applications of the dfnWorks suite include nuclear waste repository science, hydraulic fracturing and CO2 sequestration.

To run a workflow using the dfnWorks suite, the pydfnworks package is highly recommended. pydfnworks calls various tools in the dfnWorks suite with the aim to provide a seamless workflow for scientific applications of dfnWorks.

Obtaining dfnWorks

dfnWorks can be downloaded from https://github.com/lanl/dfnWorks/

A docker container of dfnWorks can be downloaded from https://hub.docker.com/r/ees16/dfnworks

Citing dfnWorks

Hyman, J. D., Karra, S., Makedonska, N., Gable, C. W., Painter, S. L., & Viswanathan, H. S. (2015). dfnWorks: A discrete fracture network framework for modeling subsurface flow and transport. Computers & Geosciences, 84, 10-19.

BibTex:

  @article{hyman2015dfnWorks,
    title={dfnWorks: A discrete fracture network framework
for modeling subsurface flow and transport},
    author={Hyman, Jeffrey D and Karra, Satish and Makedonska,
Nataliia and Gable, Carl W and Painter, Scott L
and Viswanathan, Hari S},
    journal={Computers \& Geosciences},
    volume={84},
    pages={10--19},
    year={2015},
    publisher={Elsevier}
  }

Versions

v2.8 - Current

  • New Meshing Using Poisson Disc Sampling (Requires LaGriT v3.3)

  • Conforming Discrete Fracture Matrix Meshing

  • ECPM module using MAP DFN

  • Additional bug fixes

  • New dfnGraph model capabilities

  • TDRW matrix diffusion with finite matrix-block size

v2.7

  • Python based assignment of domain parameters, fracture families, user defined fractures

  • Interactive object interface

  • Updated for PFLOTRAN 4.0 compatability

  • Additional bug fixes

  • Increased detail of warning and errors

v2.6

  • Hydraulic aperture of fracture based on background stress field

  • Bug fixes

v2.5

  • New Generation parameters, family orientation by trend/plunge and dip/strike

  • Define fracture families by region

  • Updated output report

v2.4

  • New meshing technique (Poisson disc sampling)

  • Define fracture families by region

  • Updated output report

  • Well Package

v2.3

  • Bug fixes in LaGrit Meshing

  • Bug fixes in dfnTrans checking

  • Bug fixes in dfnTrans output

  • Expanded examples

  • Added PDF printing abilities

v2.2

  • pydfnWorks updated for python3

  • Graph based (pipe-network approximations) for flow and transport

  • Bug fixes in LaGrit Meshing

  • Increased functionalities in pydfnworks including the path option

  • dfn2graph capabilities

  • FEHM flow solver

  • Streamline routing option in dfnTrans

  • Time Domain Random Walk in dfnTrans

v2.1

  • Bug fixes in LaGrit Meshing

  • Increased functionalities in pydfnworks including the path option

v2.0

  • New dfnGen C++ code which is much faster than the Mathematica dfnGen. This code has successfully generated networks with 350,000+ fractures.

  • Increased functionality in the pydfnworks package for more streamlined workflow from dfnGen through visualization.

About this manual

This manual comprises of information on setting up inputs to dfnGen, dfnTrans and PFLOTRAN, as well as details on the pydfnworks module: pydfnworks. Finally, the manual contains a short tutorial with prepared examples that can be found in the examples directory of the dfnWorks repository, and a description of some applications of the dfnWorks suite.

Contact

Please email dfnworks@lanl.gov with questions about dfnWorks. Please let us know if you publish using dfnWorks and we’ll add it to the Publication Page

Contributors

LANL

  • Jeffrey D. Hyman

  • Matt Sweeney

  • Nataliia Makedonska

  • Carl Gable

  • Hari Viswanathan

  • Aric Hagberg

  • Shriram Srinivasan

  • Aidan Stansberry

External

  • Satish Karra (PNNL)

  • Scott Painter (ORNL)

  • Quan Bui (now at LLNL)

  • Jeremy Harrod (now at Spectra Logic)

  • Thomas Sherman (University of Notre Dame)

  • Johannes Krotz (Oregon State University)

  • Yu Chen