fracture.percolation

Syntax

fperc = fracture.percolation(<vlower><,vupper><,dfn>)

Get the fracture percolation. The fracture percolation is defined in 2D and 3D, as measured in the specified region. In 2D, \(p\) is the sum of the squared fracture lengths per unit volume. In 3D, \(p\) is the sum of \({\pi}^2(area/\pi)^{1.5}\) per unit volume, where \(area\) is the fracture area. If dfn is not given the calculation is undertaken over all fractures of all DFNs.

Returns:

fperc - percolation value

Arguments:

vlower - optional lower bound of the calculation region

vupper - optional upper bound of the calculation region

dfn - optional DFN pointer

Usage Example

The following example illustrates how fracture.percolation can be used to get the percolation parameter of various DFNs, or of all fractures.

model new
model random 10000 
model domain extent -10 10

;Generate fractures using the default template
fracture generate dfn 'p1' percolation 0.1
fracture generate dfn 'p2' percolation 0.2
fracture generate dfn 'p3' percolation 0.3
fracture generate dfn 'p4' percolation 0.4

; fish access to densities
fish define access_percolation
   local dfn1 = dfn.find('p1')
   local dfn2 = dfn.find('p2')
   local dfn3 = dfn.find('p3')
   local dfn4 = dfn.find('p4')
    lower = vector(-10,-10,-10)
    upper = vector(10,10,10)
   io.out('percolation parameter of dfn p1   = ' + ...
           string(fracture.percolation(lower,upper,dfn1)))
   io.out('percolation parameter of dfn p2   = ' + ... 
           string(fracture.percolation(lower,upper,dfn2)))
   io.out('percolation parameter of dfn p3   = ' + ... 
           string(fracture.percolation(lower,upper,dfn3)))
   io.out('percolation parameter of dfn p4   = ' + ... 
           string(fracture.percolation(lower,upper,dfn4)))
   io.out('percolation parameter of all dfns = ' + ... 
           string(fracture.percolation(lower,upper)))
end
[access_percolation]

program return