Skip to main content

Discrete Fracture Network (DFN) User Guide

This guide covers the Discrete Fracture Network (DFN) modeling capabilities in VRGS, including generation, visualization, analysis, and export features.

Overview

A Discrete Fracture Network (DFN) is a stochastic representation of fracture systems in rock masses. VRGS allows you to:

  • Generate statistically-controlled fracture networks
  • Visualize fractures with various rendering modes
  • Compute fracture intersections and connectivity
  • Analyze fracture networks using graph theory
  • Model fracture propagation
  • Create cross-sections through the network
  • Filter fractures by proximity to outcrops

Creating a DFN

From the Ribbon

  1. Navigate to Interpretation tab
  2. Click DFN in the Fractures group
  3. Select New DFN to create an empty network

Setting the Domain

The DFN domain defines the 3D bounding box where fractures will be generated:

  1. Right-click on the DFN in the project tree
  2. Select Properties
  3. Set the domain bounds (min/max X, Y, Z coordinates)

Alternatively, the domain can be automatically set from visible data extents.

Fracture Sets

A DFN consists of one or more fracture sets, each with distinct statistical properties.

Adding a Fracture Set

  1. Right-click on the DFN in the project tree
  2. Select Add Fracture Set

Fracture Set Parameters

Each fracture set is controlled by the following parameters:

Orientation (Fisher Distribution)

ParameterDescription
Mean DipAverage dip angle (0-90 degrees from horizontal)
Mean AzimuthAverage dip direction (0-360 degrees, 0=North)
KappaFisher concentration parameter. Higher values = tighter clustering around mean
  • Kappa = 0: Uniform random orientations
  • Kappa = 10-20: Moderate clustering
  • Kappa = 50+: Tight clustering around mean

Size Distribution

ParameterDescription
Size DistributionUniform, Power Law, or Log-Normal
Min SizeMinimum fracture radius
Max SizeMaximum fracture radius
Power Law ExponentFor power law distribution (typically 2.0-3.5)

Intensity (P32)

ParameterDescription
P32 IntensityFracture area per unit volume (m²/m³)

P32 is the most robust intensity measure as it is scale-independent.

Generating the Network

  1. Right-click on the DFN
  2. Select Generate Network

Or use the Regenerate button in the properties panel.

Options:

  • Use Fixed Seed: Enable reproducible generation with a specific random seed
  • Seed Value: The random seed to use (only when fixed seed is enabled)

Visualization

Render Modes

Access via DFN properties or right-click menu:

ModeDescription
Fracture DisksFilled fracture polygons
Fracture OutlinesPolygon edges only
Color by SetEach fracture set has a distinct color
Color by PropertyColor by fracture attribute

Visibility Options

  • Show Fractures: Toggle fracture polygon visibility
  • Show Intersection Lines: Display fracture-fracture intersections
  • Show Graph Nodes: Display connectivity graph nodes as spheres
  • Show Connections as Cylinders: Render graph edges as 3D cylinders

Appearance Settings

  • Node Size: Size of graph node spheres
  • Node Color: Color of graph nodes
  • Connection Line Width: Thickness of connection cylinders
  • Connection Line Color: Color of connection lines

Intersection Analysis

Fracture-Fracture Intersections

Compute where fractures intersect each other:

  1. Right-click on the DFN
  2. Select Generate Intersection Lines

This creates line segments at all fracture-fracture intersections, which can be:

  • Visualized as lines
  • Used to build the connectivity graph
  • Exported as polylines

Mesh Intersections

Compute where fractures intersect mesh surfaces (e.g., outcrop models):

  1. Ensure the target mesh(es) are visible
  2. Right-click on the DFN
  3. Select Generate Mesh Intersections

This creates polylines representing the fracture traces on the mesh surface. Each fracture's intersection segments are automatically merged into continuous polylines.

Simplify Intersections

Merge collinear segments from the same fracture pair:

  1. Right-click on the DFN
  2. Select Simplify Intersection Segments

Connectivity Graph

The fracture graph represents network topology using nodes (intersection points) and edges (fracture segments between intersections).

Building the Graph

  1. First generate intersection lines
  2. Right-click on the DFN
  3. Select Build Fracture Graph

Graph Visualization

  • Enable Show Graph Nodes to see intersection points
  • Enable Show Connections as Cylinders to see edges
  • Adjust node size and colors in properties

Graph Analysis

The graph provides:

  • Connected component identification
  • Path finding between fractures
  • Node degree analysis (I, Y, X nodes)
  • Branch length statistics

Fracture Propagation

VRGS includes a stress-controlled fracture propagation model that extends fracture tips.

Propagation Parameters

ParameterDescription
Step LengthDistance each tip advances per step
Max Total LengthMaximum length a fracture can grow
Max StepsMaximum propagation iterations
Abutting DistanceDistance at which tips terminate against other fractures
Abutting ProbabilityProbability of termination when within abutting distance
Stress Shadow DistanceZone of influence around existing fractures
Stress Shadow AngleDeflection angle in stress shadow zones
Direction NoiseRandom variation in growth direction (degrees)

Stress Tensor

The propagation direction is influenced by the regional stress field:

  • Sigma1: Maximum principal stress direction
  • Sigma2: Intermediate principal stress
  • Sigma3: Minimum principal stress (fractures propagate perpendicular to this)

Running Propagation

  1. Right-click on the DFN
  2. Select Initialize Propagation (with default or custom config)
  3. Either:
    • Propagate Step: Single iteration
    • Propagate to Completion: Run until all tips terminate

Slicers (Cross-Sections)

Create 2D cross-sections through the DFN to visualize fracture traces on orthogonal planes.

Enabling Slicers

In the DFN properties panel:

  1. Enable X Axis Slicer, Y Axis Slicer, or Z Axis Slicer
  2. Adjust the slider position (0-100% of domain extent)

Slicer Display

When a slicer is active:

  • Fracture disks are hidden
  • Intersection lines with the slicer plane are displayed
  • Line color and width can be customized

Multiple slicers can be active simultaneously.

Proximity Filtering

Filter fractures based on their distance to outcrop data (meshes or point clouds).

Enabling Proximity Filter

  1. In DFN properties, enable Proximity Filter
  2. Set Filter Distance (distance threshold in meters)
  3. Optionally enable Invert Filter to show only distant fractures

How It Works

  • Distances are computed from fracture centroids to nearest visible mesh/point cloud
  • A distance grid accelerates lookups for large datasets
  • Filtering is performed in the GPU shader for smooth interaction

Attributes

DFN fractures support computed attributes for analysis and visualization.

Available Attributes

AttributeDescription
AreaFracture polygon area
DipFracture dip angle
AzimuthFracture dip direction
Equivalent RadiusRadius of circle with same area
Aspect RatioLength/width ratio
Centroid X/Y/ZFracture center coordinates
Set IndexWhich fracture set the fracture belongs to

Generating Attributes

  1. Right-click on the DFN
  2. Select Generate Attribute > [Attribute Type]

Attributes can be used for:

  • Color mapping
  • Filtering
  • Statistical analysis
  • Export

Export Options

Export as Polylines

Export fracture outlines or intersection lines as polyline objects:

  1. Right-click on the DFN
  2. Select appropriate export option

Statistics Export

Export network statistics including:

  • Fracture count per set
  • P32 intensity
  • Size distribution statistics
  • Orientation statistics

Best Practices

For Realistic Networks

  1. Base parameters on field measurements when available
  2. Use multiple fracture sets to represent different deformation events
  3. Validate P32 intensity against borehole or scanline data
  4. Compare generated orientation distributions with stereonet data

For Performance

  1. Start with fewer fractures during parameter tuning
  2. Use proximity filtering to focus on relevant fractures
  3. Disable intersection line rendering when not needed
  4. Use outline mode for large networks

For Analysis

  1. Generate intersections before building the graph
  2. Use attributes for quantitative comparisons
  3. Export statistics for external analysis tools

Troubleshooting

No fractures generated

  • Check that domain bounds are set correctly
  • Verify P32 intensity is greater than 0
  • Ensure at least one fracture set is defined

Slow intersection computation

  • Reduce fracture count
  • Ensure BVH is being built (automatic)
  • Use proximity filtering to limit active fractures

Mesh intersections disconnected

  • Segments from the same fracture are automatically merged
  • If gaps exist, the mesh may have holes or the fracture doesn't fully intersect

Slicers not showing

  • Ensure slicer is enabled AND position slider is moved
  • Check that fractures exist within the slice plane

Advanced Statistical Analysis

VRGS includes advanced statistical tools for analyzing fracture data, based on techniques from the literature and FracPaQ.

Distribution Fitting

Fit statistical distributions to fracture size data using Maximum Likelihood Estimation (MLE) with Kolmogorov-Smirnov goodness-of-fit testing.

Supported Distributions

DistributionParametersUse Case
Power Lawα (exponent), x_minScale-invariant fracture lengths (most common)
Lognormalμ, σ, x_minNatural log-normal processes
Exponentialλ (rate), x_minConstant spacing/fragmentation

How It Works

  1. MLE Fitting: Parameters estimated by maximizing likelihood
  2. x_min Optimization: Lower bound automatically selected to minimize K-S statistic
  3. K-S Testing: Compares empirical vs theoretical CDF; p > 0.05 indicates acceptable fit

Power Law MLE

For power law P(x) ~ x^(-α):

α = 1 + n / Σ[ln(x_i / x_min)]

The finite-size correction is applied for small samples.

Interpretation

p-valueInterpretation
> 0.10Good fit
0.05 - 0.10Marginal fit
< 0.05Poor fit - distribution may not apply

References

  • Clauset et al. (2007) "Power-Law Distributions in Empirical Data"
  • Newman (2006) "Power Laws, Pareto Distributions and Zipf's Law"

Stress Analysis

Analyze fracture slip and dilation tendency under a specified stress field.

Stress Parameters

ParameterDescription
σ1Maximum principal stress (magnitude, plunge, trend)
σ2Intermediate principal stress
σ3Minimum principal stress
Pore PressureEffective stress modifier
Friction (μ)Coefficient of friction for slip criterion
Cohesion (C0)Cohesive strength

Computed Attributes

AttributeFormulaRangeDescription
Normal Stress (σn)n·S·n-Stress normal to fracture
Shear Stress (τ)√(σ1² + σ3² - σn²)-Shear stress on fracture plane
Slip Tendency (Ts)τ / σn0-1Ratio of shear to normal stress
Dilation Tendency (Td)(σ1 - σn) / (σ1 - σ3)0-1Tendency to dilate and conduct fluid
Fracture Susceptibilityτ - μ(σn - Pp) - C0-Mohr-Coulomb failure criterion
Critically Stressed-boolTrue if susceptibility > 0

Interpretation

  • High Slip Tendency (Ts > 0.6): Fracture likely to slip under current stress
  • High Dilation Tendency (Td > 0.6): Fracture likely open/conductive
  • Critically Stressed: Fracture exceeds Mohr-Coulomb failure envelope

Applications

  • Identify critically stressed faults for induced seismicity risk
  • Predict hydraulically conductive fractures
  • Assess reactivation potential under changing stress/pressure

Fabric Tensor Analysis

Quantify fracture network anisotropy using Oda's 2nd-rank fabric tensor (crack tensor).

Fabric Tensor (F2)

The tensor is computed as:

F2_ij = (1/V) * Σ[A_p * n_i * n_j]

Where:

  • V = domain volume
  • A_p = fracture area
  • n = unit pole vector (normal to fracture)

Output Properties

PropertyDescription
F2 Matrix3x3 symmetric tensor
EigenvaluesPrincipal anisotropy magnitudes (λ1 ≥ λ2 ≥ λ3)
EigenvectorsPrincipal anisotropy directions
Traceλ1 + λ2 + λ3 (proxy for P32)
Anisotropy Ratioλ1 / λ3 (1 = isotropic, higher = anisotropic)
Shape Factor(λ1 - λ2) / (λ1 - λ3) (0 = prolate, 1 = oblate)

Polar Form

For rose diagram overlay, the horizontal projection:

F2(θ) = F2_xx·cos²θ + 2·F2_xy·cosθ·sinθ + F2_yy·sin²θ

Interpretation

Anisotropy RatioInterpretation
1.0 - 1.5Nearly isotropic
1.5 - 3.0Moderately anisotropic
3.0 - 10.0Strongly anisotropic
> 10.0Highly anisotropic (single dominant set)

Reference

  • Oda (1982) "Fabric tensor for discontinuous geological materials"

Circular Statistics

Analyze orientation data accounting for the circular/periodic nature of angles.

Axial vs Vectorial Data

TypeRangeExamples
Axial0-180° (headless)Fracture strikes, lineation trends
Vectorial0-360° (directed)Dip directions, current azimuths

For axial data, angles are doubled before analysis and results halved.

Computed Statistics

StatisticDescription
Mean DirectionCircular mean of angles
Resultant Length (R)0-1, measures concentration (0 = uniform, 1 = identical)
Circular Variance1 - R
Circular Std Dev√(-2·ln(R))
Concentration (κ)Fisher/von Mises dispersion parameter

Rose Diagrams

Rose diagrams display directional data in radial histograms:

OptionDescription
Bin CountNumber of angular bins (default 18 = 10° bins)
Equal AreaRadius ∝ √(count) for proper area representation
SymmetricalMirror data for axial display (0-180° → 0-360°)

Uniformity Tests

TestDescription
Rayleigh TestTests for unimodal concentration (R > critical)
Watson U² TestTests for non-uniform distribution on circle
Kuiper TestCircular variant of K-S test

p < 0.05 indicates statistically significant non-uniform distribution.

References

  • Fisher (1993) "Statistical Analysis of Circular Data"
  • Mardia & Jupp (2000) "Directional Statistics"

Attribute Reference (Extended)

Standard Attributes

AttributeDescription
AREAFracture polygon area
DIPDip angle (0-90°)
AZIMUTHDip direction (0-360°)
EQUIVALENT_RADIUS√(area/π)
ASPECT_RATIOLength/width
CENTROID_X/Y/ZCenter coordinates
SET_INDEXFracture set ID

Topology Attributes

AttributeDescription
NODE_COUNTIntersections on this fracture
BRANCH_COUNTGraph edges on this fracture
I_NODE_COUNTIsolated tips (degree 1)
Y_NODE_COUNTAbutting nodes (degree 3)
X_NODE_COUNTCrossing nodes (degree 4)

Stress Attributes

AttributeDescription
NORMAL_STRESSσn on fracture plane
SHEAR_STRESSτ on fracture plane
SLIP_TENDENCYτ/σn ratio
DILATION_TENDENCY(σ1-σn)/(σ1-σ3)
FRACTURE_SUSCEPTIBILITYMohr-Coulomb excess
CRITICALLY_STRESSEDBoolean failure flag