FractureGridGenerator: Generate random fracture patterns on a regular raster grid#

class FractureGridGenerator(*args, **kwds)[source]#

Bases: Component

Create a 2D grid with randomly generated fractures.

The grid contains the value 1 where fractures (one cell wide) exist, and 0 elsewhere. The idea is to use this for simulations based on weathering and erosion of, and/or flow within, fracture networks.

Examples

>>> from landlab import RasterModelGrid
>>> grid = RasterModelGrid((5, 5))
>>> fg = FractureGridGenerator(grid=grid, frac_spacing=3)
>>> fg.run_one_step()
>>> grid.at_node["fracture_at_node"].reshape((5, 5))
array([[1, 0, 0, 1, 0],
       [0, 1, 1, 1, 1],
       [0, 0, 0, 1, 1],
       [0, 0, 0, 1, 1],
       [0, 0, 0, 1, 0]], dtype=int8)

Notes

Potential improvements:

  • Fractures could be defined by links rather than nodes (i.e., return a

    link array with a code indicating whether the link crosses a fracture or not)

  • Fractures could have a finite length rather than extending all the way

    across the grid

  • Use of starting position along either x or y axis makes fracture net

    somewhat asymmetric. One would need a different algorithm to make it fully (statistically) symmetric.

References

Required Software Citation(s) Specific to this Component

None Listed

Additional References

None Listed

Initialize the FractureGridGenerator.

Parameters:
  • frac_spacing (int, optional) – Average spacing of fractures (in grid cells) (default = 10)

  • seed (int, optional) – Seed used for random number generator (default = 0)

__init__(grid, frac_spacing=10.0, seed=0)[source]#

Initialize the FractureGridGenerator.

Parameters:
  • frac_spacing (int, optional) – Average spacing of fractures (in grid cells) (default = 10)

  • seed (int, optional) – Seed used for random number generator (default = 0)

make_frac_grid_hex(frac_spacing)[source]#

Create a hex grid that contains a network of random fractures.

Creates a grid containing a network of random fractures, which are represented as 1’s embedded in a grid of 0’s. The grid is stored in the “fracture_at_node” field.

Parameters:

frac_spacing (int) – Average spacing of fractures (in # of grid-cell widths)

make_frac_grid_raster(frac_spacing)[source]#

Create a raster grid that contains a network of random fractures.

Creates a grid containing a network of random fractures, which are represented as 1’s embedded in a grid of 0’s. The grid is stored in the “fracture_at_node” field.

Parameters:

frac_spacing (int) – Average spacing of fractures (in grid cells)

run_one_step()[source]#

Run FractureGridGenerator and create a random fracture grid.