Note
Go to the end to download the full example code.
Numerical network characteristics
Lineament & fracture networks can be characterized with numerous geometric and topological parameters.
Initializing
Create two Networks so that their numerical attributes can be compared.
from pprint import pprint
import matplotlib.pyplot as plt
# Load kb11_network network from examples/example_data.py
from example_data import KB7_NETWORK, KB11_NETWORK
# Import Network class from fractopo
from fractopo.analysis.parameters import plot_parameters_plot
Geometric and topological Network parameters
All parameters are accessible through an attribute
kb11_parameters = KB11_NETWORK.parameters
kb7_parameters = KB7_NETWORK.parameters
pprint(kb11_parameters)
{'Area': 1237.9003657531266,
'Areal Frequency B20': 1.627756203766927,
'Areal Frequency P20': 0.5258904658323919,
'Branch Max Length': 5.721558550556387,
'Branch Mean Length': 0.7761437911315212,
'Branch Min Length': 0.006639501944314653,
'Connection Frequency': 0.8837544848243267,
'Connections per Branch': 1.7627791563275435,
'Connections per Trace': 3.3609831029185866,
'Dimensionless Intensity B22': 0.9805590097335628,
'Dimensionless Intensity P22': 2.786779132035443,
'Fracture Density (Mauldon)': nan,
'Fracture Intensity (Mauldon)': nan,
'Fracture Intensity B21': 1.2633728710295158,
'Fracture Intensity P21': 1.2633728710295158,
'Number of Branches': 2015.0,
'Number of Branches (Real)': 2072,
'Number of Traces': 651.0,
'Number of Traces (Real)': 709,
'Trace Max Length': 33.1085306416674,
'Trace Mean Length': 2.2058247378420526,
'Trace Mean Length (Mauldon)': nan,
'Trace Min Length': 5.820766091346741e-10}
pprint(kb7_parameters)
{'Area': 534.6848339727045,
'Areal Frequency B20': 0.7209854768756723,
'Areal Frequency P20': 0.37685751904136955,
'Branch Max Length': 11.141338433454226,
'Branch Mean Length': 1.1849926370920998,
'Branch Min Length': 0.002572582127554804,
'Connection Frequency': 0.26183648965653467,
'Connections per Branch': 1.2036316472114137,
'Connections per Trace': 1.3895781637717122,
'Dimensionless Intensity B22': 1.0124132500421243,
'Dimensionless Intensity P22': 1.6261887828801624,
'Fracture Density (Mauldon)': nan,
'Fracture Intensity (Mauldon)': nan,
'Fracture Intensity B21': 0.854362481548008,
'Fracture Intensity P21': 0.854362481548008,
'Number of Branches': 385.5,
'Number of Branches (Real)': 423,
'Number of Traces': 201.5,
'Number of Traces (Real)': 240,
'Trace Max Length': 11.943520313323264,
'Trace Mean Length': 1.9033944233291853,
'Trace Mean Length (Mauldon)': nan,
'Trace Min Length': 0.06136251196974645}
Compare KB11 and KB7 Networks selected parameter values
b22 = "Dimensionless Intensity B22"
cpb = "Connections per Branch"
selected = {b22, cpb}
# Filter to only selected parameters
kb11_network_selected_params = {
param: value for param, value in kb11_parameters.items() if param in selected
}
kb7_network_selected_params = {
param: value for param, value in kb7_parameters.items() if param in selected
}
# Compare parameters with a simple bar plot
figs, axes = plot_parameters_plot(
topology_parameters_list=[
kb11_network_selected_params,
kb7_network_selected_params,
],
labels=["KB11", "KB7"],
colors=["red", "blue"],
)
plt.show()
Total running time of the script: (0 minutes 0.142 seconds)