Vous êtes sur la page 1sur 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/329216020

pyBIMstab: Application software for 2D slope stability analysis of block-in-


matrix and homogeneous materials

Article · January 2018


DOI: 10.1016/j.softx.2018.11.003

CITATION READS

1 29

2 authors:

Exneyder A. Montoya-Araque Ludger Suarez-Burgoa


National University of Colombia National University of Colombia
9 PUBLICATIONS   4 CITATIONS    26 PUBLICATIONS   12 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Rock Mechanics View project

Rock engineering View project

All content following this page was uploaded by Exneyder A. Montoya-Araque on 08 January 2019.

The user has requested enhancement of the downloaded file.


SoftwareX 7 (2018) 383–387

Contents lists available at ScienceDirect

SoftwareX
journal homepage: www.elsevier.com/locate/softx

Original software publication

pyBIMstab: Application software for 2D slope stability analysis of


block-in-matrix and homogeneous materials

Exneyder A. Montoya-Araque , Ludger O. Suarez-Burgoa
Grupo de Investigación de Geotecnia, Departamento de Ingeniería Civil, Universidad Nacional de Colombia, Colombia

article info a b s t r a c t

Article history: We present the application software, pyBIMstab, which evaluates the factor of safety (FS) against sliding
Received 5 August 2018 of slopes made of either blocks-in-matrix (bimsoil\bimrock) taking into account the tortuosity of failure
Received in revised form 6 November 2018 surface or homogeneous materials with typical circularly-shaped surfaces. In the case of tortuous surfaces,
Accepted 6 November 2018
they are found with the optimum pathfinding algorithm named A∗ (A star).
Keywords: © 2018 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY license
Tortuous failure surface (http://creativecommons.org/licenses/by/4.0/).
Bimrock
Bimsoil
Slope stability
A∗ algorithm

Code metadata
Current code version v0.1.3
Permanent link to code/repository used for this code version https://github.com/ElsevierSoftwareX/SOFTX_2018_137
Legal Code License BSD-2-Clause
Code versioning system used git
Software code languages, tools, and services used Python 3
Compilation requirements, operating environments & dependencies Operative systems: Ubuntu ≥ 16.04, Windows ≥ 7. Python packages: numpy
≥ 1.13.3, scipy ≥ 1.1.0, matplotlib ≥ 2.2.2, shapely ≥ 1.6.4
If available Link to developer documentation/manual pybimstab.readthedocs.io
Support email for questions eamontoyaa@gmail.com
losuarezb@unal.edu.co

1. Motivation and significance across them. From a geological perspective, they include melanges,
sheared serpentinites, breccias, decomposed granites, weathered
Slopes can be composed by many types of materials, from rocks with corestones, and tectonically fragmented rocks such as
entirely soil to a rock mass. Between those two extremes, there fault rocks.
is a specific type of material defined by strong blocks embedded In slope stability analysis, the limit equilibrium method (LEM)
into a weak matrix, which were named blocks in matrix materials. is commonly used to solve the equilibrium equations usually by di-
It is called bimrock when the matrix is rocky and bimsoil when is viding the sliding mass into slices. The sliding mass is defined after
soil [1]. assuming a failure surface whose geometry depends on the ma-
Bimrocks are geological mixtures composed of geotechnically terial and its geomechanic properties. For example, in soil slopes,
significant rock blocks within a bonded rock matrix of finer texture. circular or non-circular (i.e. polyline) surfaces are frequently as-
‘‘Geotechnical significance’’ means that there is a sufficient volume sumed, however, when they are prone to shallow slips, it is usual
of blocks with mechanical contrast between the blocks and matrix to use infinite-slope failure surfaces with a planar shape, which is
to make the failure surfaces to pass around the blocks and not the simplest case of the LEM. On the other hand, in rock slopes,
using the kinematic analysis due to the presence of discontinuities
∗ Corresponding author. is more recurrent.
E-mail addresses: eamontoyaa@unal.edu.co (E.A. Montoya-Araque), In the case of bimsoil\bimrock, the failure surface passes in-
losuarezb@unal.edu.co (L.O. Suarez-Burgoa). disputably around the blocks like a maze; this phenomenon was

https://doi.org/10.1016/j.softx.2018.11.003
2352-7110/© 2018 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4.0/).
384 E.A. Montoya-Araque and L.O. Suarez-Burgoa / SoftwareX 7 (2018) 383–387

named tortuosity of failure surfaces [1] after observations on lab-


oratory samples [2]. The matrix to block strength ratio, block
proportion relative to the matrix, block orientation, block size and
block shape are the factors that influence the tortuous nature of
the failure path [3].
Tortuosity also depends on the scaling dimension of the prob-
lem that is named the characteristic engineering dimension (Lc ),
which in the case of slope stability problems is the slope height
(sh ); based on the foregoing, [4] established the thresholds of block
sizes to deal with engineering problems. The smallest block size
can reach the 5 % of Lc , so in slope stability problems, blocks smaller
than 0.05sh belong to the matrix. When the largest block size is
greater than 75 % of Lc , the blocks must be characterized as a rock
mass.
Using LEM, tortuous paths in a two-dimensional approach have
been employed in different stability analysis of slopes consisting
of bimsoil\bimrock; nevertheless, the tortuous failure path was
traced visually, which always implied subjectivity in choosing the
optimum path. Once the failure path has been traced, it was evalu- Fig. 1. Directory of the application software with the modules (.py files) and their
ated in a closed code and commercial software (e.g. [3,5,6]). In ad- respective classes in the right column.
dition, it has been assumed that the portion of the slope above the
tortuous path is made only of matrix, not blocks, and their weights
are neglected; this assumption is uncertain, especially when there The GLE formulation was proposed as a way to solve the two
is a strong contrast between matrix and block densities. FS equations; one of them solves the equilibrium with respect
Although there is a software package available named to forces and the other solves it with respect to moments. Each
INCL.BAS [5], it is limited to specific cases such as regularly spaced equation can be solved for a range of interslice shear-normal forces
and inclined rectangular blocks. That software defines the tortuous (X and E respectively), which are related by mean of a predefined
failure surface joining the opposite corners of two adjacent rectan- interslice function (f (x)) and a proportion of it (λ) with the follow-
gular blocks. INCL.BAS is depreciated and is no longer maintained. ing equation
pyBIMstab was developed as there are no software packages that
automatically generate tortuous failure surfaces and perform 2D X = λf (x)E . (1)
slope stability analysis by the LEM. In addition, pyBIMstab also can
The objective of GLE is to solve both equations for different
evaluate non-circular surfaces. Since bimsoil\bimrock can be input
values of λ. Each equation has an associated curve of λ vs FS, both
as variables to pyBIMstab, the weight of the blocks is considered in
curves are used to solve the LEM by getting their intersection point
the assessment and the tortuous failure surfaces can be optimally
as is shown in the plots of illustrative examples.
obtained if the geological and geotechnical models of the slope
are discretized in a gridded graph and applied on the optimum
pathfinding algorithm A∗ [7]. 2.1. Software architecture
Taking into account the tortuous and typical circular surfaces,
previous researchers have found significant differences between pyBIMstab is divided into ten modules as Fig. 1 shows: nine
the results of slope stability analyses (e.g. [3,6,8]). In most of the are developed under the object-oriented paradigm and one under
analyzed situations, the FS obtained in the second case was greater the functional paradigm. Each one has its respective classes in the
than the first. However, this situation is not always true. For in- front. Some have the exclusive objective of defining a part of the
stance, the most detrimental geometric configuration consists of geometric structure of the model (e.g. bim.py, slipsurface.py,
elongated blocks oriented with their major side parallel to the face slope.py, and watertable.py), and other modules contain sup-
of the slope [3]. Therefore, it is convenient to investigate the other portive tools (e.g. polygon.py, smoothcurve.py and tools.py).
variables that can affect FS, which are not necessarily related to the The module astar.py is in charge of finding the optimum tor-
block shapes and orientations (in its worst unfavorable conditions), tuous slip surface when the slope model is a bimsoil\bimrock.
for instance the geometric variables of slope, the strength param- Finally, the modules slices.py and slopestabl.py use the GLE
eters of matrix, the contrast of unit weight between blocks and method to perform stability analysis [9].
matrix, the magnitude and direction of external loads, and more.
This type of analysis can be performed with pyBIMstab. 2.2. Software functionalities
Even more, it is convenient to offer to the practitioners and the
academy a tool to determine the FS against sliding by taking into The features of pyBIMstab are listed below (more detail can be
account the tortuous path rather than only typical, regular surfaces. found in the online documentation).
Finally, since pyBIMstab is an open-source application software,
the possibilities for applying it in research are great. • A∗ pathfinding algorithm can be used to find the tortuous
surfaces.
2. Software description • Since the GLE method [9] was implemented for LEM, the
Morgestern & Price [10] and Spencer [11] methods are avail-
pyBIMstab is an open-source application software that was able through the attribute interSlcFunc of the class
written in Python3 under the object-oriented paradigm for ap- SlopeStabl.
plying LEM through the general limit equilibrium (GLE) formula- • Others LEM can be chosen by setting the attribute nLambda of
tion [9] with the aim of evaluating the slope stability consisting the class SlopeStabl equal to zero. It includes Fellenius [12],
of either bimsoil\bimrock or homogeneous materials, it means, Bishop simplified [13] and Janbu simplified [14].
tortuous or circular surfaces. • After each assessment, the convergence plot is shown.
E.A. Montoya-Araque and L.O. Suarez-Burgoa / SoftwareX 7 (2018) 383–387 385

• The slope stability analysis can be performed with or without Listing 2: Example of a more complex usage of pyBIMstab.
considering a water table surface. Lengths: m, unit weights: kN m−3 , cohesion: kPa and friction angle: degrees.
• Either tortuous and circular surfaces can be evaluated through from numpy import ar ray
the classes CircularSurface and TortuousSurface of from pybimstab . slope import NaturalSlope
from pybimstab . watertable import WaterTable
the module slipsurface.py. from pybimstab . bim import BlocksInMatrix
from pybimstab . s l i p s u r f a c e import C i r c u l a r S u r f a c e ,
• Tortuous surfaces can be optional forced to follow a preferred from pybimstab . s l i p s u r f a c e import TortuousSurface
path, like a circular one by using the attribute from pybimstab . s l i c e s import MaterialParameters , S l i c e s
from pybimstab . s l o p e s t a b l import S l o p e S t a b l
preferredPath of the class TortuousSurface. t e r r a i n C o o r d s = a rra y (
• Pseudo-static analysis can be performed through the hori- [[ − 2.49 , 0 . 1 , 1 . 7 , 3 . 8 9 , 5 . 9 , 8 . 1 2 , 9 . 8 7 , 1 3 . 2 9 ,
20.29 , 21.43 , 22.28 , 23.48 , 24.65 , 25.17] ,
zontal coefficient of the seismic force by using the attribute [ 1 8 . 1 6 , 1 7 . 8 8 , 1 7 . 2 8 , 1 5 . 7 3 , 1 4 . 3 1 , 1 3 . 5 8 , 13 ,
Kh of the class SlopeStabl. This variable always decreases 3.61 , 3.61 , 3.32 , 2.71 , 2.23 , 1.21 , 0.25]])
slope = NaturalSlope ( t e r r a i n C o o r d s )
the FS due to it is a destabilizing force and produces negative bim = BlocksInMatrix ( slopeCoords = slope . coords ,
moments in most of the slices depending on the position of blockProp = 0 . 2 5 , t i l e S i z e = 0 . 7 5 ,
seed =487667068)
the rotation point. wtDepths = ar ray ( [ [ 0 , 5 , 10 , 1 5 ] , [ 8 , 7 , 3 , 0 ] ] )
• External loads can be applied to the slope surface even at watertable = WaterTable ( slopeCoords = slope . coords ,
watertabDepths=wtDepths ,
any angle by using the method setExtLoads of the class smoothFactor =3)
Slices. p r e f e r r e d P a t h = C i r c u l a r S u r f a c e ( slopeCoords = slope . coords ,
d i s t 1 =5 , d i s t 2 = 1 5 . 5 ,
r a d i u s =15)
s u r f a c e = TortuousSurface (
3. Illustrative examples bim , d i s t 1 =4 , d i s t 2 = 1 5 . 5 , h e u r i s t i c = ’ euclidean ’ ,
r e v e r s e L e f t = F a l s e , reverseUp=True , smoothFactor =2 ,
p r e f e r r e d P a t h = p r e f e r r e d P a t h . coords , p r e f P a t h F a c t =2)
We present two examples demonstrating the capabilities of m a t e r i a l = MaterialParameters (
cohesion =15 , f r i c t A n g l e =23 , unitWeight =17 ,
pyBIMstab. The first sample has a slope of homogeneous material blocksUnitWeight =21 , wtUnitWeight = 9 . 8 )
and a circularly-shaped surface. The second example, is a complex s l i c e s = S l i c e s ( m a t e r i a l = material , s l i p S u r f C o o r d s = s u r f a c e . coords ,
slopeCoords = slope . coords , numSlices =10 ,
example, in which the tortuosity of failure surface is taken into watertabCoords= watertable . coords , bim=bim )
account for a bimsoil\bimrock material that composes the slope. s l i c e s . r o t a t i o n P t = p r e f e r r e d P a t h . center
s t a b A n a l y s i s = S l o p e S t a b l ( s l i c e s , seedFS =1 , Kh=0 , i n t e r S l c F u n c =1 ,
nLambda=30 , maxLambda= 0 . 7 , minLambda=−1)
f i g = stabAnalysis1 . plot ( )
3.1. Example 1

The script in Listing 1 illustrates the simplest slope analysis that 4. Impact and discussion
can be performed with pyBIMstab and Fig. 2 shows the outcome
of the analysis. In this example, the geological and geotechnical pyBIMstab can be used to study several kinds of slope stability
models refer to a homogeneous material of a slope; therefore, the scenarios in 2D including geomaterials composed of a mixture of
slip surface has a traditional circular shape. rock blocks in soil matrix, e.g., the variation in the FS for different
block proportions or different block-matrix density ratios.
Listing 1: Example of the simplest usage of pyBIMstab. Finding the critical slip surface (CSS) is the objective of slope
Lengths: ft, unit weights: pcf, cohesion: psf and friction angle: degrees.
stability analysis in engineering projects. This capability is a po-
tential improvement of pyBIMstab. For instance, in Ref. [16], an
# Example Case 1 F i g . 9 ( F red lu nd & Krahn , 1977)
from pybimstab . slope import AnthropicSlope iterative algorithm is implemented to determine the CSS of simple
from pybimstab . s l i p s u r f a c e import C i r c u l a r S u r f a c e slopes by choosing pairs of random points at the abscissas which
from pybimstab . s l i c e s import MaterialParameters , S l i c e s
from pybimstab . s l o p e s t a b l import S l o p e S t a b l are projected vertically to the slope surface, then, a circle is geo-
slope = AnthropicSlope ( slopeHeight =40 , slopeDip = [ 2 , 1 ] , metrically defined with a radius that is increased from a minimum
crownDist =60 , t o e D i s t =30 , depth =20)
s u r f a c e = C i r c u l a r S u r f a c e ( slopeCoords = slope . coords , d i s t 1 =45.84 , to a maximum length defined by the user.
d i s t 2 =158.73 , r a d i u s =80) pyBIMstab is able to define the bimsoil\bimrock by mean of the
m a t e r i a l = MaterialParameters ( cohesion =600 , f r i c t A n g l e =20 ,
unitWeight =120 , class BlocksInMatrix of the module bim.py. The blocks can be
wtUnitWeight = 6 2 . 4 ) randomly generated only with square shapes as was shown in the
s l i c e s = S l i c e s ( m a t e r i a l = material ,
s l i p S u r f C o o r d s = s u r f a c e . coords ,
illustrative examples. Nevertheless, the geological-geotechnical
slopeCoords = slope . coords , numSlices =50 , model of the slope can be improved as the blocks may have other
watertabCoords=None , bim=None )
s t a b A n a l y s i s = S l o p e S t a b l ( s l i c e s , seedFS =1 , Kh=0 ,
shapes, especially rounded when they have suffered transporta-
i n t e r S l c F u n c =1 , tion or weathering processes. pc4BIMS is an application software
minLambda=0 , maxLambda= 0 . 6 )
f i g = stabAnalysis . plot ( )
presented in Ref. [17] that is able to pack circles inside irregular
and closed polygons, such as the boundary of a slope. Taken
Example 1 was taken from [9] where the FS value was deter- into account the foregoing, pc4BIMS can be used to improve the
mined to be fs = 2.076. A different algorithm for computing the FS generation of blocks of a bimsoil\bimrock with circular shapes as
using the Morgenstern & Price method obtained fs = 2.075 [15]. is shown in Fig. 4.
pyBIMstab gives a value of fs = 2.072 that is consistent with the Since the internal distribution of blocks is never known, after
two measurements and it is a good way to validate the software. several random generations of blocks with a specific shape and
block proportion given, it is possible to statistically determine
the stability of a slope consisting of bimsoil\bimrock. That could
3.2. Example 2 be possible after integrating pc4BIMS and pyBIMstab in a single
program.
The script in Listing 2 illustrates a complex slope analysis that
can be performed with pyBIMstab. Fig. 3 shows the outcome of this 4.1. Software limitations
analysis. In this example, the geological and geotechnical models
are representing a slope consisting of a simplified bimsoil\bimrock Although pyBIMstab is useful for its several functionalities, is
material; therefore, the slip surface has a tortuous shape. also important to present its limitations:
386 E.A. Montoya-Araque and L.O. Suarez-Burgoa / SoftwareX 7 (2018) 383–387

Fig. 2. Outcome of Example 1. Left side shows the convergence plot of the GLE method and the right side shows the scheme of a homogeneous slope and the sliding mass
divided into slices in red. Slope dimensions in feet. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)

Fig. 3. Outcome of Example 2. Left side shows the convergence plot of the GLE method and the right side shows the scheme of slope consisting of bimsoil\bimrock and
the sliding mass divided into slices in red. Slope dimensions in meters. (For interpretation of the references to color in this figure legend, the reader is referred to the web
version of this article.)

• There is no control over the coherence of the parameter units.


• There is no graphic user interface to interact with the appli-
cation software. All the variables must be input by mean of
scripts or inline commands.
• The geometry framework was developed such that the failure
direction can only be from left to right.
• Although the path-finding algorithm is computationally opti-
mum, it will require more time as long as the cells represent-
ing the bimsoil\bimrock are smaller.
• The matrix strength is considered homogeneous, it means, no
layers with different properties are allowed unless the source
code is edited.
Fig. 4. Slope consisting of a block-in-matrix material where circles represent ran-
domly generated blocks. • The greatest constraint of pyBIMstab is the natural possibility
of GLE method not to converge to a solution due to the
irregular shape of a tortuous surface. Indeed, most the cases
are not possible to use it, and the user must settle with
E.A. Montoya-Araque and L.O. Suarez-Burgoa / SoftwareX 7 (2018) 383–387 387

Fig. 5. Non-convergence of GLE method. Block prop.: 40 %. Left side shows the convergence plot of the GLE method which in this case has no common solution for moments
and forces equilibrium. Right side shows the scheme of slope consisting of bimsoil\bimrock and the sliding mass divided into slices in red. Slope dimensions in meters.

Bishop simplified, Janbu simplified or Fellenius methods. References


The non-convergence of GLE manifests itself with the two
lines of fs of moments and forces vs. λ that never cross [1] Medley E. The engineering characterization of melanges and similar block-
in-matrix rocks (bimrocks) [Ph.D. thesis], Berkeley, California: University of
each other as is shown in Fig. 5. After several observations,
Californa at Berkeley; 1994.
a tendency that explains the non-convergence is related [2] Lindquist E. The strength and deformation properties of melange [Ph.D. the-
to the trend of fm line to be parallel to ff for high values sis], Berkeley, California: University of Californa at Berkeley; 1994.
of λ. [3] Medley EW, Sanz PF. Characterization of bimrocks (rock/soil mixtures) with
application to slope stability problems. In: Proceedings: EUROCK 2004 & 53rd
geomechanics colloquy. Salzburg, Austria; 2004.
5. Conclusions [4] Medley E. Orderly characterization of chaotic Franciscan melanges. Felsbau
Rock Soil Eng J Eng Geol Geomech Tunnel 2001;19(4):35–43.
An open-source Python package was developed and presented. [5] Irfan TY, Tang KY. Effect of the coarse fraction on the shear strength of col-
The application software is named pyBIMstab and uses the general luvium. GEO Report No. 23 SPR 15/92, Hong Kong: Geotechnical Engineering
Office, Civil Engineering Department; 1993.
limit equilibrium (GLE) method that satisfies the equilibrium of
[6] Guerra C, Pinzón J. Modelación numérica multiescala de bimrocks para el
forces and moments for evaluating the FS against sliding of slopes análisis de estabilidad de taludes [Master’s thesis], Bogotá, Colombia: Pon-
consisting of either blocks-in-matrix or homogeneous materials. tificia Universidad Javeriana; 2015.
In addition, the problem of tracing tortuous slip surfaces by hand [7] Hart P, Nilsson N, Raphael B. A formal basis for the heuristic determination of
and its subjectivity is solved with the implementation of the A∗ minimum cost path. IEEE Trans Syst Sci Cybern 1968;ssc-4(2):100–7.
[8] Minuto D, Morandi L. Geotechnical characterization and slope stability of a
algorithm. relict landslide in bimsoils (blocks in matrix soils) in downtown Genoa, Italy.
pyBIMstab can be used to develop new research around the In: Engineering geology for society and territory. Landslide processes, vol. 2,
bimsoil\bimrock or in the practice of slope stability in geotechnical Springer International Publishing; 2015, p. 1083–8.
engineering. After some improvements related to the generation [9] Fredlund DG, Krahn J. Comparison of slope stability methods of analysis. Can
Geotech J 1977;14(3):429–39.
of blocks, it can become a tool to define statistically the stability
[10] Morgenstern NR, Price VE. The analysis of the stability of general slip surfaces.
of slopes consisting of bimsoil\bimrock instead of deterministic Géotechnique 1965;15(1):79–93.
approaches. [11] Spencer E. A method of analysis of the stability of embankments assuming
parallel inter-slice forces. Géotechnique 1967;17(1):11–26.
Acknowledgments [12] Fellenius W. Calculation of the stability of earth dams. In: ICOLD, editor.
Transactions of the 2nd congress on large dams, vol. 4. Washington D.C.; 1936.
p. 445–59.
The authors thank Colciencias and Universidad Nacional de [13] Bishop A. The use of the slip circle in the stability analysis of slopes. Gèotech-
Colombia for allowing the economic resources and the facilities of nique 1955;5(1):7–17.
the Civil Engineering Department, where the current research was [14] Janbu N. Stability analysis of slopes with dimensionless parameters. [Ph.D.
thesis], Cambridge, Massachusetts: Harvard University; 1954.
done in the frame of the ‘‘young researchers’’ program.
[15] Zhu DY, Lee CF, Qian QH, Chen GR. A concise algorithm for computing the
factor of safety using the Morgenstern–Price method. IEEE Trans Syst Sci
Declaration of interest Cybern 2005;42:272–8.
[16] Suárez-Burgoa LO, Montoya EA. Programa en código abierto para el análisis
No conflicts of interest. bidimensional de estabilidad de taludes por el método de equilibrio lámite.
Rev Fac Cienc 2016;5(2):88–104.
[17] Ariza-Triana A, Suarez-Burgoa LO. pc4bims : Pack Circles for BIMS; 2018,
online at https://github.com/aarizat/pc4bims.

View publication stats

Vous aimerez peut-être aussi