Bearing Capacity of Shallow Foundations Bearing Capacity of Shallow Foundations
Bearing Capacity of Shallow Foundations Bearing Capacity of Shallow Foundations
Summer 1986
Recommended Citation
Al-Kour, Yassin Taissir, "Bearing capacity of shallow foundations" (1986). Masters Theses. 391.
https://scholarsmine.mst.edu/masters_theses/391
This thesis is brought to you by Scholars' Mine, a service of the Missouri S&T Library and Learning Resources. This
work is protected by U. S. Copyright Law. Unauthorized use including reproduction for redistribution requires the
permission of the copyright holder. For more information, please contact [email protected].
BEARING CAPACITY OF SHALLOW FOUNDATIONS
BY
A THESIS
UNIVERSITY OF MISSOURI-ROLLA
1986
Approved by
i i
ABSTRACT
ACKNOWLEDGEMENTS
both my education and living expenses for the last six years.
TABLE OF CONTENTS
Page
ABSTRACT • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • i i
ACKNOWLEDGEM[NTS . . .. . . . . . . . . . . .. .. . . . . . . . . . . . .. .. . . . . i i i
TABLE OF COWTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. iv
I • INTRODUCTION
A• OBJECTIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
B. NATURE OF THE PROBLEM
c. PROPOSED APPROACH 2
I I • LITERATURE REVIEW 3
A• PRANDTL'S THEORY 3
c. MEYERHOF'S THEORY 9
D. JUMIKIS' EXPERIMENTS 13
E. SHIELDS' EXPERIMENTS 16
III• PROCEDURE . . . .. . . . . . . . .. .. . . . .. . . . . . .. . . . . . . . 20
B. PROGRAM ANALYSIS 21
Page
v. CONCLUSIONS . .. . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . 58
APPENDICES
LIST OF ILLUSTRATIONS
Page
Figure
2. Terzaghi'~ Sy~tem . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 7
3. Meyerhof'~ Sy~tem .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Surcharge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
vii
Page
Figure
of Soil . . . . . . . . .. . . . . .. . . . . . . .. . . .. . . . . . . . .. . . . . 40
Page
Figure
LIST OF TABLES
Table Page
A. OBJECTIVE:
considered.
grounded but his charts are not completely useful for the
2
C. PROPOSED APPROACH:
surface must be determined, and third the above two steps are
pressure is found.
3
A. PRANDTL'S THEORY
assumed to be smooth.
may be the soil. Upon loading the strip footing, three zones
a=~-<1:_
a=rr
- -<P
- 4 2
4 2
1/ _,_
4
-----
~=..! -~
2
rupture surfaces.
Rankine state.
Prandtl assumed the base angle between the punch and the
compressive stress:
c
qu - ( 1)
tan~
t - 0 is:
q 5.14 c (2)
u -
5
Terzaghi's correction:
equation q
u
= 0 when c = o. Terzaghi (1943) suggested an
added:
c' = Y t tan¢
c + c'
qu - ( 3)
tan¢
Taylor's correction:
overburden pressure:
P - Y b tan(45 + ¢/2)
s
Where b is half the width of the footing. The new form of
B. TERZAGHI'S THEORY:
0 ult = qult* A
Terzaghi's assumptions are: (refer to Figure 2)
sufficient friction between the base and the soil can fully
develop.
q - r * Dr
where Df is the depth of footing from the ground level
rupture surface.
and CD'F' consist of two curved portions CD and CD', and two
AB=B
GS
q=yD
o. y=O
adhesion between the soil and the base of the footing, zone I
AC and BC.
Qult = Qc + Qq + QY
Terzaghi presented his ultimate bearing capacity as follows:
qult (6)
2
Where:
the footing sinks into the ground before the state of plastic
c = cohesion of soil.
lT 2
N cot~ [e tan (45 + ~/2)- 1]
c
lT 2
N
q
• e tan (45 + ~/2)
Ny "" COE~('i' - ~)
where:
B: width of footing.
C. MEYERHOF'S THEORY:
the shear strength of the soil from the base level to the
Terzaghi.
Meyerhof's assumptions:
the base of the footing and soil. This friction prevents the
(b) Ny
zones in the soil extend not only to the level of the base of
and D' •
straight lines.
uniformly distributed.
1
(7)
2
Where:
D. JUMIKIS' EXPERIMENTS:
obliquely.
be known.
r • r eetan4> (8 )
0
where:
15
r = radius-vector.
r 0
= reference vector, or a segment on the polar axis from
the pole of the spiral cut by the spiral at 9=0.
e increases.
E. SHIELDS' EXPERIMENTS:
stress tests, and shear box tests. Results from such a test
F. BOWLES' STUDY:
ratios.
footing.
18
L1
N I
c - N
c * (9)
Lo
where
footing on slope.
/ ', G /
...,, ',' ,,
-- -- - - - l,
,'
a----""'
, /
>.a'
(b)
A1
N' • N * ( 9 a)
q q
Ao
where:
19
horizontal surface.
I I I. PROCEDURE
B. PROGRAM ANALYSIS:
P " p.
be known:
a- Width of foundation, B.
F ... ( 1 0)
w
2
at 1/3 of FE from F.
the vertical side of the footing Fh, and its soil friction,
Fh - 2
K y D2
f
( 11)
and:
1
F = K y D2 tancS ( 1 1 a)
v f
2
from B.
BF FE BE
* -- + Fw * -- *-
3 3 3
But:
BF = Df
FE = Df cotS
Df
BE =
sinS
( 12 )
2
midpoint of BE.
But:
BE *
Then equation (12) yields:
( 1 3)
2
F E
Horizontal Surface.
P0 '"" Y * D
f
( 14 )
S0 z (c + P 0 tan~)m ( 1 5)
s1 - c + P
1 tan~ ( 1 6)
(c + P 0 tan~)m cos~
cos(2n + ~) (17)
equivalent free surface (8), angle e, and the size of the log
according to:
r .. r e a tan~
0
oc.
1- T2 is the angle between the vertical and line OD and
XD x0 + r sin T2
YD Y0 - r cos T2
spiral.
and Tlt.
point D.
2
sin Cs - a)
Po - 2
y
Df [K 2
cos s
+
2
cos a] ( 19 )
y * Df
and
S0 • (C + P 0 tan~)m
(a)
.I a F
I
q'
~
of
( b )
Slopes.
increment da.
I
q''
(a)
B
.I a F
I
Q "
(b)
r
0
e etan¢
according to:
x 0 = x0 + r sin T2
Y0 • Y - r cos T2
0
where x0 and Y are the coordinates of the pole of the
0
spiral.
and T4.
the final radius r with the spiral must make an angle equal
back to step f.
- .£ .s-
shown earlier, angle n can be obtained from solving
e • 135 + s - n - ~12 ( 2 0)
Surcharge.
and;
( 2 2)
(1 + sin~)e2etan~
+ Po [ J (24 )
1 - sin~s1n(2n + ~)
or:
q' - (25)
36
q'
c
Figure 13. Determination of Bearing Capdcity Due to
N ... 1 + 28 + sin2n
c
N • 1
q
(Derivations of the above two expressions are given in
Appendix C)
p
r a1 * GD (26 )
2
where
triangle BDG.
by dividing the net total moment by the net total area of the
p L + w L2
pn
p - r 1
L3
(27)
is chosen:
vertical:
or:
y B
q" = (29)
2
q .. q' + q"
or:
q = B Y Ny + eN c + P 0 Nq ( 3 0)
2
40
1----- y. ----l
Q "
Weight of Soil.
41
6). Therefore, the pole of the spiral is not moved and the
factors while the other two are set equal to zero. Then
resistance of the soil above the base level. The soil wedge
of the soil mass BEF first and then divide the resultant force
analysis. This will allow the soil under the equivalent free
small for low soil friction angles (~ < 20), and becomes
great for large soil friction angles (~ > 40). Listed in
N
q
• 2.63, and Ny - 1.15 an increase of 15.11%, 6.48%,
N
q - 31 9' and NY - 766, but for m - 1, Nc - 348,
N
q - 4 1 5. and NY - 1 1 1 6 ; an increase of 30% for Nc•
30% for Nq' and 46% for NY. It can be deduced that
B.
For a soil friction angle of 40 degrees and shear
TABLE I
ell m N N NY 8
c q
(degrees) (degrees)
0 0 5. 1 ~ 1 •00 o.oo 0
1 5.71 1 •00 o.oo 0
5 0 6.~9 1 . 57 0.31 0
1 7.3~ 1 • 6~ 0.39 0
10 0 8.3~ 2.~7 1 • 15 0
9.60 2.69 1 • 15 0
30 0 30.14 18.40 21 • 3 7 0
1 37.16 22.46 24.98 0
40 0 7 5. 31 64.20 1 01 • 2 0
1 95.66 81 • 27 133.7 0
45 0 133.9 1 3 4. 9 257.3 0
1 172.3 1 7 3. 3 360.7 0
TABLE II
¢ m N Nq NY B
c
(degrees) (degrees)
5 0 7.77 1 • 68 1 • 44 4. 1 9
1 9.24 1 •81 1 • 06 70.97
,0 0 9.95 2.75 1 • 06 1 7. 56
11 • 9 9 3 • 11 2.35 41 • 8 3
25 0 23.97 1 2 01 8 16 • 14 5.33
1 30.21 1 5. 0 9 1 9 09 7 9.65
45 0 1 4 50 3 1 4 6. 3 250.6 3.03
1 1 9 0. 9 19 1 •9 307.6 2.98
steeper for low soil friction angles when m = than that for
respectively.
TABLE Ill
BEARING CAPACITY FACTORS OF FOUNDATIONS ON
~ rn N Nq NY 8
(degrees) c
(degrees)
than one, all curves coincide and the slope has no effects on
a function of the size and depth of the footing and the soil
51
2
10 r--------r------~r-------.-------~------~
0
z
a:
0
~
u
<
~
~
~ 1
~
u 10
<
Q.
<
u
~
z
~
a:
<
~
co
10°~------~--------_.--------~--------~------~
0 1 2 3 4 5
b/8 RATIO
10 r-------~---------r--------~----------------~
2
•
0'
:z:
a:
0
E-
u
<
tz..
~
1
E-
H
10 .
u
<
0..
<
u
c
:z:
H
a:
<
tzJ
co
10°~---------L----------~·---------L-'---------L--------~
0 1 2 3 4 5
b/B RATIO
4
10 ~-------.--------~--------r-------~--------~
3
10
~
z
~
0
~
u 2
<
~
10
~
~
~
u
<
0.
< 1
u 10
0
z
~
~
<
~
~
·1
10 ~----L-~--------~--------~--------~------~
0 1 2 3 4 5
biB RATIO
4
10 ~-------.--------.-------~--------~------~
3
10
0
:z:
0::
0
f-
u 2
< 10
tz...
>4
f-
-....--
H
u
<
0..
< i
u
10 1-
t.:l
:z
H
0::
<
tzJ
cc
10° ~
10 ~------~--------~--------~--------~------~
1
0 1 2 3 4 5
b/8 RATIO
•
10 r-------~------~------~------~--------
3
10 ~
0'
z
c::
0
E-
u 2
<
ts..
10 ...
>o
E-
H
u
<
0....
< 1
u 10
t:l
z
H
c::
<
t:J
co
0
10
-1
10 ~--------~--------~--------~·--------~------~
0 1 2 3 5
b/B RATIO
10 ~-------.--------~------~--------~------~
4
3
10
~
z
a:
0
~
u 2
< 10
~
~
~
~
u
<
0.
<
u
~
z
~
a:
<
~
~
-1
10 ~------~--------~------~------~~----~
0 1 2 3 5
b/B RATIO
capacity decreases.
V. CONCLUSIONS
of width "B".
Thus, even for a small b/B ratio, b being the distance of the
edge of the footing from the edge of the slope, the failure
the slope (point E in figure 5}. The face of the slope makes
spiral.
his own bearing capacity factors, 1.0 for square footings and
B
~
ps
= ( 1 • 1 - 0.1 -)~
L tx
66-69.
York.
India.
York.
York.
VITA
1 9 8 3.
APPENDIX A
spiral.
where:
initial radius.
radius.
Hijab (1956) derived formulas for "a" and "b" which are
given by:
67
where:
U (r /r) 3
0
2
W = (r /r)
0
A w- 1
- -2 ( 34 )
r 4 tan~
0
moment.
APPENDIX B
r = ( 3 8)
cos(2n + ~)
by:
S 0 = m S (39)
S0 = (c + P 0 tan~)m ( 4 0)
s1
r .. (41)
cos~
but:
(42)
then:
c + P tan~
r = - - - -1- - - - ( 4 3)
cos~
f
c
cos(2n + ~) ==
c P
( 44 )
+
1 tan~
or:
n • o
71
(46)
Z'O P - Po z r sin(2n + ~) ( 4 7)
2
Subtracting equation (47) from (46) yields:
a • P + r sin~ + r
1 1
s ( 4 9)
a
1
- P
1
+
1 [tan~ + sec~]
72
APPENDIX C
in figure 12).
r
0
of the log spiral at a distance r
0
/2 from o.
3. Moment of cohesion Mc , given by:
c
Mc = (50)
2 tan~
forces:
r c 2
(r - r 2) ...
* 2
+
2 tan~
0
r
0
p (51 )
I
p * r
0 * 1 * 2
c
2 2 2
* r - P' p * r02 + (r - r ) - 0
0
tan~
73
2
dividing both sides of the above equation by r yields:
0
2 2
r c r c
2 - p'
p
+
2
= 0
r tan~ r tan~
0 0
and rearranging:
2
c r c
(p1 + ) --2 p' p +
tan~ ro tan~
but if:
etan~
r = r e (53)
0
then:
r 2
2etan~
(--) = e (53a)
r
0
c c
+ = p' p +
tan~ tan~
or:
c
p' p +
tan~
2etan~ (53b)
e =
c
+
tan~
c +
2etan~ (54)
e =
or:
(55a)
74
But:
B/2
BC =
sin(45 - ~/2)
then:
cos(45 - ~/2)
cot(45 - ~/2) =
sin(45 - ~/2)
equation yields:
cos~/2 + sin~/2
cot(45 - ~/2) =
cos~/2 - sin~/2
+ sin~
cot(45 - ~/2) = (57)
cos~
+ sin~
q' • P' p + S' p (58)
cos~
form i~ a~ follows:
S' p = { c +
(58a) yields:
(1 + sin~)e2etan~
q' c [cot~( - 1) J +
1 - ~in~ sin(2n + ~)
( 1 +~in ~)e28tan~
p 0 [ -------------- 1 ( 6 0)
1 - ~in~ sin(2n + ~)
or:
q' '"' eN + P0 N ( 61 )
c q
where N and N have the values in the square brackets
c q
of equation (60).
cos~(1
+ sin~)e 2 etan~ cos~
]
c • lim [-----------------------------
N
~-0 sint(1 - sin~ sin(2n + ~)) sin~
2
sin~ cos~ - sin ~ cos~ sin(2n + ~)
where E is e 2 etan~.
Now Applying L'Hopital's rule to the above expression gives:
N
c
= 1 + 28 + sin(2n) ( 6 2)
N .. 1 ( 6 3)
q
or:
tan(45 + ~/2)
8
Y B 4 P"psin(45 + t/2)
q" --- [ -----=~-------
2
- - - - tan(45 + t/2)](65)
2 y s 2
value of NY when t = 0 is 0.
78
APPENDIX D
<I
10 ~------~------~--------~------~------~
3
tO
C)
:z
0::::
0
..... 2
u
c:( 10
[z...
><
.....
H
u
c:(
::::::;:;;---
0..
c:(
10
1 ....-
u
Cl
:z
H
0::::
c:(
w
co
10°
·1
tO ~------~--------~--------._------~--------~
0 1 2 3 4 5
biB RATIO
10~c--------.--~---,r-------.-------~------~
3
10
(.)
:z:
c:
0
r--
u 2
< 10
ez..
><
r--
H
u
<
0..
< 1
u 10
t:>
z:
H
c:
<
w
co
10°
-1
10 ~--------~--------~--------~--------~·------~
0 1 2 3 4 5
b/B RATIO
10
4
. .
3
10
t)
z
0:::
0
E-
u 2
<
tz..
10
~
E-
H
u
<
0..
< 1
u 10 ~ ~
t.:)
z
H
0:::
<
tzJ
co
10° ~
-1
10 _l_ _l_
0 1 2 3 4 5
b/B RATIO
• .
10 r-------~~--------.--------.--------~---------~
3
10 ~
0'
z
c::
0
!'-<
u 2
< 10
tz..
><
!'-<
1-(
u
<
0..
< 1
u
10
C-' .-
z
1-(
.-
c::
<
[%J
m
10°
·L
10 ~--------~--------~--------~--------~·------~
0 1 2 3 5
b/B RATIO
A
10 r-------.--------r------~------~------~
3
10 ~
C1'
:z:
c::
0
E-<
u 2
<
tz..
10 ~
>-1
E-<
.......
u .......
<
~
< 1
u 10 ~
c.,:,
:z:
.......
c::
<
~
co
10°
-~
10 ~------~--------~--------~------~--------~
0 1 2 3 5
b/B RATIO
3
10
0"
:z:
a:
0
E-<
u 2
<
b.
10 ~
>I
E-<
-
1-t
u
<
c..
<
u 10t ~
~
:z:
1-t
a:
<
w
co
10° ~ ~
-1
10
0 1 2 3 4 5
b/B RATIO
..
10~------r-------.-------.-------~------~
3
10
~
z
a:
0
f-4
t) 2
<
ts...
10
>-4
f-4
1-1
t)
<
0..
< 1
t)
10
C-'
z
1-1
a:
<
tzJ
co
·1
10 ~------~-------L--------L-------~------~
0 1 2 3 5
b/B RATIO
4
10 c--------.-------.--------.-------~------~
3
10
)-
z
c:::
0
E-<
u 2
< 10
r.s..
><
E-<
H
u
<
0..
<
u
t-'
z
H
c:::
<
tzJ
IXl
10°
-1
10 ~------~--------~------~--------~------~
0 1 2 3 4 5
b/8 RATIO
10~
3
10
-
2
--
10
e---------
1 2 3 4 5
b/8 RATIO
APPENDIX E
WRITE(*,120)
120 FORMAT(! ,T15,' ENTER VERTICAL GRID Y1 , Y2 "" - 1 TO 2 ' '\)
READ(*,*) Y1,Y2
WRITE(*,130)
130 FORMAT(/,T15,' ENTER DESIRED ACCURACY 1/2 1/4 1/8 1/16
$ /,T15,' FOR 1/2 ENTER 2, 2 ....
4 8 '
16 == ' '\)
READ (*,*) ACC
c
c ASSUME WIDTH OF FOOTING TO BE 2 UNITS
c ............ STP IS THE RECIPROCAL OF THE INCREMENT OF THE X&Y COORD.
c ............ Pp2MIN IS INITIALIZED
c
132 B = 2.0
STP = 2.0
Pp2MIN = 999999.0
c
c ............ IF PHI = 0, FIX THE MOVEMENT OF THE POLE OF THE SPIRAL
c ... ...... ... OTHERWISE CALL CRI TO CONVERT THE BOUNDARIES OF X & Y
...
c
Df ,. DfBR * B
IF ( K.EQ.3.AND.Df.EQ.O.O ) Df = 0.1
IF ( K~EQ~4.AND.Df.EQ~O~O ) Df ~ 0~1
RAD • PI/180.0
DEG "" 180~0/PI
PH • PHI * RAD
XA ,. - B/2.0
YA • 0.0
XB • B/2.0
YB- o.o·
IF ( K.EQ.4 ) THEN
90
XF = XB + Sb
ELSE
XF = XB
END IF
YF = Df
C1 DTAN ( PH )
C2 = DTAN ( PI/4.0 + PH/2.0 )
XC 0.0
YC = - B/2.0 * C2
c
c ............ INITIALIZE STRESS PO
c ............ DO-LOOP J IS TO INCREMENT Y-COOR OF THE POLE OF THE SPIRAL
c ............ DO-LOOP I IS TO INCREMENT X-COOR OF THE POLE OF THE SPIRAL
c
JJ = 0
PO = GAMMA * Df
DO 50 J = J1 ,J2
JJ = JJ + 1
II "' 0
DO 60 I= I1,I2
xo ... ( I - 1 • 0 )/STP
YO = ( J - ( 1. 0 + STP ))/STP
II = II + 1
150 so ... ( c + PO * C1 ) *" M
c
C •••••••••••• CALL SUBROUTINE ETAS TO SOLVE FOR ANGLE ETA AND P1
c
CALL ETAS(PI,GAMMA,C,PH,DEG,RAD,M,B,Df,ETA,ET,PO,SO,P1 ,S1)
RO = DSQRT(( XO-XC )*( XO-XC )+( YO-YC )*( YO-YC ))
OB = DSQRT(( XO-XB )*( XO-XB )+( YO-YB )*( YO-YB ))
c
IF K.EQ.3.0R.K.EQ.4 ) THEN
IF ( M.EQ.1.0) THEN
CALL SM1 (XO,YO,Df,B;RO,XB,YB,XC,YC,PH,PHI,PI,DEG,RAD,
$ BETA,T,R,XD,YD,BE,BD,DE,BC,XE,YE,XF,YF,
$ BET,SLBD,SLBE,SLOC,ER,ALPHA,ALPH,Sb)
ELSE
CALL SM (XO,YO,Df,B,RO,XB,YB,XC,YC,PH,PHI,PI,DEG,RAD,
$ BETA,ETA,ETTA,T,R,XD,YD,BE,BD,DE,BC,EF,XE,YE,XF,YF,
$ BET,ET,M,SLBD,SLBE,SLOC,ER,ALPHA,ALPH)
END IF
c
ELSE
IF ( M.EQ.1.0) THEN
CALL HM1 (XO,YO,Df,B;RO,XB,YB,XC,YC,PH,PHI,PI,DEG,RAD,
$ BETA,T,R,XD,YD,BE,BD,BC,EF,XE,YE,XF,YF,BET,SLBD,SLBE,SLOC,ER)
ELSE
CALL HM (XO,YO,Df,B,RO,XB,YB,XC,YC,PH,PHI,PI,DEG,
$ RAD,BETA,ETA,ETTA,T,R,XD,YD,BE,BD,DE,BC,EF,XE,YE,XF,YF,
$ BET,ET,M,SLBD,SLBE,SLOC,ER)
c
91
END IF
END IF
IF ( ER.EQ.9999.0 ) GO TO 75
TT ,. T
CALL ARMS( RO,XO,YO,XC,YC,RAD,PH,PI,SLOC,TT,ALS,XMOM,L2 )
c
c COMPUTE AVERAGE STRESS PO FROM BALANCING MOMENTS
c
KO = 1.0- DSIN ( PH )
DSB2 = DSIN ( BET ) * DSIN ( BET )
DCB2 = DCOS ( BET ) * DCOS ( BET )
DSA2 .,. DSIN ( ALPH ) * DSIN ( ALPH )
DCA2 DCOS ( ALPH ) * DCOS ( ALPH )
DSBA2 = DSIN ( BET - ALPH ) * DSIN ( BET - ALPH )
c
IF ( K.EQ.3 ) THEN
PPO a 0.5 * GAMMA * Df * ( KO * DSBA2/DCB2 + DCA2 )
ELSE IF ( K.EQ.4 ) THEN
XF1 .,. ( XE + XF )/2.0
XFW1 • XB + 1.0/3.0 * Sb
XFW2 • XB + 2~013.0 * { XF1 - XB )
ARFW1 • XFW1 ~ XO
ARFW2 = XFW2 - XO
XQ • XB
YQ • Df
CALL AREAS { XB,YB,XF,YF,XQ,YQ,ABFQ )
CALL AREAS ( XB,YB,XE,YE,XF,YF,ABEF )
FW1 • GAMMA * ABFQ
FW2 • GAMMA * ABEF
IF ( XE.LT.XF ) THEN
PPO • 0~5 * GAMMA * Df * ( KO * DSA2 + DCA2 )
ELSE
FH = 0.5 * GAMMA * Df * Df * KO
PPU • ( 3.0 * FW1 * ARFW1 + 3.0 * FW2 * ARFW2 + FH * Df )
PPD • BE * BE
PPO • PPU/PPD
END IF
ELSE IF ( K.EQ.2 ) THEN
PPO • 0.5 * GAMMA * Df * { KO * DSB2 + DCB2 )
ELSE
PO = 0.0
so - o.o
PPO • 0.0
END IF
IF ( BET.EQ.PI/2.0.0R.ALPH.EQ.PI/2.0 ) PPO • 0.0
c
WRITE(*,2000)XO,YO,PO,PPO
2000 FORMAT{/,20X,'X0 • ',F10.4,10X,'Y0 • ',F10.4,
$ /,20X,'P0 • ',F10.4,10X,'PPO • ',F10~4,/)
92
c
C •••••••••••• CHECK IF ASSUMED PO IS EQUAL TO COMPUTED PO
c
IF ( DABS ( PPO- PO ).GT.0.05 ) THEN
PO = PPO
GO TO 150
ELSE
GO TO 155
END IF
c
C •••••••••••• COMPUTE Nc AND Nq ONLY IF XO • 1.0 AND YO • 0.0
c
155 THETA = T
T =- T * RAD
IF ( XO.EQ.1.0.AND.YO.EQ.O.O ) THEN
BTCQ = BETA
THCQ .... THETA
ALCQ • ALPHA
IF ( PHI.NE.O.O ) THEN
C3 • DTAN ( BET )
C4 = 1 + DSIN ( PH )
C5 • DSIN ( 2.0 * ET + PH )
CC • C4 * DEXP ( 2.0 * T * C1 )
DD • 1.0- ( DSIN (PH) * C5 )
Nc • ( CC/DD- 1.0 )/C1
Nq • CC/DD
ELSE
c
c ............ COMPUTE Nc AND Nq WHEN PHI z 0.0
c
Nc s 1.0 + 2.0 * T + DSIN ( 2 * ET)
Nq • LO
Ng = 0~0
XOMIN'"' 1.0
YOMIN = 0~0
THMIN • THCQ
BTMIN • BTCQ
POMIN • PO
SOMIN • SO
Q1 • C * Nc + PO * Nq
GO TO 890
END IF
Q1 • C * Nc + PO * Nq
c
c ........... COMPUTE AREAS AND MOMENTS ARMS OF FREE BODY
c
ELSE
GO TO 165
END IF
165 IF ( M.EQ.l.O) THEN
XG • XE
93
YG • YE
XD = XE
YD ... YE
DE 0.0
GD .. 0~0
GE a 0.0
XT .. 0.0
YT = 0.0
ELSE
XZE = BD * DSIN ( ET )/DE
XDL a ( ( BE *BE- BD * BD- DE *DE )/( - 2 * BD *DE ))
IF ( XZE.GT.1.0) THEN
XZE ... 1.0
ELSE IF ( XDL.GT.1.0 ) THEN
XDL = 1.0·
ELSE
ZET = DASIN ( XZE )
DELT .. DACOS ( XDL )
END IF
ZET • DASIN ( XZE )
DELT • DACOS ( XDL )
D1 a PI/4.0 + PH/2.0
D2 • DELT - D1
G1 • 3.0/4.0 * PI - ( ET + PH/2.0 )
G2 • PI/4.0 + ( ET + PH/2.0 )
ZET • PI ~ D2 - G2
GD D DE * DSIN ( ZET )/DSIN ( G2 )
GE • DE * DSIN ( D2 )/DSIN ( G2 )
BG • BE - GE
XG • XB + BG * DCOS ( BET )
YG = YB + BG * DSIN ( BET )
XT = XG + 2.013.0 * ( XD - XG )
YT • YD + 1.0/3~0 * ( YG- YD)
END IF
D1 • YE - YB
D2 • YO ~ YD
E1 .. XB - XE
E2 • XD - XO
F1 • YE * XB - YB * XE
F2 • YO * XD - YD * XO
CALL SIMEQ ( D1 ,E1,F1 ,D2,E2,F2,XS,YS)
CALL AREAS ( XO,YO,XB,YB,XD,YD,AOBD )
CALL AREAS ( XO,YO,XB,YB,XC,YC,AOBC )
CALL AREAS ( XO,YO,XB,YB,XS,YS,AOBS )
CALL AREAS ( XB,YB,XD,YD,XG,YG,ABDG )
CALL AREAS ( XO,YO,XB,YB,XG,YG,AOBG )
CALL AREAS ( XO,YO,XD,YD,XG,YG,AODG )
CALL AREAS ( XS,YS,XG,YG,XD,YD,ASGD )
c
XI • ( XC + XO )12.0
XH • ( XO + XB )/2~0
94
XL = ( XG + XO )/2.0
XSGO = xs + 2.013.0 * ( XL - xs )
XOBC ... XI + 1.0/3.0 * ( XB - XI )
XOBS XH + 1 .0/3.0 * ( XS XH )
XOBO "' XH + 1.0/3.0 * ( XO - XH )
XBOG = XB + 2~0/3.0 * ( XL - XB )
XOBG • XH + 1 .0/3.0 * ( XG - XH )
XOOG '"' xo + 2~013.0 * ( XL - xo )
AROBC '"' XOBC - XO
AROBO .. XOBO - XO
AROBG XOBG - XO
AROBS XOBS - xo
ARBOG ,.. XBOG - xo
AROOG ... XOOG .,.. xo
ARSGO .. XSGO - xo
c
c ............ SOLVE EQUATIONS OF LINES OK & KT TO COMPUTE ARM L1
c
01 ,.. YT - YG
02 • XG - XT
E1 • XG - XT
E2 • YG - YT
F1 • YO * ( XG - XT ) + xo * ( YT - YG )
F2 = YT * ( YG - YT ) + XT * ( XG - XT )
c
CALL SIMEQ ( 01,E1,F2,02,E2,F2,XK,YK)
c
L1 • OSQRT{( XO-XK )*( XO-XK )+( YO-YK )*( YO-YK ))
WRITE(*,166)L2,XMOM,II,JJ
166 FORMAT(/,' ••==~> YL2 XMOM I J • ',2F12.2,2I4,/)
c
XJ .. XO + L2
YJ • YO - ( Ra * OCOS ( SLOC ) + OW * OSIN ( SLOC ) )
XV • 1.0/3.0 * B/2.0
YV • 2.013.0 * YC
c
IF ( XV.EQ.XO ) THEN
SLOV .. PI/2.0
ELSE
SLOV • OATAN ({ YV-YO )/{ XV-XO ))
ENOIF
c
c ............ SOLVE EQUATIONS OF LINES Pp2 & OM TO COMPUTE ARM L3
c
01 .. YA - YC
02 • XC - XA
E1 • XC ... XA
E2 • YC - YA
F1 • YV * ( XC - XA ) + XV * ( YA - YC )
F2 • YO * ( YC .... YA ) + XO * ( XC "" XA )
CALL SIMEQ ( D1,E1,F1,D2,E2,F2~XM,YM )
Dl YA - YC
D2 0.0
El XC - XA
E2 1 •0
F1 YV * ( XC - XA ) + XV * ( YA - YC )
F2 = YO
CALL SIMEQ ( D1 ,E1,F1,D2,E2,F2,XPP2,YPP2)
L3 DSQRT(( XM-XO )*( XM-XO )+( YM-YO )*( YM-YO ))
IF ( XO.GE.XPP2 ) THEN
L3 "' L3
ELSE
L3 = - L3
END IF
c
c ............ COMPUTE PRINCIPAL STRESS SIGMA1 ONLY IF M NOT ZERO
c
IF ( M.EQ.1.0) THEN
SIGMA1 = 0.0
Pr = 0 .o
ELSE
SIGMA1 = P1 + S1 * ( DTAN ( PH ) + 1.0/DCOS ( PH ))
Pr = 0.5 * SIGMA1 * GD
END IF
IF ( XG.EQ.XD.AND.YG.EQ.YD ) THEN
SLGD = 0.0
ELSE IF ( XG.EQ.XD ) THEN
SLGD PI/2.0
ELSE
SLGD = DATAN (( YG-YD )/( XG-XD ))
END IF
c
c ........... SOLVE EQUATIONS OF LINES KT & YO TO DETERMINE THE SIGN
c ........... OF MOMENT OF FORCE Pr
c
D1 "' XG - XT
D2 • 0.0
E1 • YG - YT
E2 • 1.0
F1 • YT * ( YG - YT ) + XT * ( XG - XT )
F2 ,.. YO
IF ( SLGD.EQ.PI/2.0 ) THEN
IF ( YO.LT.YT ) L1 =- L1
ELSE
CALL SIMEQ ( D1 ,E1,F1,D2,E2,F2,XPr,YPr )
IF ( SLGD.LT.O.O ) THEN
IF ( XO.LT.XPr )THEN
L1 • L1
ELSE
L1 • - L1
END IF
ELSE
96
IF ( XO.GE.XPr ) THEN
L1 = L1
ELSE
L1 .. - L1
END IF
END IF
END IF
c
D1 YC - YB
D2 .. 0.0
E1 '"' XB - XC
E2 1.0
F1 = YC * XB - YB * XC
F2 = YO
CALL SIMEQ ( D1,E1,F1,D2,E2,F2,XBC,YBC
c
D1 • YD - YB
D2 .. 0.0
E1 = XB - XD
E2 • 1.0
F1 '"' YD * XB - YB * XD
F2 • YO
IF Df.EQ.O.O.AND.M.EQ.1.0) THEN
XBD '"' 9999.0
ELSE
CALL SIMEQ ( D1,E1,F1,D2,E2,F2,XBD,YBD
END IF
c
D1 "" YE ""! YB
D2 • 0.0
E1 ... XE - XD
E2 • 1.0
F1 • YE * XB - YB * XE
F2 • YO
IF ( Df.EQ.O.O.AND.M.EQ.1.0) THEN
XBE • 9999.0
ELSE
CALL SIMEQ (D1 ,E1,F1 ,D2,E2,F2,XBE,YBE)
END IF
c
c ........... DETERMINE FREE BODY DEPENDING UPON THE LOCATION OF THE
c ........... POLE OF THE SPIRAL
c
c SLOPES
IF ( ALPHA.LT.O.O.AND.YO.LE.O.O ) THEN
IF ( XO.LE.XBC ) THEN
Pp2 • ( XMOM + AOBD*AROBD + ABDG*ARBDG - AOBC*AROBC + Pr*L1)/L3
ELSE IF ( XO.LE.XBE ) THEN
Pp2 • ( XMOM + AOBD*AROBD·+ ABDG*ARBDG + AOBC*AROBC + Pr*L1)/L3
ELSE
Pp2 • ( XMOM .. AOBD*AROBD + ABDG*ARBDG + AOBC*AROBC + Pr*L1)/L3
97
END IF
ELSE
IF YO.LE.O.O ) THEN
IF ( YO.LT.O.O ) THEN
IF ( SLBD.LE.O.O ) THEN
IF ( XO.LE.XBC ) THEN
Pp2 ~ XMOM + AOBD*AROBD + ABDG*ARBDG - AOBC*AROBC + Pr*L1 )/L3
ELSE IF ( XO.LE.XBD ) THEN
Pp2 XMOM + AOBC*AROBC + AOBD*AROBD + ABDG*ARBDG + Pr*L1)/L3
ELSE
Pp2 z ( XMOM + AOBC*AROBC + AOBG*AROBG + AODG*ARODG + Pr*L1)/L3
END IF
ELSE
IF ( XO.LE.XBD ) THEN
Pp2 ... ( XMOM - AOBC*AROBC + AOBD*AROBD + ABDG*ARBDG + Pr*L1)/L3
ELSE
Pp2 ( XMOM + AOBC*AROBC + AOBD*AROBD + ABDG*ARBDG + Pr*L1)/L3
END IF
END IF
C YO -= 0
ELSE
IF ( SLBD.LE.O.O ) THEN
IF ( XO.LE.XB ) THEN
Pp2 z ( XMOM + AOBD*AROBD + ABDG*ARBDG- AOBC*AROBC + Pr*L1)/L3
ELSE
Pp2 a ( XMOM + AOBC*AROBC + AOBG*AROBG + AODG*ARODG + Pr*L1)/L3
END IF
ELSE
IF ( XO.LE.XB ) THEN
Pp2 • ( XMOM- AOBD*AROBD- AOBC*AROBC + ABDG*ARBDG + Pr*L1)/L3
ELSE
Pp2 • ( XMOM + AOBD*AROBD + AOBC*AROBC + ABDG*ARBDG + Pr*L1)/L3
END IF
END IF
END IF
C YO > 0
ELSE
IF SLBD.LE.O.O ) THEN
IF ( XO.LE.XBD ) THEN
Pp2 • ( XMOM - AOBC*AROBc·+ AOBD*AROBD + ABDG*ARBDG + Pr*L1)/L3
ELSE IF ( XO.LE.XBC ) THEN
Pp2 • XMOM - AOBC*AROBC- AOBD*AROBD + ABDG*ARBDG + Pr*L1)/L3
ELSE IF ( XO.LE.XBE ) THEN
Pp2 .. ( XMOM + AOBC*AROBC- AOBD*AROBD + ABDG*ARBDG + Pr*L1)/L3
ELSE
Pp2 • ( XMOM + AOBC*AROBC + AOBG*AROBG + AODG*ARODG + Pr*L1)/L3
END IF
ELSE IF ( XO.LE.XBC ) THEN
Pp2 • ( XMOM - AOBC*AROBc·- AOBD*AROBD + ABDG*ARBDG + Pr*L1)/L3
ELSE IF ( XO.LE.XBE ) THEN
Pp2 • ( XMOM + AOBC*AROBC- AOBD*AROBD + ABDG*ARBDG + Pr*L1)/L3
98
ELSE
Pp2 ~ ( XMOM + AOBC*AROBC + AOBG*AROBG + AODG*ARODG + Pr*L1)/L3
END IF
END IF
c
c ........... IF THE VALUE OF Pp2 IS NEGATIVE THEN SKIP TESTING Pp2MIN
c ........... STORE THE VALUE OF Pp2, XO&YO, ANGLES THETA, AND BETA IF
c ........... Pp2MIN IS FOUND
c
END IF
65 IF ( Pp2.LT.O.O ) GO TO 75
c
c TEST IF Pp2 IS MINIMUM
c
IF ( Pp2.GT.Pp2MIN ) GO TO 60
POMIN .·po
SOMIN • SO
Pp2MIN • Pp2
XOMIN = XO
YOMIN • YO
THMIN = THETA
BTMIN • BETA
ALMIN • ALPHA
GO TO 60
75 WRITE (*,650 )
650 FORMAT (I, 5X, 1 GEOMETRY NOT SATISFIED OR Pp" NEGATIVE 1
,)
60 CONTINUE
50 CONTINUE
WRITE(*,200)XOMIN,YOMIN,STP,Pp2MIN
200 FORMAT(/,5X, 1 XOMIN YOMIN STP Pp"MIN • 1 ,4F10.4,/)
c
c ........... CHECH IF ACURACY OF CALCULATIONS IS REACHED THEN COMPUTE
c
c
............
.......... NG AND OUTPUT FINAL RESULTS, OTHERWISE SET THE BOUNDARIES
. .
. . .
.
. . .
. .
. .
FOR THE NEW GRID AND DIVIDE INCREMENT OF XO&YO BY 2
c
IF ( STP.GE.ACC ) GO TO 78
IF ( XOMIN.LT.( 1.0/STP) ) THEN
X1 • 0.0
ELSE
X1 • XOMIN- 1.0/STP
END IF
X2 • XOMIN + 1.0/STP
IF ( XOMIN.GE.2.0 ) THEN
X2 • 2.0
ELSE
X2 • XOMIN + 1.0/STP
END IF
Y1 • YOMIN- 1.0/STP
IF ( YOMIN.GE.2.0 )·THEN
·y2 -·2.0
ELSE
99
Y2 = YOMIN + 1.0/STP
END IF
STP = STP * 2.0
GO TO 76
78 C10 4.0 * Pp2MIN * DSIN ( PI/4.0 + PH/2.0 )
G
C11 =GAMMA* B * B
C12 c GAMMA * B/2.0
Ng • C10/C11 - 0.5 * C2
Q2 = C12 * Ng
Pp .. Q1 + Q2
RO = DSQRT(( XOMIN-XC )*( XOMIN-XC )+( YOMIN-YC )*( YOMIN-YC ))
R a RO * DEXP (THMIN * RAD * DTAN ( PH ))
890 WRITE(6,900) B,M,C,PHI,DfBR,GAMMA,
900 FORMAT(/////////,25X,' INPUT DATA AND RESULTS ',///,
$ /,10X,'WIDTH OF FOOTING IN FEET B - I ,F10.4,
$ /,10X,'DEGREE OF MOBILIZATION M - I ,F10.4,
$ /,10X,'COHESION OF SOIL IN LBS/SF c - I ,F10.4,
$ /,10X,'SOIL FRICTION ANGLE IN DEGREES PHI - I ,F10.4,
$ /,10X,'DEPTH TO WIDTH RATIO DIB - I ,F10~4.
$ /,10X,'UNIT WEIGHT IN LBS/CF GAMMA • ',F10.4,)
IF ( PHI.EQ.O.O ) Pp2MIN = 0.0
IF ( Pp2MIN.EQ.999999.0 ) Pp2MIN = 99999.0
WRITE(6,910) XOMIN,YOMIN,ETA,BTCQ,THCQ,ALCQ,BTMIN,ALMIN,Sb,RO,
$ R,POMIN,SOMIN,THMIN,Nc,Nq,Ng,Pp2MIN
910 FORMAT(/,10X,'X-COOR OF POLE OF SPIRAL Xo • ',F10.4,
$ /,10X, 'Y-COOR OF POLE OF SPIRAL Yo • ',F10.4,
$ /,10X,'ANGLE ETA IN DEGREES ETA • ',F10.4,
$ /,10X,'ANGLE BETA IN DEGREES C- Q BTCQ • ',F10~4,
$ /,10X, 'ANGLE THETA IN DEGREES C- Q THCQ • ',F10.4,
$ /,10X,'ANGLE ALPHA IN DEGREES C- Q ALCQ • ',F10.4,
$ /,10X,'ANGLE BETA IN DEGREES BETA • ',F10.4,
$ /,10X,'ANGLE ALPHA IN DEGREES ALPHA • ',F10.4,
$ //,10X,'DISTANCE OF FOOTING FROM SLOPE b • ',F10.4,
$ /,10X,'INITIAL RADIUS OF LOG SPIRAL Ro • ',F10.4,
$ /,10X,'FINAL RADIUS OF LOG SPIRAL Rf • ',F10.4,
$ /,10X,'INITIAL NORMAL STRESS PO • ',F10.4,
$ /,10X,'INITIAL TANGENTIAL STRESS SO • ',F10.4,
$ /,10X,'ANGLE OF LOG SPIRAL THETA • ',F10.4,
$ //,10X,'BEARING CAPACITY FACTOR Nc • ',F10~4,
$ /,10X,'BEARING CAPACITY FACTOR Nq • ',F10.4,
$ /,10X,'BEARING CAPACITY FACTOR Ng • ',F10.4,
$ /,10X,'MINIMUM PASSIVE EARTH PRESSURE Pp" • ',F10.4,
$ /lll/1!1111/l///1/lll/11/,)
c
STOP
END
c
c ............ SUBROUTINES BEGIN BELOW
c
SUBROUTINE ETAS ( PI,GAMMA,C,PH,DEG,RAD,M,B,Df,ETA,ET,PO,SO,
$ P1,S1)
IMPLICIT REAL * 8 ( A-H,o-Z )
100
REAL * 8 M,J
DIMENSION Y1(50),Y2(50),F(50)
TOL ... 0.001
IF ( M.EQ.O.O ) THEN
ET ~ PI/4.0 - PH/2.0
PN1 =PO* DCOS ( PH ) + C * ( 1.0- DSIN ( PH ))
PD1 m DCOS ( PH ) - ( DTAN ( PH ) * ( 1 - DSIN ( PH )))
PD1 a DCOS ( PH ) - ( DTAN ( PH ) * ( 1 - DSIN ( PH )))
P1 • PN1/PD1
S1 a C + P1 * DTAN ( PH )
ELSE IF ( M.EQ.1.0) THEN
ET a 0.0
P1 .. PO
S1 a C + P1 * DTAN ( PH )
ELSE IF ( PH.EQ.O.O ) THEN
ET a (DACOS ( M ))/2.0
ELSE
J = 0
DX ... 1
90 X • J * RAD
C1 • DSIN ( 2.0 * X + PH )
C2 • DCOS ( 2.0 * X + PH )
C3 • DSIN ( PH )
C4 • DCOS ( PH )
C5 • C3/C4
SO • ( C + PO * C5 ) * M
AA ... SO * C4
88 • C * ( C1 ~ C3 ) + PO * C4
CC • C4 - C5 * ( C1 - C3 )
I • 1
Y1(I) • (SO* C4- C * C2 )/( C2 * C5)
Y2(I) • ( C * ( C1 - C3 ) + PO * C4 )/( C4 - C5 * ( C1 - C3 ))
F(I) s AA/( C + ("88/CC ) * C5 ) - C2
80 J • J + DX
I • I + 1
X • J * RAD
C1 • DSIN ( 2.0 * X + PH )
C2 • DCOS ( 2.0 * X + PH )
C3 • DSIN ( PH )
C4 • DCOS ( PH )
C5 • C3/C4
SO • ( C + PO * C5 ) * M
AA • SO * C4
88 • C * ( C1 - C3 ) + PO * C4
CC • C4- c5·* ( C1- C3)
Y1(I) • (SO* C4 ~ C * C2 )/( C2 * C5 )
Y2(I) • ( C * ( C1 • C3 ) + PO * C4 )/( C4- C5 * ( C1 - C3 ))
F(I) • AA/( C + ( 88/CC ) * C5 ) ~ C2
C WRITE(6,100)J,F(I),Y1(I),Y2(I)
C100 FORMAT(10X,4F12.6)
IF· ( F (I) • EQ. 0. 0 ) GO TO 11 0
IF ( F(I~l) * F(I).GT.o.o·) GO TO 80
101
C WRITE ( 6,200)
C200 FORMAT(/)
IF (DABS ( Y1(I)-Y2(I) ).LE.TOL ) GO TO 110
J "' J - DX
DX = DX/10
GO TO 90
110 P1=Y1(l)
ETA "" J
ET = ETA * RAD
END IF
ETA = ET * DEG
RETURN
END
c
c ..............
c
SUBROUTINE HM (XO,YO,Df,B,RO,XB,YB,XC,YC,PH,PHI,PI,DEG,RAD,
$ BETA,ETA,ETTA,T,R,XD,YD,BE,BD,DE,BC,EF,XE,YE,XF,YF,
$ BET,ET,M,SLBD,SLBE,SLOC,ER)
IMPLICIT REAL * 8 ( A-H,O-Z )
REAL * 8 M
DIMENSION T5(50),ZZ(200)
TOL • 0. 01
DEF • 5.0
IF ( PHI.EQ.O.O ) THEN
EF • 6.0
ELSE
EF • 51.0
END IF
ET = ETA * RAD
I .. 0
90 EF • EF - DEF
92 IF ( I. GT. 200 ) GO TO 99
91 IF ( EF.LT.O.O ) THEN
EF • 0.0
DEF • DEF/2.0
ELSE
GO TO 93
END IF
93 IF ( DEF.LE.0.000001 ) GO TO 99
IF ( PH.EQ.O.O.AND.Df.LT.DSQRT ( B )) EF • DSQRT (B*B- Df*Df) IF
( EF.NE.O.O ) THEN .
BET • DATAN ( Df/EF )
ELSE
BET • PI/2.0
END IF
BETA • BET * DEG
XE • XF + EF
YE • Of
IF ( XO.EQ.XC ) THEN
· SI:.OC • PI/2.0
ELSE
102
END IF
IF ( XB.EQ.XE ) THEN
SLBE ,.. PI/2.0
ELSE
SLBE ,.. DATAN (( YB-YE )/( XB-XE ))
END IF
ZZ (I) "' OE - R
C IF ( EF.EQ.0.01.AND.DABS(ZZ(I)).GT.TOL) GO TO 99
IF ( DABS(ZZ(I)).LE~TOL ) GO TO 20
C WRITE(*,111)ZZ(I),EF,DEF,R,OE
C111 FORMAT(/,5X,'ZZ(I) EF DEF R',5F10.4)
IF ( I.LT.2 ) GO TO 90
IF ( ZZ(I).GT.O.O ) THEN
EF = EF i::! DEF
GO TO 92
ELSE IF (( ZZ(I) * ZZ(I-1)).GT.O.O ) THEN
GO TO 90
ELSE
EF "" EF + DEF
DEF • DEF/10.0
GO TO 92
END IF
20 T • T * DEG
OD = DSQRT (( XO-XD )*( XO-XD )+( YO-YD )*( YO-YD ))
BD • DSQRT (( XB~XD )*( XB~XD )+( YB~YD )*( YB~YD ))
BE • DSQRT (( XB~XE )*( XB-XE )+( YB~YE )*( YB-YE ))
BC • DSQRT (( XB-XC )*( XB-XC )+( YB~YC )*( YB~YC ))
ER .. 0.0
GO TO 999
99 ER • 9999.0
999 RETURN
END
c
C SLOPES
SUBROUTINE SM (XO,YO,Df,B,RO,XB,YB,XC,YC,PH,PHI,PI,DEG,RAD,
$ BETA,ETA,ETTA,T,R,XD,YD,BE,BD,DE,BC,EF,XE,YE,XF,YF,
$ BET,ET,M,SLBD,SLBE,SLOC,ER,ALPHA,ALPH)
IMPLICIT REAL * 8 ( A~H,O-Z )
REAL * 8 M
DIMENSION T5(50),ZZ(200)
I • 0
TOL • 0.01
IF ( XB~EQ.XF ) THEN
SLBF·· PI/2.0
ELSE
SLBF • DATAN (( YB-YF )/( XB-XF))
END IF
ET • ETA * RAD
BET • BETA * RAD
IF ( XO.EQ.XC ) THEN
SLOC·· PI/2.0
ELSE
106
ELSE
GO TO 90
END IF
50 OE = DSQRT (( XO-XE )*( XO-XE )+( YO-YE )*( YOt\YE ) )
BD • DSQRT (( XB-XD )*( XB-XD )+( YB-YD )*( YB....,YD ) )
DE = DSQRT (( XD.,...XE )*( XD-XE )+( YD-YE )*( YD-YE ) )
BC • DSQRT (( XB-XC )*( XB,...XC )+( YB-YC )*( YB.-.Yc ) )
BE == DSQRT (( XB-XE )*( XB-XE )+( YB-YE )*( YB,...YE ) )
ER .. o.o
GO TO 999
99 ER "" 9999.0
999 RETURN
END
c
c ............... SM1
c
SUBROUTINE SM1 (XO,YO,Df,B,RO,XB,YB,XC,YC,PH,PHI,PI,DEG,RAD,
$ BETA,T,R,XD,YD,BE,BD,DE,BC,XE,YE,XF,YF,
$ BET,SLBD,SLBE,SLOC,ER,ALPHA,ALPH,Sb)
IMPLICIT REAL * 8 ( A-H,O-Z )
DIMENSION ZZ(200)
I • 0
TOL • 0.01
IF ( XB.EQ.XF ) THEN
SLBF • PI/2.0
ELSE
SLBF • DATAN (( YB~YF )/( XB-XF))
END IF
BET • BETA * RAD
ALPHA • BETA
DALPHA • 2.0
90 ALPHA • ALPHA + DALPHA
94 I • I + 1
IF ( I.GT.200 ) GO TO 99
IF ( ALPHA.LE.BETA ) ALPHA • BETA+ 0.1
IF ( DALPHA.LT.0.000001.0R.ALPHA.GT.90.0) GO TO 99
ALPH • ALPHA * RAD
IF ( ALPHA.GT.SLBF*DEG ) THEN
QE • Df/DTAN ( ALPH )
XE • XB + QE
YE • Of
ELSE
IF ( ALPH.EQ.O.O ) ALPH • PI/720.0
IF ( BET.EQ.O.O ) BET • PI/720.0·
D1 • ,... DTAN { ALPH )
02 • - DTAN ( BET )
E1 - 1.0
E2 • 1.0
F1 • YB ~-> XB * DTAN ( ALPH )
F2 • YF ,_ XF * DTAN ( BET )
DELTA • ( 01 * E2 ) - ( 02 * E1 )
109
IF ( DELTA.EQ.O.O ) GO TO 110
XE "' (( F1 * E2 ) - ( F2 * E1 ) )/DELTA
YE • (( D1 * F2 ) - ( D2 * F1 ))/DELTA
110 ENDIF
IF ( PHI.EQ.O.O.AND.Df.GT.DSQRT(B)) THEN
·xE ,.. XF - Sb
YE ,.. YF
XD ,.. XE
YD ... YE
ELSE
XD = XE
YD • YE
END IF
IF ( PHI.EQ.O.O.AND.Df.GE.DSQRT ( B )) THEN
OE • DSQRT(B)
ELSE
OE • DSQRT (( XO-XE )*( XO-XE )+( YO-YE )*( YO-YE )) ENDIF
IF ( XO.EQ.XC ) THEN
SLOC • PI/2.0
ELSE
SLOC • DATAN (( YO-YC )/( XO-XC))
END IF
T1 • PI/2.0 - SLOC
IF ( XO.EQ.XD.AND.YD.GT.YO ) THEN
· SLOD· ... PI/2~0
ELSE IF ( XO.EQ.XD ) THEN
SLOD .. ·~ PI/2.0
ELSE
SLOD ... DATAN (( YO-YD )/( XO-XD ))
END IF
T2 • SLOD + PI/2.0
T • T1 + T2
R • RO * DEXP ( T * DTAN ( PH ))
IF ( XB.EQ.XD ) THEN
SLBD ··PI/2.0
ELSE
SLBD • DATAN ({ YB~YD )/{ XB,XD ))
END IF
IF ( XB.EQ.XE ) THEN
SLBE ··PI/2.0
ELSE
SLBE • DATAN ({ YB-YE )/{ XB-XE ))
END IF
ZZ(I) • R ,... OE
C WRITE(*,111)I,ZZ(I),ALPHA,DALPHA,R,OE
C111 FORMAT(/,1X,' ZZ AL DAL R',I3,5F10.4)
IF ( DABS(ZZ(I)).LE.TOL ) GO TO 20
, ,0
IF ( I.LT.2 ) GO TO 90
IF ( ZZ(I).GT.O.O ) THEN
ALPHA • ALPHA ~ DALPHA
GO TO 94
ELSE IF (( ZZ(I) * ZZ(I-1)).GT.O.O) THEN
GO TO 90
ELSE
ALPHA • ALPHA - DALPHA
DALPHA • DALPHA/10.0
GO TO 90
END IF
20 T • T * DEG
OD • DSQRT (( XO-XD )* ( XO,..XD )+( YO-YD )* ( YO-YD ))
BD,. DSQRT (( XB-XD )* ( XB-XD )+( YB.-YD )*( YB-YD ))
BE • DSQRT (( XB-XE )*( XB-XE )+( YB-YE )*( YB-YE ))
BC • DSQRT (( XBqXC )* ( XB-XC )+( YB-YC )*( YB-YC ))
ER • 0.0
GO TO 999
99 ER • 9999.0
999 RETURN
END
c
SUBROUTINE ARMS(RO,XO,YO,XC,YC,RAD,PH,PI,SLOC,TT,ALS,XMOM,AARM)
IMPLICIT REAL * 8 ( A-Z )
T • 0.0
DT • 0.5
R1 • RO
XCC • XC
DL2 • 0.0
ALS • 0.0
ARM • 0~0
XMOM • 0.0
T1 • PI/2.0 - SLOC
90 T • T + DT
X • T * RAD
T2 • X .... T1
RF • R1 * EXP ( RAD/2.0 * TAN ( PH ) )
XDD • XO + RF * SIN ( T2 )
YDD • YO - RF * COS ( T2 )
R • ( R1 + RF )/2.0
BASE • R * RAD/2.0
A • 0.5 * BASE * R
XMID • ( XCC + XDD )/2.0
DL2 • 2.013.0 * ( XMID ~ XO )
IF ( XO~LT.XDD ) THEN
ARM·· ARM + DL2
ELSE
ARM • ARM - DL2
END IF
ALS • A + ALS
XMOM • XMOM + A * DL2
R1 • RF
111
XCC • XDD
AARM • XMOM/ALS
IF ( T.LT.TT ) GO TO 90
C WRITE {*,lOO)RF,T,ALS,XMOM,ARM,AARM
C100 FORMAT(5X,6F8.3,/)
RETURN
END
c
c
c
SUBROUTINE AREAS (X1,Y1,X2,Y2,X3,Y3,AREA)
IMPLICIT REAL * 8 ( A-H,O-Z )
AREA • DABS ( 0.5 * ( X1 * Y2 + X3 * Y1 + X2 * Y3 - X3 * Y2
$ - X1 * Y3 - X2 * Y1 ) )
c WRITE(6,200) AREA
C200 FORMAT(/,10X,'AREA • ',F10.4,/)
RETURN
END
c
SUBROUTINE CRI ( X,STP,I )
REAL * 8 X,STP
IF ( X.GE.O.O ) THEN
I • X * STP + 0.5
ELSE
I • X * STP ~ 0.5
END IF
WRITE (*,9)I,X
9 FORMAT(/,' I X ',I4,F10.4)
RETURN
END
c