# HydroGeoSphere/2-D Random Fracture Generator

The 2-D Random Fracture Generator can be used to generate random fracture networks in two dimensions, currently only in the xz-plane. Nevertheless, in the y-direction, more than one block can be used.

## Begin 2D random fractures...End

Causes grok to begin reading instructions that describe the generation of 2-D random fractures until it encounters an End instruction.

• • •

The folowing optional instructions can be used to modify the default behaviour of the fracture generator:

## Number of random fractures

1. n rfractures Number of random fractures to generate.

By default, the 2-D random fracture network will consist of 80 fractures.

• • •

## Use constant seed

1. the_seed Seed for the 2-D Random Fracture Generator.

Causes the 2-D Random Fracture Generator to use a constant seed the_seed to produce the same random fracture network each time grok is run.

By default, the 2-D Random Fracture Generator is seeded with a time-dependent value, based on the current system time. In that case, it produces a different fracture network each time grok is run.

In either case, the seed value is written to the prefixo.eco file and can be used to generate the same random fracture network many times.

• • •

## Generate orientation distribution

1. or_n_classes Number of orientation classes.
2. or_first_class middle Middle of the smallest orientation class.
3. or_last_class middle Middle of the largest orientation class.
4. or_sigma Standard deviation ${\displaystyle {\sigma }_{1}}$  of both Gaussian distributions.
5. or_my1 Mean ${\displaystyle {\mu }_{1}}$  of the first Gaussian distribution.
6. or_my2 Mean ${\displaystyle {\mu }_{2}}$  of the second Gaussian distribution.

Causes grok to read the parameters that are used to define the distribution of fracture orientation, which follows a double-peaked Gaussian distribution according to:

${\displaystyle P({\alpha })=P_{1}({\alpha })+P_{2}({\alpha })}$                          (Equation 5.1)

where the normal distribution ${\displaystyle P(x)}$  for a variable ${\displaystyle x}$  with mean ${\displaystyle {\mu }}$  and variance ${\displaystyle {\alpha }^{2}}$  has the probability function

${\displaystyle P(x)={\frac {1}{{\sigma }{\sqrt {2{\pi }}}}}e^{-{\frac {(x-{\mu })^{2}}{2{\sigma }^{2}}}}}$                          (Equation 5.2)

for the domain ${\displaystyle x{\epsilon }(-{\infty },{\infty })}$ .

By default, the values given in Table 5.1 are used to define these relationships:

Table 5.1: Default Values for 2-D Random Fracture Orientation
Parameter Value Unit
Number of orientation classes 13 -
Middle of the smallest orientation class 30 degrees
Middle of the largest orientation class 150 degrees
Standard deviation of both classes ${\displaystyle {\sigma }}$  15 degrees
Mean of the first Gaussian distribution ${\displaystyle {\mu }_{1}}$  60 degrees
Mean of the second Gaussian distribution ${\displaystyle {\mu }_{2}}$  120 degrees
• • •

## Generate aperture distribution

1. ap_n_classes Number of aperture classes.
2. ap_first_class_middle Middle of the smallest aperture class.
3. ap_last_class_middle Middle of the largest aperture class.
4. ap_lambda ${\displaystyle {\lambda }}$  of the exponential aperture distribution.

Causes grok to read the parameters that are used to define the distribution of fracture aperture, which follows an exponential distribution, according to:

${\displaystyle P(x)=P_{O}\cdot e^{-{\lambda }x}}$                          (Equation 5.3)

Note that for a high value of ${\displaystyle {\lambda }}$ , the exponential distribution becomes steeper and small apertures are more numerous, whereas a small value of ${\displaystyle {\lambda }}$  favours larger apertures.

By default, the values given in Table 5.2 are used to define these relationships:

Table 5.2: Default Values for 2-D Random Fracture Aperture
Parameter Value Unit
Number of aperture classes 10 -
Middle of the smallest aperture class 50 microns
Middle of the largest aperture class 300 microns
${\displaystyle {\lambda }}$  of the exponential aperture distribution 9000 -
• • •

## Generate log-normal length distribution

1. le_n_classes Number of length classes.
2. le_first_class_middle Middle of the smallest length class.
3. le_last_class_middle Middle of the largest length class.
4. lognormal_m ${\displaystyle {\mu }}$  of the log-normal distribution.
5. lognormal_s ${\displaystyle {\sigma }}$  of the log-normal length distribution.

Causes grok to read the parameters that are used to define the distribution of fracture length, which follows a log-normal distribution according to:

${\displaystyle P(x)={\frac {1}{{\sigma }x{\sqrt {2{\pi }}}}}e^{-{\frac {(lnx-{\mu })^{2}}{2{\sigma }^{2}}}}}$                          (Equation 5.4)

By default, the values given in Table 5.3 are used to define these relationships:

Table 5.3: Default Values for 2-D Random Fracture Length, Log-normal Distribution
Parameter Value Unit
Number of length classes 10 -
Middle of the smallest length class 0.1 ${\displaystyle \cdot }$  min(${\displaystyle L_{x},L_{z}}$ ) † m ‡
Middle of the largest length class min(${\displaystyle L_{x},L_{z}}$ ) m
${\displaystyle {\mu }}$  of the log-normal distribution 2.9 -
${\displaystyle {\sigma }}$  of the log-normal length distribution 0.45 -

The symbols ${\displaystyle L_{x}}$  and ${\displaystyle L_{z}}$  denote the length of the simulation domain the x- and z-directions respectively.
Although metre units of length are shown in this table they may be defined differently by the user as outlined in Section 5.1.2.

It should be noted that the log-normal distribution ${\displaystyle {\Lambda }({\mu },{\sigma }^{2})}$  results from the curve ${\displaystyle {\Lambda }(0,{\sigma }^{2})}$  by:

• Stretching of ${\displaystyle e^{\mu }}$  in the x-direction.
• Stretching of ${\displaystyle e^{-{\mu }}}$  in the z-direction.

Thus, larger values for ${\displaystyle {\mu }}$  will move the peak to the right. Altering the standard deviation ${\displaystyle {\sigma }}$  will have an impact on the scattering of the distribution where a small ${\displaystyle {\sigma }}$  leads to less scattering and a sharper peak.

• • •

## Exponential length distribution

Causes grok to use an exponential distribution of the fracture trace, as opposed to the default log-normal distribution.

• • •

## Generate exponential length distribution

1. le_n_classes Number of length classes.
2. le_first_class_middle Middle of the smallest length class.
3. le_last_class_middle Middle of the largest length class.
4. le_lambda ${\displaystyle {\lambda }}$  of the exponential length distribution.

Used in conjunction with the Exponential length distribution instruction, this causes grok to read the parameters that are used to define the distribution of fracture length, which follows an exponential distribution according to:

${\displaystyle P(x)=P_{O}\cdot e^{-{\lambda }x}}$                          (Equation 5.5)

Note that for a high value for ${\displaystyle {\lambda }}$ , the exponential distribution becomes steeper and short fractures are more numerous whereas a small ${\displaystyle {\lambda }}$  favors longer fractures.

By default, the values given in Table 5.4 are used to define these relationships:

Table 5.4: Default Values for 2-D Random Fracture Length, Exponential Distribution
Parameter Value Unit
Number of length classes 10 -
Middle of the smallest length class 0.1 ${\displaystyle \cdot }$  min(${\displaystyle L_{x},L_{z}}$ ) † m ‡
Middle of the largest length class min(${\displaystyle L_{x},L_{z}}$ ) m
${\displaystyle {\lambda }}$  of the exponential length distribution 0.05 -

The symbols ${\displaystyle L_{x}}$  and ${\displaystyle L_{z}}$  denote the length of the simulation domain in the x- and z-directions respectively.
Although metre units of length are shown in this table they may be defined differently by the user as outlined in Section 5.1.2.

• • •

## Output random apertures

Writes the generated aperture distribution data and individual fracture apertures to the output file prefixo.rfrac.apertures.

• • •

## Output random lengths

Writes the generated length distribution data and individual fracture lengths to the output file prefixo.rfrac.lengths.

• • •

## Output random orientations

Writes the generated orientation distribution data and individual fracture orientations to the output file prefixo.rfrac.orientations.

• • •

## Output random fractures

Writes fracture zone aperture, conductivity and location data to the output file prefixo.rfrac.fractures.

• • •

## Default distributions

Figure 5.3 gives an overview of the default distributions which the 2-D Random Fracture Generator employs. The orientation distribution (Figure 5.3a) is based on the assumption that tectonic stress results in the creation of two fracture families as depicted in Figure 5.3b. However, upon assigning identical values for ${\displaystyle {\mu }_{1}}$  and ${\displaystyle {\mu }_{2}}$ , the distribution collapses to a one-peak distribution. The default distribution for the aperture (Figure 5.3c) is exponential and can be modified by the user. By default, the fracture traces are distributed log-normally (Figure 5.3d), which can be changed to exponential. Note that the fracture trace distribution depends on the domain dimensions. Here, a block has been used with ${\displaystyle L_{x}}$  = 100 m, ${\displaystyle L_{y}}$  = 1 m and ${\displaystyle L_{z}}$  = 50 m.

Figure 5.3: Default Random Fracture Distribution

## Example irregular fracture network

The following instructions were used to generate the irregular fracture network shown in Figure 5.4. Note the dominance of the two orientations 80° and 135°:

!_______________________ grid definition

generate uniform blocks
100.0 200
1.0 1
50.0 100

adapt grid to fractures
3

end

...etc...

!_______________________ fracture media properties

use domain type
fracture

properties file
eval.fprops

begin random fractures

use constant seed
0.5

number of random fractures
70

exponential length distribution

generate orientation distribution
10
60.
150.
10.
80.
135.

output random apertures
output random lengths
output random orientations
output random fractures

end