11. Geotechnical stability¶
This chapter includes the implemented geotechnical equations. These computations
are automatically executed by the design classes when a Soil
is
specified. For the Caisson
class the brinch_hansen()
method
is used to compute the bearing capacity of the soil. In RockRubbleMound
and ConcreteRubbleMound
a slip circle analysis is performed with
Bishop
. The required length of the scour protection is computed
for all design classes.
11.1. Define Soil¶
-
class
breakwater.core.soil.
Soil
(c, phi, gamma=None, rho=None, n=None)[source]¶ Define soil
Define the subsoil on which the breakwater is constructed. This class is used in the design classes for making the appropriate geotechnical computations.
Note
It is currently not possible to use several soil layers in the design classes. The soil must therefore be a homogeneous soil.
Parameters: - c (float) – cohesion of the soil [kPa]
- phi (float) – internal friction angle [degrees]
- gamma (float, optional, default: None) – volumetric weight of the soil [kN/m³]
- rho (float, optional, default: None) – the density of the soil [kg/m³]
- n (float, optional, default: None) – porosity of the soil
-
c
¶ cohesion of the soil [kPa]
Type: float
-
phi
¶ internal friction angle [rad]
Type: float
-
gamma
¶ volumetric weight of the soil [kN/m³]
Type: float
-
gamma_sat
¶ saturated volumetric weight of the soil [kN/m³]
Type: float
-
n
¶ porosity of the soil
Type: float, optional, default: None
-
brinch_hansen
(p, t, B, L, q, rho_w=None, sat=True)[source]¶ Brinch-Hansen
implementation of the Brinch Hansen equation to determine the bearing capacity of the soil per unit length. The equation is given by (Brinch Hansen, 1970):
\[p=i_{c} s_{c} c N_{c}+i_{q} s_{q} q N_{q}+i_{\gamma} s_{\gamma} \frac{1}{2} \gamma B N_{\gamma}\]In which \(i\) and \(s\) are the inclination and shape factor, and \(N\) are dimensionless constants. Note that compared to the original equation the depth, base and ground inclination factors have been omitted. The latter two because the assumption is made that the foundation is never constructed at an angle, and the depth factor because the foundation is not placed in the soil but on top of the bottom.
Parameters: - t (float) – horizontal stress [kPa]
- p (float) – vertical stress [kPa]
- q (float) – overburden [kPa]
- B (float) – width of the structure [m]
- L (float) – length of the structure [m], set to None if the structure is a long structure and the shape factors can be neglected.
- rho_w (float, optional, default: None) – density of water, by default the soil is not submerged [kg/m³]
- sat (bool, optional, default: True) – True if the saturated volumetric weight of the soil must be used, False if the dry volumetric weight of the soil must be used.
Returns: p (float) – bearing capacity of the foundation [kPa]
-
saturated_weight
(gamma_sat=None, rho_w=None)[source]¶ Method to add the saturated weight
Method to add the properties of the soil if it is saturated. The saturated soil properties can be added by setting gamma_sat or by specifing rho_w. In case of the latter the saturated weight is computed with the porosity.
Parameters: - gamma_sat (float, optional, default: None) – saturated volumetric weight of the soil [kN/m³]
- rho_w (float, optional, default: None) – density of water [kg/m³]
Raises: InputError – if the porosity is not specified and the saturated volumetric weight is computed with rho_w
11.2. Slip Circle¶
-
class
breakwater.core.bishop.
Bishop
(point2, y_step=1, wlev=None, SlipCircle=None)[source]¶ Bishop slip circles
Class for the computation of the factor of safety against slip failure. This factor of safety is computed with the following equation (Verruijt, 2012):
\[F=\frac{\sum \frac{c+(\gamma h-p) \tan \phi}{\cos \alpha( 1+\tan \alpha \tan \phi / F)}}{\sum \gamma h \sin \alpha}\]The top of the soil is defined by one point, point2, see the Figure. All slip circles must go through (0,0) and point2, this means that if a custom slip circle is defined this circle must go through both points. If a custom slip circle is not given, slip circles are automatically generated. These circles are generated with an interval of
y_step
.Parameters: - point2 (tuple) – x and y coordinate of point2
- y_step (float, optional, default: 1) – step size of the y coordinate for generating circles, used if a custom circle is not defined
- wlev (float, optional, defautl: None) – y coordinate of the water level, by default the water level is None, which means that there is no water
- SlipCircle (
SlipCircle
) – user defined custom slip circle, circle must be defined withSlipCircle
-
x2, y2
x and y coordinate of point2
Type: float
-
wlev
¶ y coordinate of the water level
Type: float
-
circles
¶ dictionary with the centre and radius of the circle. Slices are added to the dict when generated during the computation.
Type: dict
-
layers
¶ dictionary with the defined layers
Type: dict
-
normative
¶ id of the normative
SlipCircle
Type: int
-
add_layer
(gamma, c, phi, name, ymin=None, ymax=None, gamma_sat=None)[source]¶ Add layer to the soil
Add a soil layer for the computation. In case of a homogeneous soil the arguments
ymin
andymax
do not have to be specified. However, if the soil consists of several layers these parameters must be given for each layer.Warning
soil layers must be added sequentially from the lowest layer to the highest layer.
Parameters: - gamma (float) – volumetric weight of the material [kN/m³]
- c (float) – cohesion of the material [kPa]
- phi (float) – internal friction angle [deg]
- name (str) – name of the layer
- ymin (float, optional, default: None) – y coordinate of the start of the layer, required if more than 1 layer is added
- ymax (float, optional, default: None) – y coordinate of the end of the layer, required if more than 1 layer is added
- gamma_sat (float, optional, default: None) – saturated volumetric weight of the material [kN/m³]. Only
required if a
wlev
is specified.
Raises: InputError – if more than 1 layer is specified and ymin and/or ymax has not been specified or gamma_sat is not given when a wlev has been specified
-
compute
(num_slices, max_iter=50, ftol=0.05, gamma_w=None)[source]¶ Compute the factor of safety
Method to compute the factor of safety for all generated circles, or the specified circle. Updates
normative
with the id of the normative slip circle, i.e. the slip circle with the lowest factor of safety.Parameters: - num_slices (int) – number of slices
- max_iter (int, optional, default: 50) – maximum number of iterations
- ftol (float, optional, default: 0.05) – break criterium, when the change between the previous and the current factor of safety is below the change the iteration is ended
- gamma_w (float, optional, default: None) – volumetric weight of water [kN/m³]
-
plot
(id=None, show_slices=False)[source]¶ Plot slip circle(s)
Method to plot the slip circle(s)
Parameters: - id (int, optional, default: None) – id of the slip circle to plot, by default all slip circles are plotted
- show_slices (bool, optional, default: False) – if the slices must be shown, only available after the computation as the slices are not generated before the computation. The default value is False, meaning that the slices will not be plotted.
-
class
breakwater.core.bishop.
SlipCircle
(centre, r)[source]¶ Define a slip circle
Define a custom slip circle to use in
Bishop
Parameters: - centre (tuple) – x and y coordinate of the centre of the circle
- r (float) – radius of the circle
-
xy
¶ x and y coordinate of the centre of the circle
Type: tuple
-
r
¶ radius of the circle
Type: float
-
F
¶ computed factor of safety
Type: float
-
slices
¶ dictionary with the coordinates, height and slip angle of the slices
Type: dict
-
make_slices
(num_slices, point2, layers)[source]¶ Make slices
Method to divide the given circle into slices
Parameters: - num_slices (int) – number of slices
- circle (dict) – dictionary with the centre and radius of the circle
- layers (dict) – dictionary with the layers
-
plot
(show_slices=False)[source]¶ Plot the circle
Parameters: show_slices (bool, optional, default: False) – if the slices must be shown, only available after the computation as the slices are not generated before the computation. The default value is False, meaning that the slices will not be plotted.
11.3. Scour¶
-
breakwater.core.scour.
scour_protection
(L, slope=None)[source]¶ Compute the length of the scour protection
Compute the estimated length of the scour hole with Sumer and Fredsoe (2000). In the table the estimated length of the scour hole from the experimental study is presented.
slope of the breakwater estimated length Vertical breakwater 1.0(L/4) 1:1.2 0.6(L/4) 1:1.75 0.4(L/4) Parameters: - L (float) – wave length at the toe of the structure, computed with the mean wave period [m]
- slope (float, optional, default: None) – Slope of the armour layer (V, H), for example a slope of 3V:4H is defined as (3, 4). By default the length of the scour protection for a vertical breakwater is computed.
Returns: float – the required length of the scour protection