Académique Documents
Professionnel Documents
Culture Documents
net/publication/329216020
CITATION READS
1 29
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Exneyder A. Montoya-Araque on 08 January 2019.
SoftwareX
journal homepage: www.elsevier.com/locate/softx
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
• 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.)
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.