Earth pressure

Earth pressure models

Calculation of lateral earth pressures on vertical walls (retaining, basement, earth support system, …) exerced by a given back soil with or without water level

Calculation of lateral earth pressures on vertical walls (retaining, basement, earth support system, …) due to different kind of loads on the backfill.

class actions.earth_pressure.earth_pressure.EarthPressureBase(zGround, gammaSoil)

Bases: actions.earth_pressure.earth_pressure.PressureModelBase

Parameters to define a load of type earth pressure

Variables
  • zGround – global Z coordinate of ground level

  • gammaSoil – weight density of soil.

class actions.earth_pressure.earth_pressure.EarthPressureModel(zGround, zBottomSoils, KSoils, gammaSoils, zWater, gammaWater, qUnif=0)

Bases: actions.earth_pressure.earth_pressure.UniformPressureOnBackfill

Parameters to define a load of type earth pressure

Variables
  • gammaSoils – list of weight density for each soil (from top to bottom)

  • zWater – global Z coordinate of groundwater level (if zGroundwater<minimum z of model => there is no groundwater)

  • gammaWater – weight density of water

  • qUnif – uniform load over the backfill surface (defaults to 0)

getEffectivePressure(z)

Return the effective pressure acting on the points at global coordinate z.

Parameters

z – global z coordinate.

getEffectiveVerticalPressure(z)

Return the effective vertical pressure at the given z.

Parameters

z – global z coordinate.

getPressure(z)

Return the earth pressure acting on the points at global coordinate z.

Parameters

z – global z coordinate.

getVerticalPressure(z)

Return the vertical pressure at the given z.

Parameters

z – global z coordinate.

getWaterPressure(z)

Return the pressure of the water at the given z.

Parameters

z – global z coordinate.

class actions.earth_pressure.earth_pressure.EarthPressureSlopedBackfill(Ksoil, gammaSoil, zGroundPnt1, XYpnt1, zGroundPnt2, XYpnt2)

Bases: object

Earth pressure on a wall with sloped backfill. A single soil type with no water table.

Variables
  • Ksoil – pressure coefficient of the soil.

  • gammaSoil – weight density of the soil

  • zGroundPnt1 – global Z coordinate of ground level at point of coordinates XYpnt1

  • XYpnt1 – (x,y) coordinates of point 1

  • zGroundPnt2 – global Z coordinate of ground level at point of coordinates XYpnt2

  • XYpnt2 – (x,y) coordinates of point 2

appendLoadToCurrentLoadPattern(xcSet, vDir)
Append pressure on a set of elements to the current

load pattern.

Parameters
  • xcSet – set of elements to which apply the loads

  • vDir – unit xc vector defining pressures direction

getPressure(x, y, z)
class actions.earth_pressure.earth_pressure.HorizontalLoadOnBackfill(soilIntFi, qLoad, zLoad, distWall, widthLoadArea, lengthLoadArea=1, horDistrAngle=0)

Bases: actions.earth_pressure.earth_pressure.PressureModelBase

Lateral earth pressure on a retaining wall due to a surcharge load acting in horizontal direction on the backfill.

Variables
  • soilIntFi – agle of internal friction of the soil (º)

  • qLoad – surcharge load (force per unit length)

  • zLoad – global Z coordinate where the line load acts

  • distWall – minimal horizontal distance between the wall and the area where the surcharge load acts (e.g.: a foundation)

  • widthLoadArea – width (perperdicular to wall) of the area on which the horizontal load acts (e.g.: a foundation).

  • lengthLoadArea – length (normal to wall) of the area on which the horizontal load acts (e.g.: a foundation). We can take lengthLoadArea=1 (default) for a continous load

  • horDistrAngle – angle to distribute load in the direction of the lengthLoadArea (defaults to 0 to apply all the load to a length of wall =lengthLoadArea, which would be the case of a continous load)

appendLoadToCurrentLoadPattern(xcSet, vDir, iCoo=2, delta=0.0)

Append to the current load pattern the earth thrust on a set of elements due to the horizontal load.

Parameters
  • xcSet – set that contains the elements (shells and/or beams)

  • vDir – unit xc vector defining pressures direction

  • iCoo – index of the coordinate that represents depth.

  • delta – soil-wall friction angle (usually: delta= 2/3*Phi).

getMaxMagnitude()

Return the maximum magnitude of the vector loads

getPressure(z)

Return the earth pressure acting on the points at global coordinate z. :param z: global z coordinate.

setup()

Calculate basic parameters.

class actions.earth_pressure.earth_pressure.IskanderPressureDistribution(zGround, gammaSoil, H, kv, kh, psi, phi, beta, c)

Bases: actions.earth_pressure.earth_pressure.SeismicPressureDistribution

Overpressure due to seismic action according to Iskander et al.
(Active static and seismic earth pressure for c–φ soils Magued Iskander,

Zhibo (Chris) Chen , Mehdi Omidvar, Ivan Guzman, Omar Elsheri. Polytechnic Institute of New York University, USA)

Variables

c – cohesion

getPressure(z)

Return the earth pressure acting on the points at global coordinate z. :param z: global z coordinate.

update()
class actions.earth_pressure.earth_pressure.LineVerticalLoadOnBackfill(qLoad, zLoad, distWall)

Bases: actions.earth_pressure.earth_pressure.PressureModelBase

Lateral earth pressure on a retaining wall due to line surcharge load acting in vertical direction on the backfill. (J.Calavera, pg.41)

Variables
  • qLoad – surcharge load (force per unit length)

  • zLoad – global Z coordinate where the line load acts

  • distWall – horizontal distance between the wall and the line surcharge load

getMaxMagnitude(xcSet)

Return an estimation of the maximum magnitude of the vector loads (it’s supposed to occur in a point placed 1/3L from the top).

Parameters

xcSet – set containing the elements.

getPressure(z)

Return the earth pressure acting on the points at global coordinate z. :param z: global z coordinate.

class actions.earth_pressure.earth_pressure.MononobeOkabePressureDistribution(zGround, gammaSoil, H, kv, kh, psi, phi, delta_ad, beta, Kas, earthCover=0.0)

Bases: actions.earth_pressure.earth_pressure.SeismicPressureDistribution

Overpressure due to seismic action according to Mononobe-Okabe

Variables
  • delta_ad – angle of friction soil - structure.

  • Kas – static earth pressure coefficient.

:ivar

getPressure(z)

Return the earth pressure acting on the points at global coordinate z. :param z: global z coordinate.

update()
class actions.earth_pressure.earth_pressure.PeckPressureEnvelope(phi, zGround, gammaSoil, zWater, gammaWater, H)

Bases: actions.earth_pressure.earth_pressure.EarthPressureBase

Envelope of apparent lateral pressure diagrams for design

of cuts in sand. See 10.2 in the book “Principles of Foundation Engineering” from Braja M. Das.

Variables
  • H – height of the cut.

  • phi – effective friction angle of sand [radians].

getPressure(z)

Return the earth pressure acting on the points at global coordinate z.

getVerticalPressure(z)

Return the vertical pressure at the given z.

Parameters

z – global z coordinate.

class actions.earth_pressure.earth_pressure.PointVerticalLoadOnBackfill(xcSet, Qload, loadAppPnt, zBaseWall, distWall, vdir)

Bases: object

Lateral earth pressure on a retaining wall due to a point load acting in vertical direction on the backfill. (J.Calavera)

Variables
  • Qload – value of the point load

  • loadAppPnt – load application point (xc.Vector([x,y,z])

  • zBaseWall – global Z coordinate of the base of the wall

  • distWall – horizontal distance between the wall and the point load

  • vdir – xc unit vector prependicular to the wall pointing to its back (xc.Vector([ux,uy,0])

appendLoadToCurrentLoadPattern(xcSet, vDir)
Append earth thrust on a set of elements to the current

load pattern.

Parameters
  • xcSet – set that contains the elements (shells and/or beams)

  • vDir – unit xc vector defining pressures direction

getAngPsi(x, y)

Return the angle used to distribute pressures horizontally

getPressure(x, y, z)

Return the earth pressure acting on the point of the wall placed at global coordinates (x,y,z).

class actions.earth_pressure.earth_pressure.PressureModelBase

Bases: object

Base class for objects defining earth pressures.

appendLoadToCurrentLoadPattern(xcSet, vDir, iCoo=2, delta=0.0)

Append earth thrust on a set of elements to the current load pattern.

Parameters
  • xcSet – set that contains the elements (shells and/or beams)

  • vDir – unit xc vector defining pressures direction

  • iCoo – index of the coordinate that represents depth.

  • delta – soil-wall friction angle (usually: delta= 2/3*Phi).

appendVerticalLoadToCurrentLoadPattern(vLoad, xcSet, vDir, iXCoo=0, iZCoo=2, alph=0.5235987755982988)
Append to the current load pattern the vertical pressures on

a set of elements due to this load.

Parameters
  • vLoad – vertical load.

  • xcSet – set that contains the elements.

  • vDir – unit xc vector defining pressures direction.

  • iXCoo – index of the horizontal coordinate.

  • iZCoo – index of the vertical coordinate.

  • alph – angle of stress spreading.

getForces2D(segment2d, numDiv=10, beta=0.0)
Return the sliding vector system which is equivalent to the

pressures acting on the surface represented by the 2D segment argument.

Parameters
  • segment2d – two-dimensional segment that represents the surface under pressure.

  • numDiv – number of sample points along the segment.

  • beta – slope inclination of backfill.

getPressure(z)
Return the earth pressure acting on the points at global

coordinate z.

Parameters

z – global z coordinate.

getVerticalPressure(z)

Return the vertival pressure at the given z.

Parameters

z – global z coordinate.

class actions.earth_pressure.earth_pressure.SeismicPressureDistribution(zGround, gammaSoil, H, kv, kh, psi, phi, beta, earthCover=0.0)

Bases: actions.earth_pressure.earth_pressure.EarthPressureBase

Base class for soil overpressure due to seismic action

Variables
  • 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) [radians]

  • phi – angle of internal friction of soil [radians]

  • beta – slope inclination of backfill.

  • earthCover – earth cover over the structure.

getThrust()

Return the value of the earthquake thrust.

setKh(kh)

Assigns the value of the horizontal seismic coefficient.

Parameters

kh – seismic coefficient of horizontal acceleration.

setKv(kv)

Assigns the value of the vertical seismic coefficient.

Parameters

kv – seismic coefficient of vertical acceleration.

setPhi(phi)

Assigns the value of the angle of internal friction of soil.

Parameters

phi – angle of internal friction of soil [radians].

class actions.earth_pressure.earth_pressure.StripLoadOnBackfill(qLoad, zLoad, distWall, stripWidth)

Bases: actions.earth_pressure.earth_pressure.UniformLoadOnStem

Lateral earth pressure on a retaining wall due to a strip surcharge load on the backfill. (J.Calavera, pg.40)

Variables
  • zLoad – global Z coordinate where the surcharge load acts

  • distWall – minimal horizontal distance between the wall and the surcharge load

  • stripWidth – width of the strip

  • coef – is a coefficient = 1.5 (default) for the usual case of non-rigid walls. It can be redefined =2 for rigid walls

appendVerticalLoadToCurrentLoadPattern(xcSet, vDir, iXCoo=0, iZCoo=2, alph=0.5235987755982988)
Append to the current load pattern the vertical pressures on

a set of elements due to the strip load. According to 11.3.4 in the book “Mecánica de suelos” of Llano, J.J.S. isbn= 9788471461650 (https://books.google.ch/books?id=oQFZRKlix_EC)

Parameters
  • xcSet – set that contains the elements.

  • vDir – unit xc vector defining pressures direction.

  • iXCoo – index of the horizontal coordinate.

  • iZCoo – index of the vertical coordinate.

  • alph – angle of stress spreading.

getMaxMagnitude(xcSet)

Return an estimation of the maximum magnitude of the vector loads (it’s supposed to occur in a point placed 1/3L from the top)

Parameters

xcSet – set containing the elements.

getPressure(z)

Return the earth pressure acting on the points at global coordinate z.

Parameters

z – global z coordinate.

class actions.earth_pressure.earth_pressure.UniformLoadOnBackfill(K, qLoad)

Bases: actions.earth_pressure.earth_pressure.UniformPressureOnBackfill

Lateral earth pressure on a retaining wall due to a uniform indefinite

load on the backfill.

Variables

K – pressure coefficient.

class actions.earth_pressure.earth_pressure.UniformLoadOnStem(qLoad)

Bases: actions.earth_pressure.earth_pressure.PressureModelBase

Uniform lateral earth pressure on a retaining wall.

Variables

qLoad – surcharge load (force per unit area).

getPressure(z)

Return the earth pressure acting on the points at global coordinate z. :param z: global z coordinate.

class actions.earth_pressure.earth_pressure.UniformPressureOnBackfill(zGround, zBottomSoils, KSoils, qUnif)

Bases: actions.earth_pressure.earth_pressure.PressureModelBase

Parameters to define a uniform pressure over the backfill surface

type earth pressure

Variables
  • zGround – global Z coordinate of ground level

  • zBottomSoils – list of global Z coordinates of the bottom level for each soil (from top to bottom)

  • KSoils – list of pressure coefficients for each soil (from top to bottom)

  • qUnif – uniform load over the backfill surface (defaults to 0)

appendVerticalLoadToCurrentLoadPattern(xcSet, vDir, iXCoo=0, iZCoo=2, alph=0.5235987755982988)
Append to the current load pattern the vertical pressures on

a set of elements due to the uniform load. According to 11.3.4 in the book “Mecánica de suelos” of Llano, J.J.S. isbn= 9788471461650 (https://books.google.ch/books?id=oQFZRKlix_EC)

Parameters
  • xcSet – set that contains the elements.

  • vDir – unit xc vector defining pressures direction.

  • iXCoo – index of the horizontal coordinate.

  • iZCoo – index of the vertical coordinate.

  • alph – angle of stress spreading.

getKSoil(z)

Return the earth pressure coefficient at the given z.

Parameters

z – global z coordinate.

getLayerIndex(z)

Return the soil layer that corresponds to z.

Parameters

z – global z coordinate.

getPressure(z)

Return the earth pressure acting on the points at global coordinate z.

Parameters

z – global z coordinate.

getVerticalPressure(z)

Return the vertical pressure of the earth at the given z.

Parameters

z – global z coordinate.

class actions.earth_pressure.earth_pressure.WeightDistrEmbankment(gammaSoil, theta, coordSoilSurf)

Bases: object

Distribution of pressure on a set of shells due to the weight of a

the soil on the shell elements. The surface of the embankment is a a strip defined by the angle that its transversal section forms with the X global axis (counterclockwise) and a list of coordinates [[xp1,z1],[xp2,z2], …], where xp coordinates are expressed in a coordinate system obtained rotating theta radians the global system.

Variables
  • gammaSoil – weight density of the soil

  • theta – angle counterclockwise in radians that forms the transversal section of the embankment with the global X-axis

  • coordSoilSurf – list of coordinates [[xp1,z1],[xp2,z2], …] that defines the soil surface, where xp are the x coordinates of the vertices of a transversal section in the surface, expressed in the rotated reference system.

appendLoadToCurrentLoadPattern(xcSet, vDir=<xc.Vector object>)
Append pressure on a set of elements to the current

load pattern.

Parameters
  • xcSet – set of elements to which apply the loads

  • vDir – unit xc vector defining pressures direction

getPressure(x, y, z)