# Chapter08: Retaining walls¶

## Ex8.1:Pg-366¶

In [14]:
#example 8.1

import math
import numpy
H1=6*math.tan(10*math.pi/180.0); # in ft
H2=18.0; # in ft
H3=2.75; # in ft
Gamma1=117.0;  # in lb/ft^3
Ka=0.294;#from table 7.1
H=H1+H2+H3; # in ft
Pa=1/2.0*Gamma1*H**2*Ka/1000; # in Kip/ft
Pr=Pa*math.sin(10*math.pi/180); # in Kip/ft
Ph=Pa*math.cos(10*math.pi/180); # in Kip/ft
Mo=Ph*H/3.0; # in Kip-ft/ft
Sum=0;#sigma Mr
S=[1, 2, 3, 4, 5];#section
W=[4.05, 1.35, 5.156, 13.01, 1.42];#weight
MA=[5.75, 4.67, 6.25, 9.5, 12.5, 12.5];#Moment Arm
M=numpy.zeros(5)
print "Section        Weight(kip/ft)    Moment Arm(ft)       Moment (kip-ft/ft)\n"
for i in range(0,5):
M[i]=W[i]*MA[i];
Sum=Sum+M[i];
print round(S[i],2),"\t \t ",round(W[i],2),"\t \t \t",round(MA[i],2),"\t \t \t ",round(M[i],2),"\n"

FSO=Sum/Mo;
if FSO>2 :
print  "safe in overturning with FS=",round(FSO,2),"\n"

#for sliding
phi2=18*math.pi/180; # the given angle
V=24.986;
B=12.5;
c2=0.9; # in lb/ft^2
FSS=(V*math.tan(2/3.0*phi2)+B*2/3.0*c2)/Ph;
if FSS>2 :
print "safe in sliding with FS=",round(FSS,2),"\n"

#for bearing
e=B/2.0-(Sum-Mo)/V;
qtoe=V/B*(1+6*e/B); # in Kip/ft^2
Nc=13.1;
Nq=5.26;
Ny=4.07;
D=0.107;
Gamma2=4.0; # in lb/ft^3
B1=B-2*e;#Bdash
q=Gamma2*D # in lb/ft^2
Fcd=1+0.4*D/B1;
Fqd=1+2*math.tan(phi2)*(1-math.sin(phi2))**2*(D/B1);
Fyd=1;
zi=math.tan(Ph/V);
Fci=(1-zi/math.pi*2)**2;
Fqi=Fci;
Fyi=round((1-zi/phi2)**2);
qu=c2*Nc*Fcd*Fci+q*Nq*Fqd*Fqi+1/2.0*Gamma2*B1*Fyd*Fyi;
FSB=qu/qtoe;
if FSB>3 :
print "bearing  is safe with FS=",round(FSB),"\n\n"
print "slight changes due to round off error"

Section        Weight(kip/ft)    Moment Arm(ft)       Moment (kip-ft/ft)

1.0 	 	  4.05 	 	 	5.75 	 	 	  23.29

2.0 	 	  1.35 	 	 	4.67 	 	 	  6.3

3.0 	 	  5.16 	 	 	6.25 	 	 	  32.23

4.0 	 	  13.01 	 	 	9.5 	 	 	  123.59

5.0 	 	  1.42 	 	 	12.5 	 	 	  17.75

safe in overturning with FS= 3.47

bearing  is safe with FS= 4.0

slight changes due to round off error


## Ex8.2:Pg-369¶

In [16]:
#example 8.2

c=0.9; # # in lb/ft^2
B=12.5; # in ft
Gamma2=4; # in lb/ft^3
Fcd=1.138;
Fqd=1.107;
Nc=7.5;
Nq=4;
Ny=0;
q=0.428; # in lb/ft^2
qtoe=2.44; # in lb/ft^2
qu=c*Nc*Fcd+q*Nq*Fqd+1/2.0*Gamma2*B*Ny;
FSB=qu/qtoe; # factor of safety
if FSB>3.0 :
print "safe in bearing with FS=",round(FSB,2),"\n\n",

safe in bearing with FS= 3.92



## Ex8.3:Pg-370¶

In [33]:
#example 8.3
import math
import numpy
Msum=0;#sum of moment
Vsum=0;#sum of force
H=15+2.5;#Hdash  in ft
phi=30*math.pi/180; # given angle in degree
Gamma=121.0; # in lb/ft^3
Ka=(math.tan(math.pi/4-phi/2))**2;
Pa=1/2.0*Gamma*H**2*Ka/1000; # in Kip/ft
Ph=Pa; # in Kip/ft
Mo=Ph*H/3.0; # in Kip-ft/ft
AN=[1.0,2.0,3.0,4.0,5.0,6.0];#area number
W=[0.9,3.375,5.906,3.863,4.764,2.723];#weight
MA=[1.783,2.8,5.3,5.15,7.05,9.55];#moment arm

print "AreaNo  \t Weight(kip/ft) \t  Moment Arm(ft) \t Moment (kip-ft/ft)\n"
M= numpy.zeros(6)
for i in range(0,6):
M[i]=W[i]*MA[i];
Vsum=Vsum+W[i];
Msum=Msum+M[i];
print round(AN[i],2),"\t\t ",round(W[i],2),"\t \t  \t ",MA[i],"\t \t \t  ",M[i],"\n"

FSO=(Msum)/Mo;
if FSO>2 :
print "safe in overturning with FS=",round(FSO,2)

#for sliding
phi2=20*math.pi/180;
V=Vsum
B=10.3; # in ft
c2=1.0; # in lb/ft^2
FSS=(V*math.tan(2/3.0*phi2)+B*2/3.0*c2)/Ph;
print "safe in sliding with FS=",round(FSS,2),"\n"
e=B/2.0-(Msum-Mo)/V;
qtoe=V/B*(1+6*e/B); #  in kip/ft**2
print round(qtoe,2)," is soil pressure at toe in kip/ft**2"
qheel=V/B*(1-6*e/B);  # in kip/ft**2
print round(qheel,2)," is soil pressure at heel in kip/ft**2"

AreaNo  	 Weight(kip/ft) 	  Moment Arm(ft) 	 Moment (kip-ft/ft)

1.0 		  0.9 	 	  	  1.783 	 	 	   1.6047

2.0 		  3.38 	 	  	  2.8 	 	 	   9.45

3.0 		  5.91 	 	  	  5.3 	 	 	   31.3018

4.0 		  3.86 	 	  	  5.15 	 	 	   19.89445

5.0 		  4.76 	 	  	  7.05 	 	 	   33.5862

6.0 		  2.72 	 	  	  9.55 	 	 	   26.00465

safe in overturning with FS= 3.38
safe in sliding with FS= 1.94

3.51  is soil pressure at toe in kip/ft**2
0.67  is soil pressure at heel in kip/ft**2


## Ex8.4:Pg-372¶

In [49]:
#example 8.4

import math
import numpy
Msum=0;#sum of moment
Vsum=0;#sum of force
H=5+1.5;#Hdash in m
phi=32*math.pi/180 # angle in degree
Gamma=18.5; # in KN/m^3
Ka=0.424;
Pa=1/2.0*Gamma*H**2*Ka; # in KN/m
Ph=Pa*math.cos(15*math.pi/180+2/3.0*phi); # in KN/m
Mo=Ph*H/3.0; # moment
AN=[1,2,3,4,5];#area number
A=[4.36, 3.42, 0.77, 2.8, 2.8];#area
W=[102.81, 80.64, 18.16, 66.02, 93.14];#weight
MA=[2.18, 1.37, 0.98, 1.75, 2.83];#moment arm
print "AreaNo  \t  Area(m**2) \t  Weight(kN/m)  \t  Moment Arm(m) \t  Moment (kN-m/m)\n"
M= numpy.zeros(5)
for i in range(0,5):
M[i]=W[i]*MA[i];
Vsum=Vsum+W[i];
Msum=Msum+M[i];
print round(AN[i],2),"\t\t ",round(A[i],2)," \t \t",round(W[i],2),"\t \t  \t ",MA[i],"\t \t \t  ",M[i],"\n"

FSO=Msum/Mo;
if FSO>2 :
print "safe in overturning with FS=",round(FSO,2),"\n"

#for sliding
phi2=24*math.pi/180;
V=Vsum
B=3.5; # in m
c2=30; # in KN/m^2
Pp=1/2.0*2.37*18*1.5**2+2*30*1.54*1.5;
FSS=(V*math.tan(2/3.0*phi2)+B*2/3.0*c2+Pp)/Ph;
print "safe in sliding with FS=",round(FSS,2),"\n"
print "if Pp is ignored then FS=1.37"
e=B/2.0-(Msum-Mo)/V;
qtoe=V/B*(1+6*e/B); # in kN/m**2
print round(qtoe,2),"soil pressure at toe in kN/m**2"
qheel=V/B*(1-6*e/B); # in kN/m**2
print round(qheel,2),"soil pressure at heel in kN/m**2"
print "there is difference in answer due to rounding off error"

# there is difference in answer due to rounding off error

AreaNo  	  Area(m**2) 	  Weight(kN/m)  	  Moment Arm(m) 	  Moment (kN-m/m)

1.0 		  4.36  	 	102.81 	 	  	  2.18 	 	 	   224.1258

2.0 		  3.42  	 	80.64 	 	  	  1.37 	 	 	   110.4768

3.0 		  0.77  	 	18.16 	 	  	  0.98 	 	 	   17.7968

4.0 		  2.8  	 	66.02 	 	  	  1.75 	 	 	   115.535

5.0 		  2.8  	 	93.14 	 	  	  2.83 	 	 	   263.5862

safe in overturning with FS= 2.53

safe in sliding with FS= 2.7

if Pp is ignored then FS=1.37
195.67 soil pressure at toe in kN/m**2
10.48 soil pressure at heel in kN/m**2
there is difference in answer due to rounding off error


## Ex8.6:Pg-393¶

In [56]:
#example 8.6
import math
Sv=2; # in ft
Sh=3; # in ft
w=3/12.0; # in inch
fy=35000*144;
FSb=3;
pi=math.pi;
phi=36*pi/180;
Gamma1=105; # in lb/ft^3
H=30;
t=Gamma1*H*Sv*Sh*FSb/w/fy*(math.tan(pi/4-phi/2))**2;
t=t*12; #in inch
print round(t,2)," is thickness in inches"
t=t+0.001*50;
print "so take thickness=0.2 inches"
#for tie length
z=[5,10,15,20,25,30];
TL=[38.45, 35.89, 33.34, 30.79, 28.25, 25.7];#tie length
print "z(ft)\t Tie Length (ft)\n"
for i in range(0,6):
print z[i],"\t",TL[i]

print "use tie length=40ft"
#check for over turning

z=30/3.0;
x1=20;
L=40;
Ka=0.26;
Pa=1/2.0*Gamma1*Ka*H**2; #  in kip/ft**2
W1=Gamma1*H*L;
FSO=W1*x1/(Pa*z);
print round(FSO,2)," is factor of safety is"
print "since FS>3 structure is safe"
#check for sliding
k=2/3.0;
Pa=12285; #  in kip/ft**2
FSS=W1*math.tan(k*phi)/Pa;
if FSS>3 :
print "safe in sliding with FS=",round(FSS,2)

#check for bearing
Mr=126000*20; # in lb-ft/ft
Mo=12285*10; # in lb-ft/ft
V=126000;
e=L/2-Mr/V+Mo/V;
L1=L-2*e;#Ldash
c2=1000; # in lb/ft^2
Nc=25.8;
Gamma2=110; # in lb/ft^3
Ny=16.72;
qult=c2*Nc+1/2.0*Gamma2*L1*Ny
sigma0=Gamma1*H; # in lb/ft^2
FSB=qult/sigma0;
if FSB>5 :
print "bearing is safe  with FS=",round(FSB,2)

0.14  is thickness in inches
so take thickness=0.2 inches
z(ft)	 Tie Length (ft)

5 	38.45
10 	35.89
15 	33.34
20 	30.79
25 	28.25
30 	25.7
use tie length=40ft
20.51  is factor of safety is
since FS>3 structure is safe
safe in sliding with FS= 4.57
safe in bearing with FS= 19.87


## Ex8.7:Pg-397¶

In [79]:
#example 8.7
import math
import numpy
pi=math.pi;
phi=36.0*pi/180;
Ka=(math.tan(pi/4-phi/2))**2;
z=[8.0, 12.0, 16.0]; # in ft
sigmaG=80*12.0; # in lb/ft^2
Gamma1=110.0; # in lb/ft^3
FS=1.5;
Sv=numpy.zeros(3)
for i in range(0,3):
Sv[i]=sigmaG/Gamma1/z[i]/Ka/FS*12.0;
print "for z=",z[i]," ft Sv = ",round(Sv[i],2)," inches\n"

z=[16.0,56.0,76.0,96.0,112.0,144.0,176.0];
zf=numpy.zeros(7)
k2=numpy.zeros(7)
L=numpy.zeros(7)
for i in range(0,7):
zf[i]=z[i]/12.0;#z in ft
Sv=[1.67,1.67,1.67,1.67,1.33,1.33,1.33];
k=[7.48,5.78,4.93,4.08,3.4,2.04,0.68];#0.51(H-z)
print "z(in)        z(ft)        Sv(ft)            0.51(H-z)(ft)         0.438Sv(ft)         L(ft) \n"
for i in range(0,7):
k2[i]=0.438*Sv[i];#0.438Sv
L[i]=k[i]+k2[i];
print round(z[i],2),"\t \t",round(zf[i],2),"\t ",round(Sv[i],2),"\t \t ",round(k[i],2),"\t \t \t",round(k2[i],2),"\t \t \t ",round(L[i],2)

Sv=20/12.0;
Ka=0.26;
FS=1.5;
l1=Sv*Ka*FS/4/math.tan(2/3.0*phi);
if l1<3:
l1=3;
print l1,"length in ft"

for z= 8.0  ft Sv =  33.62  inches

for z= 12.0  ft Sv =  22.41  inches

for z= 16.0  ft Sv =  16.81  inches

z(in)        z(ft)        Sv(ft)            0.51(H-z)(ft)         0.438Sv(ft)         L(ft)

16.0 	 	1.33 	  1.67 	 	  7.48 	 	 	0.73 	 	 	  8.21
56.0 	 	4.67 	  1.67 	 	  5.78 	 	 	0.73 	 	 	  6.51
76.0 	 	6.33 	  1.67 	 	  4.93 	 	 	0.73 	 	 	  5.66
96.0 	 	8.0 	  1.67 	 	  4.08 	 	 	0.73 	 	 	  4.81
112.0 	 	9.33 	  1.33 	 	  3.4 	 	 	0.58 	 	 	  3.98
144.0 	 	12.0 	  1.33 	 	  2.04 	 	 	0.58 	 	 	  2.62
176.0 	 	14.67 	  1.33 	 	  0.68 	 	 	0.58 	 	 	  1.26
3 length in ft