Skip to main content
Log in

Mapping natural fracture networks using geomechanical inferences from machine learning approaches

  • Original Paper
  • Published:
Computational Geosciences Aims and scope Submit manuscript

Abstract

Traditional stochastic algorithms for characterizing fracture networks are purely based on statistical inferences from outcrop images, and therefore the models produced, may not be physically realistic because they may not be consistent with the process of propagation and termination of fractures. These processes are better represented in geomechanical models of the fracturing process. However, full-physics numerical models are computationally inefficient for modeling fractures at a reservoir scale while accounting for material heterogeneities. More importantly, geomechanical simulations yield deterministic results, thus failing to represent the inherent uncertainties due to input properties and paleo stress conditions. In order to facilitate geomechanical characterization, in this research, a number of small-scale, high fidelity, finite discrete element method (FDEM) based forward models are executed and the relationship between prevailing stress conditions and the fracture propagation direction is inferred using Machine Learning (ML) approaches. We develop a ML based fracture network modeling approach that is orders of magnitude faster, efficiently scalable and may extend the capabilities of statistical fracture modeling approaches by accounting for the physical process of fracture propagation and uncertainties associated with geomechanical parameters. The application and effectiveness of this ML based modeling approach is demonstrated using a synthetic case and a case study from Teapot Dome, Wyoming based on the fracture characteristics inferred from the FMI logs near well 67-1-x-10 in the Tensleep Formation reported by Schwartz (2006).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Availability of Data and Material

The datasets generated during and/or analysed during the current study are available from the corresponding author on reasonable request.

Code Availability

The custom code created during the current study are available from the corresponding author on reasonable request.

References

  1. Alpaydin, E.: Introduction to Machine Learning. MIT Press (2014)

  2. Bathe, K.: Finite Element Procedures in Engineering Analysis. Prentice Hall Inc, New Jersey (1982)

    Google Scholar 

  3. Biot, M. A.: General theory of three-dimensional consolidation. J. Appl. Phys. 12(2), 155–164 (1941). https://doi.org/10.1063/1.1712886

    Article  Google Scholar 

  4. Bishop, C. M.: Pattern Recognition and Machine Learning. Springer, Berlin (2006)

  5. Blandford, G. E., Ingraffea, A. R., Liggett, J. A.: Two-dimensional stress intensity factor computations using the boundary element method. Int. J. Numer. Methods Eng. 17(3), 387–404 (1981). https://doi.org/10.1002/nme.1620170308. https://onlinelibrary.wiley.com/doi/abs/10.1002/nme.1620170308

    Article  Google Scholar 

  6. Chappell, B.: Component characteristics of jointed rock masses. Int. J. Rock Mech. Min. Sci. Geomech. Abstracts 12(4), 87–92 (1975). https://doi.org/10.1016/0148-9062(75)90002-9. https://www.sciencedirect.com/science/article/pii/0148906275900029

    Article  Google Scholar 

  7. Chen, T., Guestrin, C.: Xgboost: a scalable tree boosting system, pp 785–794. https://doi.org/10.1145/2939672.2939785 (2016)

  8. Chiaramonte, L., Zoback, M., Friedmann, J., Stamp, V.: Seal integrity and feasibility of co2 sequestration in the teapot dome eor pilot: geomechanical site characterization. Environ. Geol. 54, 1667–1675 (2008). https://doi.org/10.1007/s00254-007-0948-7

    Article  Google Scholar 

  9. Chollet, F., et al.: Keras. https://github.com/fchollet/keras (2015)

  10. Clough, R.W.: The finite element method in plane stress analysis (1960)

  11. Cooper, S. P.: Deformation within a basement-cored anticline: Teapot Dome, Wyoming. Ph.D. thesis, New Mexico Tech (2000)

  12. Cortes, C., Vapnik, V.: Support-vector networks. Mach. Learn. 20(3), 273–297 (1995)

    Google Scholar 

  13. Cundall, P. A.: A computer model for simulating progressive large-scale movements in blocky rock systems (1971)

  14. Cybenko, G.: Approximation by superpositions of a sigmoidal function. Math. Control Signals Syst. 2(4), 303–314 (1989). https://doi.org/10.1007/BF02551274

    Article  Google Scholar 

  15. Djidjev, H., O’Malley, D., Viswanathan, H., Hyman, J., Karra, S., Srinivasan, G.: Learning on graphs for predictions of fracture propagation, flow and transport. In: 2017 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW). https://doi.org/10.1109/IPDPSW.2017.11, pp 1532–1539 (2017)

  16. Efron, B.: The Jackknife, the Bootstrap and Other Resampling Plans. SIAM (1982)

  17. Goodman, R. E.: Methods of geological engineering in discontinuous rocks/Richard E. Goodman. West Pub. Co St Paul (1976)

  18. Hastie, T., Tibshirani, R., Friedman, J.: The Elements of Statistical Learning. Springer Series in Statistics. Springer, New York (2001)

  19. Hunter, A., Moore, B. A., Mudunuru, M. K., Chau, V. T., Miller, R. L., Tchoua, R. B., Nyshadham, C., Karra, S., Malley, D. O., Rougier, E., Viswanathan, H. S., Srinivasan, G.: Reduced-order modeling through machine learning approaches for brittle fracture applications. CoRR arXiv:1806.01949(2018)

  20. Knight, E. E., Rougier, E., Manjuza, A.: Lanl-csm: consortium proposal for the advancement of hoss la-ur-13-23409. Tech. rep. (2013)

  21. Knight, E. E., Rougier, E., Lei, Z.: Hybrid optimization software suite (hoss)–educational version la-ur-15-27013. Tech. rep. (2015)

  22. Knight, E. E., Rougier, E., Lei, Z., Manjuza, A.: User’s manual for los alamos national laboratory hybrid optimization software suite (hoss) - educational version la-ur-16-23118. Tech. rep. (2016)

  23. Lei, Q., Latham, J. P., Tsang, C. F.: The use of discrete fracture networks for modelling coupled geomechanical and hydrological behaviour of fractured rocks. Comput. Geotech. 85(Supplement C), 151–176 (2017). https://doi.org/10.1016/j.compgeo.2016.12.024. http://www.sciencedirect.com/science/article/pii/S0266352X16303317

    Article  Google Scholar 

  24. Liu, X., Srinivasan, S.: Field Scale stochastic modeling of fracture networks-combining pattern statistics with geomechanical criteria for fracture growth. In: Leuangthong, O., Deutsch, C.V. (eds.) Geostatistics Banff 2004, pp 75–84 (2005)

  25. Miller, R. L., Moore, B., Viswanathan, H., Srinivasan, G.: Image analysis using convolutional neural networks for modeling 2D fracture propagation. In: 2017 IEEE International Conference on Data Mining Workshops (ICDMW). https://doi.org/10.1109/ICDMW.2017.137, pp 979–982 (2017)

  26. Moore, B. A., Rougier, E., O’Malley, D., Srinivasan, G., Hunter, A., Viswanathan, H.: Predictive modeling of dynamic fracture growth in brittle materials with machine learning. Comput. Mater. Sci. 148, 46–53 (2018). https://doi.org/10.1016/j.commatsci.2018.01.056. http://www.sciencedirect.com/science/article/pii/S0927025618300697

    Article  Google Scholar 

  27. Olson, J. E.: Joint pattern development: effects of subcritical crack growth and mechanical crack interaction. J. Geophys. Res.: Solid Earth 98(B7), 12251–12265 (1993). https://doi.org/10.1029/93JB00779. https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/93JB00779

    Article  Google Scholar 

  28. Opitz, D., Maclin, R.: Popular ensemble methods: an empirical study. J. Artif. Intell. Res. 11, 169–198 (1999). https://doi.org/10.1613/jair.614

    Article  Google Scholar 

  29. Paluszny, A., Matthäi, S. K.: Numerical modeling of discrete multi-crack growth applied to pattern formation in geological brittle media. Int. J. Solids Struct. 46(18), 3383–3397 (2009). https://doi.org/10.1016/j.ijsolstr.2009.05.007. http://www.sciencedirect.com/science/article/pii/S0020768309002078

    Article  Google Scholar 

  30. Paluszny, A., Zimmerman, R. W.: Numerical simulation of multiple 3d fracture propagation using arbitrary meshes. Comput. Methods Appl. Mech. Eng. 200(9), 953–966 (2011). https://doi.org/10.1016/j.cma.2010.11.013. http://www.sciencedirect.com/science/article/pii/S0045782510003373

    Article  Google Scholar 

  31. Paluszny, A., Zimmerman, R. W.: Numerical fracture growth modeling using smooth surface geometric deformation. Eng. Fract. Mech. 108, 19–36 (2013). https://doi.org/10.1016/j.engfracmech.2013.04.012. http://www.sciencedirect.com/science/article/pii/S0013794413001719. Crack Paths 2012

    Article  Google Scholar 

  32. Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., Duchesnay, E.: Scikit-learn: machine learning in Python. J. Mach. Learn. Res. 12, 2825–2830 (2011)

    Google Scholar 

  33. Portela, A., Aliabadi, M. H., Rooke, D. P.: The dual boundary element method: effective implementation for crack problems. Int. J. Numer. Methods Eng. 33 (6), 1269–1287 (1992). https://doi.org/10.1002/nme.1620330611. https://onlinelibrary.wiley.com/doi/abs/10.1002/nme.1620330611

    Article  Google Scholar 

  34. Renshaw, C. E., Pollard, D. D.: Numerical simulation of fracture set formation: a fracture mechanics model consistent with experimental observations. J. Geophys. Res.: Solid Earth 99(B5), 9359–9372 (1994). https://doi.org/10.1029/94JB00139. https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/94JB00139

    Article  Google Scholar 

  35. Rougier, E., Manjuza, A.: Mrck_3d contact detection algorithm. In: Proceedings of 5th International Conference on Discrete Element Methods (2010)

  36. Schwartz, B.: Fracture Pattern Characterization of the Tensleep Formation, Teapot Dome, Wyoming. West Virginia University Libraries. https://books.google.com/books?id=QIQtswEACAAJ (2006)

  37. Sih, G. C.: On the westergaard method of crack analysis. Int. J. Fract. Mech. 2(4), 628–631 (1966). https://doi.org/10.1007/BF00184559

    Article  Google Scholar 

  38. Von Terzaghi, K.: Die berechnug der durchlassigkeit des tones aus dem verlauf der hydromechanischen spannungserscheinungen. Sitzungsber. Akad. Wiss. (Wien). Math.-Naturwiss. Kl., Abt. Iia 132, 125–138 (1923). https://ci.nii.ac.jp/naid/10024499483/en/

    Google Scholar 

  39. Westergaard, H. M.: Stresses at a crack, size of the crack, and the bending of reinforced concrete. ACI J. Proc. 30(11) (1933)

Download references

Acknowledgements

We would like to express our gratitude to Los Alamos National Lab for access to HOSS and the software operation expertise.

Funding

The authors would like to acknowledge the support and funding from Penn State Initiative for Geostatistics and Geo-Modeling Applications (PSIGGMA) and the member companies.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Akshat Chandna.

Ethics declarations

Conflict of Interest

The authors declare that they have no conflict of interest.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A: Description of ML models

1.1 A.1 Random Forests

Random Forests (RF) is an ensemble based predictive ML algorithm that consists of many different Decision Trees (DTs) to arrive at a final prediction based on the mode or mean of the prediction of each individual tree [28]. RFs try to ensure low correlation between each individual tree so that the errors of one tree are not propagated through to another tree. It does that through a process called Bagging or Bootstrap Aggregation where every tree trains on the training data randomly sampled with replacement from the given input data, with the same size as the given input data [16]. It also implements random feature selection to train each DT. Thus, each tree does not see the entirety of the elements of the feature vector and therefore has a different root node based on the available feature selection for that tree. RFs perform well on small to medium sized datasets as compared to other supervised learning algorithms such as Artificial Neural Networks (ANNs). This is the case with the training set generated using HOSS as the computational cost restricts the number of forward models for developing the classification.

1.2 A.2 Gradient Boosted Decision Trees

Gradient Boosted Decision Trees (GBDTs) is another ensemble based algorithm consisting of individual decision trees [7]. However, unlike RFs, which are built on averaging predictions from an ensemble of strong base learners, gradient boosted trees fit weak base learners built sequentially on repeatedly modified versions of the data aimed at providing more importance to incorrectly classified samples. Weak base learners are pruned trees or stumps that are only slightly better than random guessing. These stumps refer to a tree wit just one root node and two leaves from the root node. Modification of data is achieved by allocating weights to each training sample. The training starts with equal weights assigned to each sample and for every successive boosting iteration, weights associated with samples that are incorrectly classified, are increased while those associated with correctly classified samples are decreased. Hence, boosted trees are built sequentially on the re-weighted training data aimed at providing more importance to incorrectly classified samples. This results in a powerful ensemble that lowers the bias of each individual weak learner. For this research, boosted trees algorithm is implemented using XGBoost package [7] which is very fast and scalable and suitable for small, medium and large datasets.

1.3 A.3 Support Vector Machines

A support vector machine is used to classify data into separate classes by constructing a hyperplane or a set of hyperplanes in n-dimensional space where n is the number of features [4, 12]. SVMs handle non-linear separation of data in the input space by mapping the data to a higher dimensional space where it becomes linearly separable using kernel functions. Kernel functions can be linear, polynomial, radial basis function (rbf), sigmoid or any other custom function. The orientation and position of the hyperplane is determined by maximizing the distance margin between the hyperplane and the data points closest to the hyperplane, called support vectors. Since only a few data points serve as support vectors and influence the decision boundary for separation of classes, SVMs are memory efficient. SVMs are suitable for application to high dimensional spaces even when the number of features is greater than the number of samples. For this research, a radial basis function is used as a kernel. One drawback of using the implementation of SVMs with radial basis function is that fitting the model on a large dataset may be very time consuming as the computational time scales at least quadratically with the number of samples [32]. But this is not an issue while considering just 2400 data points.

1.4 A.4 Voting Classifier

Predictions from conceptually different classification algorithms can be combined using a voting classifier. Hard or soft voting is used to arrive at a final prediction from a set of equally well performing models. This may help redeem their individual weaknesses while increasing the performance of the final model [32]. Hard voting encompasses returning the class with the majority vote from all the base classifiers. Soft voting entails weighted averaging of probabilities of all classes obtained from the base classifiers and predicting the class with the maximum probability. SVMs, RFs and GBDTs are used as base classifiers in this research for the voting classifier and the final angle class is predicted using soft voting of the results from the classification algorithms.

1.5 A.5 Artificial Neural Networks (ANNs)

Artificial Neural Networks (ANNs) are widely used ML algorithms. ANNs are composed of hidden layers of neurons that connect the input layer to the output layer. Each neuron returns an output which is a nonlinear function of the weighted sum of its inputs [14]. These weights are optimized using a technique called backpropagation. For every forward pass of the network an output is computed and compared to the actual training output. This loss is then redistributed over the entire network to optimize weights and bias for better prediction of the training output variable in the next forward iteration. The process is repeated till the derivative of the defined cost function with respect to each of the weights is minimized. The output at every neuron is given by:

$$ y = \phi\left( \sum x_{i}w_{i} +b\right) $$
(1)

Where, ϕ is a linear or nonlinear activation function, xi is the input coming into the neuron from a neuron in the previous layer, wi is the weight attached to the input and b is the bias term.ANNs are powerful networks that can represent complex and non-linear relationships between the data variables and the predictions [14]. An ANN model can be very robust provided the network architecture, cost function and learning parameters are appropriately chosen. However, tuning the network parameters can take some effort. Inherently, an ANN model needs to be trained on large datasets to accurately capture the non-linear relationship between the data and the prediction.

Appendix B: Hyper-parameter search space

This section lists the search space of the hyper-parameters for each of the classification algorithms (SVM, RF, GBDT, ANN and Voting Classifier) along with the chosen best combination based on 10 fold cross validation. Hyper-parameters not listed here are left at their default values as listed in Python packages for these classifiers [9, 32].

  • RF

    • n_estimators: Number of individual trees in the model = [10, 50, 100, 200, 500]

    • max_features: Number of features or attributes when looking for the best split in the trees = [10, 20, 30, ‘auto’]

    • max_depth: Maximum depth of the tree = [None, 10, 20, 30]

    • best: {n_estimators: 100, max_features: 30, max_depth: 20}

  • GBDT

    • n_estimators: Number of individual trees in the model = [10, 100, 200, 500]

    • max_depth: Maximum depth of each tree = [3, 4, 5, 6]

    • learning_rate: Step size shrinkage used in updates to prevent overfitting = [0.1, 0.2, 0.3, 0.5, 0.7]

    • subsample: Subsample ratio of the training instances = [0.6, 0.8, 1.0]

    • colsample_bytree: the subsample ratio of features when constructing each tree = [0.6, 0.8, 1.0]

    • reg_lambda: L2 regularization term on weights = [1, 2, 5, 10]

    • reg_alpha: L1 regularization term on weights = [1, 2, 5, 10]

    • best: {n_estimators: 200, max_depth: 4, learning_rate: 0.1, subsample: 0.6, colsample_bytree: 0.6, reg_lambda: 1, reg_alpha: 1}

  • SVM

    • kernel: kernel type used in the algorithm = [‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’]

    • C: Regularization parameter = [0.1, 1.0, 6.0, 10.0, 100.0]

    • gamma: kernel coefficient = [‘scale’, ‘auto’, 0.1, 1.0, 10.0]

    • best: {kernel: ‘rbf’, C: 6, gamma: 0.1}

  • ANN

    • Number of hidden dense layers: [2, 3, 4, 5]

    • Neurons in each hidden layer: [10, 50, 100, 200]

    • Number of dropout layers: [1, 2, 3]

    • Activation function of each hidden layer: [‘relu’, ‘linear’, ‘tanh’]

    • Output layer: activation function = ‘softmax’

    • Loss function = [‘categorical_hinge’, ‘categorical_crossentropy’]

    • Optimizer = ‘Adam’

    • best: {Number of hidden dense layers: 2, Neurons in each hidden layer: 100, Number of dropout layers: 1, Activation function of each hidden layer: ‘relu’, Output layer activation function: ‘softmax’, Loss function: ‘categorical_hinge’, Optimizer: ‘Adam’}

Appendix C: Derivation of stress states in input vector for ML prediction

3.1 C.1 Far field stress parameters

Let S0 be the set of all stress states associated with fracture propagation angle class 0. Similarly, S3, S4 and S7 are the set of stress states associated with angle classes 3, 4 and 7 respectively. Then, the intersection set SINT : S0S3S4S7 includes stress states that may have given rise to any of the fracture propagation angles 0, 3, 4 and 7. Figure 23a, b, c and d show the normalized frequency histogram of occurrence of stress states belonging to set SINT. The range of stress values and the frequency of occurrence of different angle classes corresponding to those stresses reveals the added uncertainty brought about by the lack of knowledge about the hierarchy of fracture set formation and the corresponding different paleo stress conditions responsible for the formation of a fracture set. Uncertainty may also be associated with measurement of the currently existing stress states. Therefore, to acknowledge these sources of uncertainty, it is important that the influence of all stress states belonging to set SINT is adequately represented in the generated fracture map realizations. Each stress state is also characterized by its probability of occurrence within the training data extracted from high fidelity HOSS simulations and given the conditioning set of fractures. Let si be a stress state belonging to set SINT. The probability of occurrence of stress state P(si) is then given by:

$$ P(s_{i})=N(s_{i})/\sum\limits_{(j=0)}^{n} N(s_{j}) $$
(2)

Where, N(si) is the number of times, stress state si occurs in the training data and n is the total number of stress states in the set SINT. This is the prior probability corresponding to the stress state si observed within the training data.

Fig. 23
figure 23

Far-field normal stresses on the domain boundaries

For the prediction of fracture propagation angle class, the classification algorithm outputs probabilities corresponding to each angle class given the input sample vector of the chosen 43 parameters described in Section 3.1. For a given propagating fracture tip, the geometric parameters remain the same for all possible stress states si. The local stress state parameters are derived corresponding to the applied far-field stress states and the geometric parameters and are evaluated separately for each stress state si. This is described in detail in the next section. Therefore, for a fracture tip, subject to a particular surrounding fracture configuration, the probability of angle propagation class (ai) obtained from the classification algorithm then becomes conditioned to just the far-field stress states. Denoting this by P(A = ai|si), the marginal probability P(A = ai) can then be obtained by:

$$ P(A=a_{i} )= \sum\limits_{S_{INT}}P((A= a_{i})|s_{i} ).P(s_{i}) $$
(3)

The posterior distribution of the stress state si can be written as:

$$ P(s_{i}|A=a_{i} )= P(s_{i}).P(A=a_{i}/s_{i})/P(A = a_{i}) $$
(4)

where, ai is the angle of the conditioning fracture.

3.2 C.2 Local stress parameters

Consider an inclined crack of length 2a oriented at an angle β with respect to the y axis in an infinite medium subjected to a biaxial stress field, σ in y direction and kσ in x direction (Fig. 24a). Then the far-field stresses can be obtained in a new coordinate system x\(^{\prime }\textit {y}^{\prime }\) where x\(^{\prime }\) axis is along the plane of the crack (Fig. 24b) by stress transformation:

$$ \sigma_{x}^{\prime}=\frac{(k+1)}{2}\sigma-\frac{(k-1)}{2}\sigma\cos{2\beta} $$
(5)
$$ \sigma_{y}^{\prime}=\frac{(k+1)}{2}\sigma+\frac{(k-1)}{2}\sigma\cos{2\beta} $$
(6)
$$ \tau_{xy}^{\prime}= -\frac{(k-1)}{2}\sigma \sin{2\beta} $$
(7)
Fig. 24
figure 24

Stresses around an inclined crack

The modified Westergaard solution for a fracture opening in pure Mode I is given by a complex function (ZI):

$$ Z_{I}= \frac{\sigma_{y}^{\prime}}{(1-(\frac{a}{z})^{2})^{\frac{1}{2}}}-A $$
(8)

where,

$$ A= \frac{1}{2} \sigma_{y}^{\prime}(1-k^{\prime}) $$
(9)
$$ k^{\prime}= \frac{\sigma_{x}^{\prime}}{\sigma_{y}^{\prime}} $$
(10)

And, z is the complex number representation of a point (x1\(^{\prime }\), y1\(^{\prime }\)) given by z = x1\(^{\prime }\) + iy1\(^{\prime }\) (Fig. 24b) where the stresses are to be estimated. Then, the stresses in plane x\(^{\prime }\textit {y}^{\prime }\) caused by pure Mode I loading are given by:

$$ s_{xI}^{\prime}=Re(Z_{I} )-y_{1}^{\prime}Im(Z_{I}^{\prime})-A $$
(11)
$$ s_{yI}^{\prime}=Re(Z_{I} )+y_{1}^{\prime}Im(Z_{I}^{\prime})+A $$
(12)
$$ s_{xyI}^{\prime}=-y_{1}^{\prime} Re(Z_{I}^{\prime}) $$
(13)

where, Re(.) denotes the real part of a complex function and Im(.) denotes the imaginary part of a complex function and (.)’ denotes the derivative of the complex function.

Similarly for fractures opening in pure Mode II, the modified Westergaard solution is given by the complex function (ZII):

$$ Z_{II}= \frac{-i\tau_{xy}^{\prime}}{(1-(\frac{a}{z})^{2})^{\frac{1}{2}}} $$
(14)

Then, the stresses in plane x\(^{\prime }\textit {y}^{\prime }\) caused by pure Mode II loading are given by:

$$ s_{xII}^{\prime}=2Re(Z_{II})-y_{1}^{\prime}Im(Z_{II}^{\prime}) $$
(15)
$$ s_{yII}^{\prime}=y_{1}^{\prime}Im(Z_{II}^{\prime}) $$
(16)
$$ s_{xyII}^{\prime}=-Im(Z_{II})-y_{1}^{\prime}Re(Z_{II}^{\prime}) $$
(17)

For fractures opening in both Mode I and Mode II, the final stress states in plane x\(^{\prime }\textit {y}^{\prime }\) can be obtained by superposition of the Mode I stress states and Mode II stress states, i.e.

$$ s_{x}^{\prime}=s_{xI}^{\prime}+ s_{xII}^{\prime} $$
(18)
$$ s_{y}^{\prime}=s_{yI}^{\prime}+ s_{yII}^{\prime} $$
(19)
$$ s_{xy}^{\prime}=s_{xy}^{\prime}+ s_{xyII}^{\prime} $$
(20)

The local stresses obtained in the x\(^{\prime }\textit {y}^{\prime }\) plane can then be transformed to the xy plane using the stress transformation equations given by:

$$ s_{x}= \frac{s_{x}^{\prime}+s_{y}^{\prime}}{2}+\frac{s_{x}^{\prime}-s_{y}^{\prime}}{2}\cos{2\theta}+s_{xy}^{\prime}\sin{2\theta} $$
(21)
$$ s_{y}= \frac{s_{x}^{\prime}+s_{y}^{\prime}}{2}-\frac{s_{x}^{\prime}-s_{y}^{\prime}}{2}\cos{2\theta}-s_{xy}^{\prime}\sin{2\theta} $$
(22)
$$ s_{xy}=-\frac{s_{x}^{\prime}-s_{y}^{\prime}}{2}\sin{2\theta}+s_{xy}^{\prime}\cos{2\theta} $$
(23)

Where, 𝜃 is the rotation angle between the two coordinate sets (negative in the clockwise direction) related to β in the current formulation as:

$$ \theta= \beta- \pi/2 $$
(24)

The local stress states are calculated along the angular bisector of each of the 8 sectors of a circular region around a fracture tip (Section 3.1). Thus, 24 local stress parameters are obtained: sx, sy and sxy for the above mentioned 8 sectors which can then be fed into the classification algorithm as part of the input vector. These stresses are obtained at a distance equal to the mesh size used to create the HOSS domain. This distance was calibrated by curve matching between the stress values obtained from the HOSS simulation of a single crack in a biaxial stress field placed in the middle of a 1m*1 m domain and the corresponding stress values calculated from the modified Westergaard solution. The length of the initial flaw is taken to be 0.02 m and the mesh size is 0.01 m.

Consider the scenario in Case 1. Figure 25a shows the mesh elements around the fracture tip used to extract the local stresses from the HOSS simulation. Figure 25b, c and d show the comparison between the normal stress in x direction, normal stress in y direction and shear stress respectively, obtained from HOSS and the modified Westergaard equation. The solution from the modified Westergaard solution seems to follow the general trend of the local stress states observed from the HOSS solution. Discrepancies in the stress values obtained from the two sources can be attributed to the following:

  • The width of each angle class is π/4. Therefore, for angle class 5 extending over the sector between angle 0 to π/4 radians from the x axis, the modified Westergaard formulation calculates the solution corresponding to π/8 radians. However, the centroid of the triangular mesh element can be anywhere in the range 0 to π/4 and not exactly to π/8 radians. Thus, the local stresses obtained from the HOSS model may not be calculated at the same orientation as the analytical solution.

  • There are 6 observed mesh elements in the HOSS model around the fracture tip. However, the number of sectors considered are 8, implying that for 2 sectors, the stress values from the HOSS model are the average of the stress values in the adjoining sectors. The fractures tips in the training data are observed to have anywhere between 6–8 surrounding mesh elements. So all fractures with less than 8 surrounding elements will have 1 or 2 sectors with averaged values. Reducing the number of sectors and consequently the angle classes to 6 would increase the width of each sector and the interval in which the actual propagation angle may lie, from π/4 to π/3. This disparity in the resolution of the grid and the number of sectors considered for fracture modeling may introduce some errors.

Fig. 25
figure 25

Case 1—A horizontal fracture in the middle of a 1 m*1 m domain.The black dots in (a) depict the centroid of the mesh element and outlined red dots show the propagation path of the fracture, denoted by the central blue line

A way to reduce the observed errors is by refining the mesh size. Let’s consider Case 2 with mesh elements of size 0.25 times those of Case 1. The number of sectors and angle classes available for prediction are still 8 for Case 2. A finer mesh allows for more elements that can be used to estimate the local stress conditions around the fracture tip, while still being very close to the fracture tip as shown in Fig. 26a. Figure 26b, c and d show the comparison of stresses obtained from the HOSS model and the modified Westergaard solution for Case 2. The stress curves seem to have a much better agreement in this case. Given, the increased number of mesh elements taken into account for local stress estimation from HOSS, the number of sectors around the fracture tip can be increased. This results in availability of increased angle classes for prediction, reducing the width of the interval in which the actual propagation angle may lie.

Fig. 26
figure 26

Case 2—A horizontal fracture in the middle of a 1m*1 m domain.The black dots in (a) depict the centroid of the mesh element and outlined red dots show the propagation path of the fracture, denoted by the central blue line. Number of predictable angle classes- 8

Case 3 considers the same fracture in a 1m*1 m domain meshed with the same element size as Case 2 but with 16 sectors and available angle classes for prediction. The width of interval for each angle class thus reduces from π/4 to π/8. Figure 27a, b, c and d depict the results for Case 3. It can be seen, that with finer mesh sizes and increased sectors for estimation of local stress states from the HOSS model, there is more agreement in between the stress curves obtained from the HOSS model and the modified Westergaard solution.

Fig. 27
figure 27

Case 3—A horizontal fracture in the middle of a 1 m*1 m domain.The black dots in (a) depict the centroid of the mesh element and outlined red dots show the propagation path of the fracture, denoted by the central blue line. Number of predictable angle classes- 16

It should be noted, however, that increasing the number of sectors is of value, only if the mesh size is fine enough to supply unique values of local stress states to each individual sector. However, refining the mesh is a very computationally expensive process. It is observed that decreasing the mesh size by a factor of 4, increases the time taken to obtain the solution by a factor of 60. Given the computational constraints for running hundreds of models to collect enough data to train the classification algorithms, the coarser mesh of size 0.01 m pertaining to Case 1 is chosen. Refining the mesh will definitely improve the agreement of the stress curves and make the width of the predicted angle classes smaller, getting the prediction closer to the distinct actual propagation angle, however, a coarser mesh size of 0.01 m is deemed sufficient for achieving the major objective of this work: presenting a methodology for inferring rules of fracture propagation from high fidelity geomechanical simulations using ML to save on computational expenses associated with large scale high fidelity fracture modeling.

To dampen the effect of such errors, the classification algorithm was trained on far field and local stress values reduced by a factor of 107. This decision is based on the fact that capturing the correct trend of the stress values is also important for representing the interaction of surrounding fractures with the propagating fractures within the ML based modeling procedure. This also complies with the requirements of the SVM base classifier of having input sample parameter values varying in a small range around zero. It is also assumed that the local stress values obtained from the modified Westergaard solution are greater than the critical stress values required for fracture propagation. This assumption is based on the fact that the process of data extraction from HOSS to train the classification algorithm only initiates once the fractures start to propagate. Hence, the calculated local stress values should generally correspond to propagating fractures too. This also leads us to conclude that the relative values of stress states in one sector with respect to stress states in the other sectors is more important for estimating the fracture propagation angle rather than the absolute values of the stress states in each sector.

The modified Westergaard solution for local stress states that is to be fed as part of the input vector to the classification algorithm assumes the presence of a single fracture and disregards the effects of the surrounding fractures. To account for the inaccuracies introduced due to this assumption, the collection of training data from a particular HOSS simulation consisting of 10 initial flaws (Section 1) is terminated as soon as the fractures start to split, merge together or intersect other fractures. Simulations are also terminated if the fractures propagate close to the boundary of the domain to exclude edge effects. The fracture interaction is captured mainly by geometric parameters such as the distance of the propagating fracture as well as the four closest fractures to the top and right boundary of the domain and the initial flaw angle of the propagating fracture as well as the initial flaw angles of the four fractures closest to the propagating fracture.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Chandna, A., Srinivasan, S. Mapping natural fracture networks using geomechanical inferences from machine learning approaches. Comput Geosci 26, 651–676 (2022). https://doi.org/10.1007/s10596-022-10139-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10596-022-10139-5

Keywords

Navigation