Geotechnic utils

Soil with friction and cohesion

class geotechnics.frictional_cohesional_soil.FrictionalCohesionalSoil(phi, c, rho=2100.0, gammaMPhi=1.0, gammaMc=1.0)

Bases: geotechnics.frictional_soil.FrictionalSoil

Soil with friction and cohesion

Variables:c – soil cohesion
Ka_bell(sg_v, a, b, d=0.0)

Return the active earth pressure coefficient according to Bell’s relationship.

Parameters:
  • sg_v – vertical stress.
  • a – angle of the back of the retaining wall (radians).
  • b – slope of the backfill (radians).
  • d – friction angle between soil an back of retaining wall (radians).
Kp_bell(sg_v, a, b, d=0.0)

Return the passive earth pressure coefficient according to Bell’s relationship.

Parameters:
  • sg_v – vertical stress.
  • a – angle of the back of the retaining wall (radians).
  • b – slope of the backfill (radians).
  • d – friction angle between soil an back of retaining wall (radians).
Nc()

Returns the cohesion multiplier for the Brinch-Hasen formula.

Ngamma(NgammaCoef=1.5)

Returns the wedge weight multiplier for the Brinch-Hasen formula.

Parameters:NgammaCoef – 1.5 in reference [1], 1.8 in reference 2 and 2 in reference 3
Nq()

Returns the overburden multiplier for the Brinch-Hasen formula.

dc(D, Beff)

Depth factor for cohesion.

Parameters:
  • D – foundation depth.
  • Beff – Width of the effective foundation area (see figure 12 in page 44 of reference[2]).
dgamma()

Factor that introduces the effect of foundation depth on the self weight component.

dq(D, Beff)

Overburden factor for foundation depth.

Parameters:
  • D – foundation depth.
  • Beff – Width of the effective foundation area (see figure 12 in page 44 of reference[2]).
ea_coulomb(sg_v, a, b, d=0.0)

Return the lateral earth active pressure.

Parameters:
  • sg_v – vertical stress.
  • a – angle of the back of the retaining wall (radians).
  • b – slope of the backfill (radians).
  • d – friction angle between soil an back of retaining wall (radians). See Jiménez Salas, Geotecnia y Cimientos page 682 and Bell’s relationship.
eah_coulomb(sg_v, a, b, d)

Return the horizontal component of the lateral earth active pressure.

Parameters:
  • sg_v – vertical stress.
  • a – angle of the back of the retaining wall (radians).
  • b – slope of the backfill (radians).
  • d – friction angle between soil an back of retaining wall (radians).
eav_coulomb(sg_v, a, b, d)

Return the vertical component of the active earth pressure coefficient according to Coulomb’s theory.

Parameters:
  • sg_v – vertical stress.
  • a – angle of the back of the retaining wall (radians).
  • b – slope of the backfill (radians).
  • fi – internal friction angle of the soil (radians).
  • d – friction angle between soil an back of retaining wall (radians).
ep_coulomb(sg_v, a, b, d=0.0)

Return the lateral earth passive pressure.

Parameters:
  • sg_v – vertical stress.
  • a – angle of the back of the retaining wall (radians).
  • b – slope of the backfill (radians).
  • d – friction angle between soil an back of retaining wall (radians). See Jiménez Salas, Geotecnia y Cimientos page 682 and Bell’s relationship.
eph_coulomb(sg_v, a, b, d)

Return the horizontal component of the lateral earth passive pressure.

Parameters:
  • sg_v – vertical stress.
  • a – angle of the back of the retaining wall (radians).
  • b – slope of the backfill (radians).
  • d – friction angle between soil an back of retaining wall (radians).
epv_coulomb(sg_v, a, b, d)

Return the vertical component of the passive earth pressure according to Coulomb’s theory.

Parameters:
  • sg_v – vertical stress.
  • a – angle of the back of the retaining wall (radians).
  • b – slope of the backfill (radians).
  • fi – internal friction angle of the soil (radians).
  • d – friction angle between soil an back of retaining wall (radians).
eq_bell(p, a, b, d)

eq_bell(p,a,b,d): Return the lateral earth pressure caused by a uniform load q action over the backfill surface according to Coulomb’s theory.

Parameters:
  • a – angle of the back of the retaining wall (radians).
  • b – slope of the backfill (radians).
  • d – friction angle between soil an back of retaining wall (radians).
  • q – Uniform load.
getDesignC()

Return the design value of the soil cohesion.

ic(deltaB, deltaL, Hload, Beff, Leff)
Factor that introduces the effect of load inclination on
the cohesion component.
Parameters:
  • deltaB – angle between the load and the foundation width atan(HloadB/VLoad).
  • deltaL – angle between the load and the foundation length atan(HloadL/VLoad).
  • Hload – Horizontal load.
  • Beff – Width of the effective foundation area (see figure 12 in page 44 of reference[2]).
  • Leff – Length of the effective foundation area (see figure 12 in page 44 of reference[2]).
igamma(deltaB, deltaL)
Factor that introduces the effect of load inclination on
the self weight component.
Parameters:
  • deltaB – angle between the load and the foundation width atan(HloadB/VLoad).
  • deltaL – angle between the load and the foundation length atan(HloadL/VLoad).
iq(deltaB, deltaL)
Factor that introduces the effect of load inclination on
the overburden component.
Parameters:
  • deltaB – angle between the load and the foundation width atan(HloadB/VLoad).
  • deltaL – angle between the load and the foundation length atan(HloadL/VLoad).
qu(q, D, Beff, Leff, Vload, HloadB, HloadL, NgammaCoef=1.5, psi=0.0, eta=0.0)

Ultimate bearing capacity pressure of the soil.

Parameters:
  • D – foundation depth.
  • Beff – Width of the effective foundation area (see figure 12 in page 44 of reference[2]).
  • Leff – Length of the effective foundation area (see figure 12 in page 44 of reference[2]).
  • Vload – Vertical load (positive downwards).
  • HloadB – Horizontal load on Beff direction.
  • HloadL – Horizontal load on Leff direction.
  • NgammaCoef – 1.5 in reference [1], 1.8 in reference 2 and 2 in reference 3
  • psi – angle of the line on wich the q load acts (see figure 4.7 in page 102 of reference [3]) must be determined by iterations.
quCohesion(D, Beff, Leff, Vload, HloadB, HloadL, psi=0.0, eta=0.0)

Cohesion “component” of the ultimate bearing capacity pressure of the soil.

Parameters:
  • D – foundation depth.
  • Beff – Width of the effective foundation area (see figure 12 in page 44 of reference[2]).
  • Leff – Length of the effective foundation area (see figure 12 in page 44 of reference[2]).
  • Vload – Vertical load.
  • HloadB – Horizontal load on Beff direction.
  • HloadL – Horizontal load on Leff direction.
  • NgammaCoef – 1.5 in reference [1], 1.8 in reference 2 and 2 in reference 3
  • psi – angle of the line on wich the q load acts (see figure 4.7 in page 102 of reference [3]) must be determined by iterations.
quGamma(D, Beff, Leff, Vload, HloadB, HloadL, NgammaCoef=1.5, psi=0.0, eta=0.0)
Gamma “component” of the ultimate bearing capacity pressure of
the soil.
Parameters:
  • D – foundation depth.
  • Beff – Width of the effective foundation area (see figure 12 in page 44 of reference[2]).
  • Leff – Length of the effective foundation area (see figure 12 in page 44 of reference[2]).
  • Vload – Vertical load.
  • HloadB – Horizontal load on Beff direction.
  • HloadL – Horizontal load on Leff direction.
  • NgammaCoef – 1.5 in reference [1], 1.8 in reference 2 and 2 in reference 3
  • psi – angle of the line on wich the q load acts (see figure 4.7 in page 102 of reference [3]) must be determined by iterations.
quQ(q, D, Beff, Leff, Vload, HloadB, HloadL, psi=0.0, eta=0.0)
Overburden “component of the ultimate bearing capacity pressure
of the soil.
Parameters:
  • D – foundation depth.
  • Beff – Width of the effective foundation area (see figure 12 in page 44 of reference[2]).
  • Leff – Length of the effective foundation area (see figure 12 in page 44 of reference[2]).
  • Vload – Vertical load.
  • HloadB – Horizontal load on Beff direction.
  • HloadL – Horizontal load on Leff direction.
  • NgammaCoef – 1.5 in reference [1], 1.8 in reference 2 and 2 in reference 3
  • psi – angle of the line on wich the q load acts (see figure 4.7 in page 102 of reference [3]) must be determined by iterations.
rc(eta=0.0)

Factor that introduces the effect of sloped footing.

Parameters:eta – angle between the foundation plane with and the (see figure 4.8 in page 104 of reference [3]) favourable effect when eta<0.0.
rgamma(eta=0.0)

Factor that introduces the effect of sloped footing.

Parameters:eta – angle between the foundation plane with and the (see figure 4.8 in page 104 of reference [3]) favourable effect when eta<0.0.
rq(eta=0.0)

Factor that introduces the effect of sloped footing.

Parameters:eta – angle between the foundation plane with and the (see figure 4.8 in page 104 of reference [3]) favourable effect when eta<0.0.
sc(Beff, Leff)
Factor that introduces the effect of foundation shape on
the cohesion component.
Parameters:
  • Beff – Width of the effective foundation area (see figure 12 in page 44 of reference[2]).
  • Leff – Length of the effective foundation area (see figure 12 in page 44 of reference[2]).
sgamma(Beff, Leff)

Factor that introduces the effect of foundation shape on the self weight component.

Parameters:
  • Beff – Width of the effective foundation area (see figure 12 in page 44 of reference[2]).
  • Leff – Length of the effective foundation area (see figure 12 in page 44 of reference[2]).
sq(Beff, Leff)

Factor that introduces the effect of foundation shape on the overburden component.

Parameters:
  • Beff – Width of the effective foundation area (see figure 12 in page 44 of reference[2]).
  • Leff – Length of the effective foundation area (see figure 12 in page 44 of reference[2]).
tc(psi=0.0)

Factor that introduces the effect of the proximity of an slope.

Parameters:psi – angle of the line on wich the q load acts (see figure 4.7 in page 102 of reference [3]) must be determined by iterations.
tgamma(psi=0.0)

Factor that introduces the effect of the proximity of an slope.

Parameters:psi – angle of the line on wich the q load acts (see figure 4.7 in page 102 of reference [3]) must be determined by iterations.
tq(psi=0.0)

Factor that introduces the effect of the proximity of an slope.

Parameters:psi – angle of the line on wich the q load acts (see figure 4.7 in page 102 of reference [3]) must be determined by iterations.
class geotechnics.frictional_cohesional_soil.StratifiedSoil(hi, rhoi, phii, ci)

Bases: object

Soil with layers with different properties.

Soil with layers of different properties as described in 4.5.5.7 “Guía de cimentaciones en obras de carreteras” (https://books.google.ch/books?id=a0eoygAACAAJ) 2009

Variables:
  • hi – (float list) layer thicknesses.
  • rhoi – (float list) layer densities.
  • phii – (float list) layer internal friction angle.
  • ci – (float list) layer cohesions.
computeAffectedDepth(Beff)

Computes affected depth.

Args:
Beff:(float) width of the effective foundation area (see figure 12 in page 44 of reference[2]).
getAffectedHeights(affectedDepth)

Returns the layer at depths less than H.

getEquivalentC(affectedDepth)

Return equivalent cohesion.

getEquivalentPhi(affectedDepth)

Return equivalent cohesion.

getEquivalentRho(affectedDepth)

Return equivalent density.

getEquivalentSoil(Beff, gMPhi, gMc)

Computes affected depth.

Args:
Beff:(float) width of the effective foundation area (see figure 12 in page 44 of reference[2]).
gammaMPhi:(float) partial reduction factor for internal friction angle of the soil.
gammaMc:(float) partial reduction factor for soil cohesion.

Frictional soil

frictional_soil.py: frictional (or cohesionless) soil model.

class geotechnics.frictional_soil.FrictionalSoil(phi: float, rho=2100.0, gammaMPhi=1.0)

Bases: object

Free-running type of soil, such as sand or gravel, whose strength depends on friction between particles.

Variables:
  • phi – internal friction angle of the soil
  • rho – soil density (mass per unit volume)
K0Jaky()

Returns Jaky’s earth pressure at rest.

Ka()

Active earth pressure coefficient.

Ka_coulomb(a, b, d=0.0)

Return the active earth pressure coefficient according to Coulomb’s theory.

Parameters:
  • a – angle of the back of the retaining wall (radians).
  • b – slope of the backfill (radians).
  • d – friction angle between soil an back of retaining wall (radians). See Recomendaciones para obras marítimas ROM 0.5-05 page 315
Kah_coulomb(a, b, d)

Return the horizontal component of the active earth pressure coefficient according to Coulomb’s theory.

Parameters:
  • a – angle of the back of the retaining wall (radians).
  • b – slope of the backfill (radians).
  • d – friction angle between soil an back of retaining wall (radians).
Kav_coulomb(a, b, d)

Return the vertical component of the active earth pressure coefficient according to Coulomb’s theory.

Parameters:
  • a – angle of the back of the retaining wall (radians).
  • b – slope of the backfill (radians).
  • fi – internal friction angle of the soil (radians).
  • d – friction angle between soil an back of retaining wall (radians).
Kp()

Passive earth pressure coefficient.

Kp_coulomb(a, b, d=0.0)

Return the passive earth pressure coefficient according to Coulomb’s theory.

Parameters:
  • a – angle of the back of the retaining wall (radians).
  • b – slope of the backfill (radians).
  • d – friction angle between soil an back of retaining wall (radians).
eq_coulomb(a, b, d, p)

eq_coulomb(a,b,d,p): Return the lateral earth pressure caused by a uniform load q action over the backfill surface according to Coulomb’s theory.

Parameters:
  • a – angle of the back of the retaining wall (radians).
  • b – slope of the backfill (radians).
  • d – friction angle between soil an back of retaining wall (radians).
  • p – Uniform load.
gamma()

Unit weight of soil

getDesignC()

Return the design value of the soil cohesion.

getDesignPhi()

Return the design value of the soil internal friction angle.

getMononobeOkabeDryOverpressure(H, kv, kh, psi=1.5707963267948966, delta_ad=0.0, beta=0.0, Kas=None, g=9.81)

Overpressure due to seismic action according to Mononobe-Okabe

Args: :H: height of the structure. :kv: seismic coefficient of vertical acceleration. :kh: seismic coefficient of horizontal acceleration. :psi: back face inclination of the structure (< PI/2) :beta: slope inclination of backfill. :delta_ad: angle of friction soil - structure. :Kas: static earth pressure coefficient

Earth pressure

class geotechnics.earth_pressure.RankineSoil(phi, beta=0.0, rho=2100.0)

Bases: geotechnics.frictional_soil.FrictionalSoil

From Wikipedia: Rankine’s theory, developed in 1857, is a stress field solution that predicts active and passive earth pressure. It assumes that the soil is cohesionless, the wall is frictionless, the soil-wall interface is vertical, the failure surface on which the soil moves is planar, and the resultant force is angled parallel to the backfill surface. The equations for active and passive lateral earth pressure coefficients are given below. Note that φ is the angle of shearing resistance of the soil and the backfill is inclined at angle β to the horizontal.

Variables:
  • phi – internal friction angle of the soil
  • beta – angle of backfill with horizontal
Ka()

Returns Rankine’s active earth pressure coefficient.

Kp()

Returns Rankine’s passive earth pressure coefficient.

geotechnics.earth_pressure.eq_coulomb(a, b, fi, d, p)

Return the lateral earth pressure caused by a uniform load q action over the backfill surface according to Coulomb’s theory.

Parameters:
  • a – angle of the back of the retaining wall (radians).
  • b – slope of the backfill (radians).
  • fi – internal friction angle of the soil (radians).
  • d – friction angle between soil an back of retaining wall (radians).
  • q – Uniform load.
geotechnics.earth_pressure.eql_coulomb(x, H, z, ql)

Return the earth pressure due to a linear load ql acting on a line parallel to the top of the wall on the surface of the retained backfill.

Parameters:
  • x – Distance from the top of the back and the linea where the load is applied.
  • H – Depth of the bottom end of the wall back.
  • z – depth of the point for which the pressure is computed.
  • l – value of the linear load.
geotechnics.earth_pressure.eqp_coulomb(x, H, z, qp)

Return the earth pressure resulting from a vertical point load qp acting behind a retaining wall and is contained in the same vertical plane of the wall section.

Parameters:
  • x – Distance from the top of the trasdós to the point of application of the load.
  • H – Profundidad del extremo inferior del trasdós.
  • z – depth of the point for which the pressure is computed.
  • qp – punctual load
geotechnics.earth_pressure.k_janssen(k, d, B, z)

Lateral earth pressure coefficient for limited backfills according to Janssen’s Theory (1895) and Kniss et Al (2007):

Parameters:
  • k – lateral earth pressure (usually k= K_0).
  • d – friction angle between soil an back of retaining wall (radians).
  • B – width of the backfill (radians).
  • z – depth from top of wall.
geotechnics.earth_pressure.ka_coulomb(a, b, fi, d)

Return the active earth pressure coefficient according to Coulomb theory.

Parameters:
  • a – angle of the back of the retaining wall (radians).
  • b – slope of the backfill (radians).
  • fi – internal friction angle of the soil (radians).
  • d – friction angle between soil an back of retaining wall (radians).See Jiménez Salas, Geotecnia y Cimientos page 682.
geotechnics.earth_pressure.kah_coulomb(a, b, fi, d)

Return the horizontal component of the active earth pressure coefficient according to Coulomb’s theory.

Parameters:
  • a – angle of the back of the retaining wall (radians).
  • b – slope of the backfill (radians).
  • fi – internal friction angle of the soil (radians).
  • d – friction angle between soil an back of retaining wall (radians).
geotechnics.earth_pressure.kav_coulomb(a, b, fi, d)

Return the vertical component of the active earth pressure coefficient according to Coulomb’s theory.

Parameters:
  • a – angle of the back of the retaining wall (radians).
  • b – slope of the backfill (radians).
  • fi – internal friction angle of the soil (radians).
  • d – friction angle between soil an back of retaining wall (radians).
geotechnics.earth_pressure.kp_coulomb(a, b, fi, d)

Return the passive earth pressure coefficient according to Coulomb’s theory.

Parameters:
  • a – angle of the back of the retaining wall (radians).
  • b – slope of the backfill (radians).
  • fi – internal friction angle of the soil (radians).
  • d – friction angle between soil an back of retaining wall (radians).

Mononobe okabe

geotechnics.mononobe_okabe.active_earth_pressure_coefficient_Kad(psi, phi, theta, delta_ad, beta)

Return the active earth pressure coefficient according to Mononobe-Okabe.

Parameters:
  • psi – back face inclination of the structure (< PI/2)ç
  • phi – angle of internal friction of soil.
  • theta – angle of weight with vertical: - kv= seismic coefficient of vertical acceleration. - kh= seismic coefficient of horizontal acceleration. - tan(theta)= kh/(1+kv) AND tan(theta)= kh/(1-kv)
  • delta_ad – angle of friction soil - structure.
  • beta – slope inclination of terrain.
geotechnics.mononobe_okabe.overpressure_dry(H, gamma_soil, kv, kh, psi, phi, delta_ad, beta, Kas)

Overpressure due to seismic action according to Mononobe-Okabe

Parameters:
  • H – height of the structure.
  • gamma_soil – unit weight of soil (backfill)
  • kv – seismic coefficient of vertical acceleration.
  • kh – seismic coefficient of horizontal acceleration.
  • psi – back face inclination of the structure (<= PI/2)
  • phi – angle of internal friction of soil.
  • delta_ad – angle of friction soil - structure.
  • beta – slope inclination of backfill.
  • Kas – static earth pressure coefficient

Settlement

geotechnics.settlement.average_stress_increment_under_concentrated_load(P, x, y, z1, z2, zInc=0.2)

Return the average increment in the vertical stress of a the points between z1 and z2.

Parameters:
  • P – value of the load.
  • x – x-coordinate of the point relative to the loaded point.
  • y – y-coordinate of the point relative to the loaded point.
  • z1 – upper limit of the z-coordinate.
  • z2 – lower limit of the z-coordinate.
  • zInc – size of the discretization.
geotechnics.settlement.average_stress_increment_under_rectangular_loaded_area(q, B, L, x, y, z1, z2, eSize=0.1, zInc=0.2)

Return the average increment in the vertical stress of the points between z1 and z2 inside an homogeneous and elastic soil due to a load distributed on a rectangular area.

Parameters:
  • q – pressure on the loaded area.
  • B – dimension of the rectangular area in direction x.
  • L – dimension of the rectangular area in direction y.
  • x – x-coordinate of the point relative to the rectangle center.
  • y – y-coordinate of the point relative to the rectangle center.
  • z – z-coordinate of the point relative to the rectangle center.
  • z1 – upper limit of the z-coordinate.
  • z2 – lower limit of the z-coordinate.
  • zInc – size of the discretization.
geotechnics.settlement.stress_increment_under_concentrated_load(P, x, y, z)

Return the increment in the vertical stress of a point inside an homogeneous and elastic soil due to a load on the surface.

Parameters:
  • P – value of the load.
  • x – x-coordinate of the point relative to the loaded point.
  • y – y-coordinate of the point relative to the loaded point.
  • z – z-coordinate of the point relative to the loaded point.
geotechnics.settlement.stress_increment_under_rectangular_loaded_area(q, B, L, x, y, z, eSize=0.1)

Return the increment in the vertical stress of a point inside an homogeneous and elastic soil due to a load distributed on a rectangular area.

Parameters:
  • q – pressure on the loaded area.
  • B – dimension of the rectangular area in direction x.
  • L – dimension of the rectangular area in direction y.
  • eSize – length of the side for the discretization.
  • x – x-coordinate of the point relative to the rectangle center.
  • y – y-coordinate of the point relative to the rectangle center.
  • z – z-coordinate of the point relative to the rectangle center.