Mono-cable logging system with intermediate tension control : computer simulation

advertisement
Mono-cable logging system with intermediate tension control : computer simulation
by Albert Vincent Turk
A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in
Engineering Mechanics
Montana State University
© Copyright by Albert Vincent Turk (1988)
Abstract:
A cooperative research project with the USDA-Forest Service has shown the need for a mono-cable
logging system with intermediate tension control as an alternative to road construction in the logging
area. Intermediate control sheaves will be required to maintain optimum tension throughout long
distances and large elevation changes. Preliminary designs have shown the need to model the system to
demonstrate the system's feasability.
A series of FORTRAN programs were written to simulate this system, building first upon single span
solutions, with the eventual program including the capability of simulating the changes in tension of a
system of up to 100 connected spans with as many as 200 loads traversing the system. The individual
sheaves along the system path can be modeled as either control or idler sheaves. The solution of the
necessary equations required the use of iterative solutions.
Comparison was made of the Newton-Raphson method and Brown's method for the solution of a set of
two non-linear equations with two unknowns.
The model satisfies the simulation needs of the system. It allows the monitoring of tension, differential
tension across sheaves, and changes in cable length required within each span. The program showed
the feasibility of the system and gives direction for future modifications of the model to more closely
simulate the actual situation.
The program will provide a solid foundation for current and future work in this area and shows a valid
procedure for future modeling. I
MONO-CABLE LOGGING SYSTEM WITH INTERMEDIATE
TENSION CONTROL: COMPUTER SIMULATION
by
Albert Vincent Turk
A thesis submitted in partial fulfillment
of the requirements for the degree
Of
Master of Science
in
Engineering Mechanics
MONTANA STATE UNIVERSITY
Bozeman, Montana .
March 1988
/\i372
ii
APPROVAL
of a thesis submitted by
Albert Vincent Turk
This thesis has been read b y each member of the thesis committee
and has been found to be satisfactory regarding content, English usage,
format, citations, bibliographic style, and consistency, and is ready
for submission to the College of Graduate Studies.
Date
Chairperson, Graduate Committee
Approved for the Major Department
Date
Approved for the College of Graduate Studies
4-^
Date
Graduate Dean
iii
STATEMENT OF PERMISSION T O USE
In presenting this thesis in partial fulfillment of the
requirements for a master's degree at ,Montana State University, I agree
that the Library shall m a k e it available t o borrowers under rules of
the Library.
Brief quotations from this thesis are allowable without
special permission, provided that accurate acknowledgment of source is
made.
Permission for extensive quotation from o r reproduction of this
thesis m a y b e granted b y m y major professor, o r in his absence, by the
Dean of Libraries when, in the opinion of either, the proposed use is
for scholarly purposes.
A n y copying or use of the material in this
thesis for financial gain shall not b e allowed without m y written
permission.
Signature _
Date
3 /
iv
TABIE O F CONTENTS
Page1. .......................................................................
1
2 . DERIVATION OF SINGLE SPAN EQUATIONS ............... '........... .
3
3
H
16
17
3. METHODS OF S O L U T I O N .................................................
20
Statement of P r o b l e m .................
(Method of Successive S u b s t i t u t i o n ...............................
Newton-Raphson M e t h o d ............................................
Brown's M e t h o d ..........
Comparison of Newton-Raphson and Brown's M e t h o d ...............
20
21
22
25
26
CO CO
The Classic Catenary ................................ ............
The Elastic Catenary .....
Irvine's Development
G o n s i o r 1s Development ...........
Response to a Point L o a d .........
Multiple Point loads on a Span ...................................
4. ASSEMBLY O F THE MULTI-SPAN S Y S T E M ........ ............. ............ 40
Use of Idler Sheaves Between Control Sheaves ...................
U s e of Multiple Control Sheaves ...................... ...... .
Simulation of Cable M o v e m e n t .....................................
Coordination of Tension C o n t r o l ... .......................... . ■ •
40
42
43
44
5. SYSTEM R E S P O N S E .................... ............................. • 47
Initial C o n c e r n s ................................... ...... ;......
Response S p e e d .......... ...................... • • .................
Response M a g n i t u d e .........
Response Precedence .................................
6. CONTROL O P T I M I Z A T I O N ................................................
47
48
49
50
51
Control of T e n s i o n ............................................. . • 51
Power R e q u i r e m e n t s ........... .................................. . • 52
7. CONCLUSIONS ...........................................
- 8.
9.
57
REFERENCES C I T E D ........
58
A P P E N D I X ............................................................
60
V
1
Figure
LIST O F FIGURES
'
Page
5
1. Free-body diagram of a cable s e g m e n t ..... ......................
2. Coordinates for the elastic catenary ............................
10
3. Free-body diagram of cable segment ............................... 12
4. Typical s p a n ......................................................
14
5. Span w i t h multiple point loads ..................................
19
6 . Exatrple s p a n .................................................... . 27
7. Convergence of theta with Io = 1000 f t .......................... 31
8 . Convergence of tension with Io = 1000 f t ........................
32
9. Convergence of theta with Io = 1001 f t .................... ..... - 33
10. Convergence of tension with Io = 1001 f t ........................
34
11. Convergence of theta w i t h range limits .......................... 35
12. Convergence of tension with range l i m i t s .......................
36
13. Tension at span ends during m o v e m e n t ............................
37
14. Change in unstrained length during m o v e m e n t ....................
38
15. Coordinates of load attachment p o i n t .................
39
16. Ith idler s p a n .........................
41
17. Final idler s p a n ..................................................
41
18. Response s i t u a t i o n ....................................
45
19. Tension at first sheave ..........................................
53
20. Tension with variation of response i n c r e m e n t ...................
54
21. Tension with variation of response i n i t i a t i o n ..................
55
22. Differential t e n s i o n ............................. '................
55
23. FORTRAN program base, f o r .............................. ...........
61
ABSTRACT
A cooperative research project1with the UStm-Forest Service has
shown th e need for a mono-cable logging system w i t h intermediate
tension control as a n alternative to road construction in the logging
area.
Intermediate control sheaves will b e required to maintain
optimum tension throughout long distances and large elevation changes.
Preliminary designs have shown the need to model the system to
demonstrate the system's feasability.
A series ,of FORTRAN programs were written t o simulate this system,
building first upon single span solutions,, with the, eventual program
including the capability of simulating the changes in tension of a
system o f u p to 100 connected spans with, as many as 200 loads
traversing the system.
The individual sheaves along the system path ' *
can b e modeled as either control or idler sheaves.
The solution of the
necessary equations required the use of iterative solutions.
Comparison w a s m a d e of the Newton-Raphsbn method and Brown's method for
the solution of a set of two non-linear equations with t wo unknowns.
T h e model satisfies the simulation needs of the system.
It allows
the monitoring of tension, differential tension across sheaves, and
changes in cable length required within each span. Th e program showed
the feasibility of the system and gives direction for future
modifications of the model t o more closely simulate the actual
situation.
The program will provide a solid foundation for current and future
w o r k in this area and shows a valid procedure for future modeling.
I
CHAF.LKR I
IMiSBDCTTGM
I
A s an alternative to building logging roads in rugged and
ecologically sensitive areas, the U. S'; Forest Service is exploring
other methods of timber harvest.
A monocable system with intermediate
tension control is one such option . 1
The system would b e used to
transport timber over unrestricted distances from the forest to landing
sites, using standing timber o r temporary towers, braced with guy lines
to support both idler and control sheaves.
The supports are arranged
in a zig-zag pattern to facilitate passage of suspended loads.
This
also allows a greater tractive force to b e applied b y the control
sheaves.
The addition of braking/pulling sheaves at intermediate
points allows an increase of the possible elevational change using a
given cable size.
A s one span is given more cable to relieve tension
neighboring spans have to give u p cable and are subject t o tension
increases.
Coordination of the cable speed adjustment provided by
these sheaves is thus necessary to prevent a combination of adjustments
causing tensions outside the operating range and a resultant system
failure.
Mechanisms t o measure tension o n either side of a sheave have
1William E. Larsen, -Michael J . Gorisioriy. W. Robert Taylor, "USES M S U Cooperative Research Project", attachment 2. USDA Forest Service
Intermountain Research Station and Montana State University College of
Engineering, 1985.'
2
been designed as well as a control system for hydraulically powered
sheaves.2
This thesis explains the derivation of the equations of
cable tension and load position, and discusses the merits of the
iterative methods of solution that are required.
The system of
combined spans is then assembled with a scheme for coordinated response
using characteristics of the proposed control sheaves.
Various
geographical layouts and system response times may then b e simulated
and the modifications to layout and system components tested to
determine system response as a function of time.
2Ib i d . , attachment I.
3
QffiPTER 2
EERBffiTEQJ O F SIMGEE SPAN EQUATIONS
T h a Classic C&taiary
The free-body diagram of a segment of cable is shown with spatial
coordinates x and z in Figure I.1
w
The cable weight p e r unit length is
(considered constant), and the tension T is a function of position.
For a segment of finite length 6s,. spanning finite spatial dimensions
5x and 6z, the equation of horizontal equilibrium is
<
t
(2.1)
[T(dx/ds) +
(2.2)
(d(T(dx/ds) )/ds) 6s] - T(dx/ds) = 0
or d(T(dx/ds) )/ds = 0.
Thus t he change in T(dx/ds) with respect to the variable s (span
position)
(2.3)
is zero.
Integrating with respect to s
J[d(T(dx/ds) )/ds]ds = T(dx/ds) + C = 0.
This includes C as a constant of integration.
Letting dx/ds represent
the cosine of the cable slope angle G, where H is the horizontal
ccttponent of cable tension (constant throughout the span) the equation
becomes
(2.4)
T (dx/ds) = T cos 8 = H
or
T = H(ds/dx) = H sec 0.
1H. M a x Irvine, Cable Structures. (Cambridge: M I T Press, 1981), 5.
4
The equation of vertical equilibrium is
(2.5)
[T(dz/ds) +
(2.6)
(d(T(dz/ds) )/ds)6s + w5s] - T(dz/ds) = 0
or d(T(dz/ds) )/ds = ^w.
Thus the change in T(dz/ds)
is not zero with respect t o the variable s.
Integrating w i t h respect to s
(2.7)
J[d(T(dz/ds))/ds],ds =
J
-jWds.
Letting dz/ds represent the sine of the angle 0
(2.8)
T (dz/ds) = T sin 6 = -ws + G
A n alternate form of equation 2.6 can b e found in combination with a
manipulation of equation 2.4.1
(2.9)
(2.10)
(2.11)
d( (H(ds/dx)) (dz/ds) )/ds = H[d(dz/dx)/ds] = -w
H[(d(dz/dx)/dx) (dx/ds) + (d(dz/dx)/dz) (dz/ds) ] = -w
H[(d2z/dx2 )(dx/ds) +
(d(dz/dz)/dx)(dz/ds)] = -w
(2.12)
H(d2z/dx2 )(dx/ds) = -w
(2.13)
H(d2z/dx2 ) = -w(ds/dx)
In the case of -w(ds/dx)
(the load intensity per unit span) equal to a
constant K 1 , 1.13 can b e integrated twice to give a parabolic profile.
(2.14)
z = 3SK1X2 + K 2X + K 3 .
1Ib i d . , 4-6'.
5
A ( O fO)
B ( I fO)
T(dz/ds)
T(dx/ds) + [d(T(dx/ds) )/ds]<Sx
I
T (dz/ds) + [d(T(dz/ds) )/ds]6z
Figure I.
Free-body diagram of a cable segment.
The values of the constants can be determined using the given boundary
conditions.
When the quantity ^w(ds/dx)
is not constant, equation 2.13
can be solved using the geometric constraint relating ds to dx and dz.
(2.15)
(2.16)
dx2 + d z 2 = d s 2
ds/dx = (I +
(dz/dx)2 )^
Equation 2.13 then becomes
(2.17)
(2.18)
H(d2z/dx2 ) = —w (I +
(dz/dx)2 )^
or d 2z/dx2 = -(w/H)(I +
(dz/dx)2 )^ .
6
W i t h cable ends at coordinates (0,0) and (0,£) equation 2.17 is
satisfied b y 1
(2.19)
z=
(H/w) (cosh(w£/2H) - cosh([w/H] [ (£/2) - x]) }
From the relationship developed in equation 2.15 cable length s between
the origin and any x coordinate can b e found.
X'
(2.20)
s =
f
(I +
(dz/dx)2 }^
dx
0
(2.21)
s =
(H/w) {sirih(w£/2H) - sinh([w/H] [ (£/2) - x ] ) }
Given a cable of length Iti spanning the gap of horizontal dimension £
the horizontal component of tension m a y b e found b y solving equation
2.22 for H
(assuming w is known and constant).
(2.22)
s i h h (w£/2H) - (wIti/2H) = 0
The tension at any x coordinate is given by
(2.23)
T = T(X) = H cosh{ [w/H] [ (£/2) - x ] }.
A different development of the equations begins with equations 2.2 and
2.6 expressed in trigonometric form.2
(2.24)
d(T cos 6)/ds = 0
(2.25)
d(T sin 0)/ds = w(s)
1Ibid., 6.
2Irving H. Shames, Engineering Mechanics; Statics and Dynamics,
(Englewood Cliffs: Prentice Hall, Inc. 1980), 240.
7
Here w is not constant b u t considered t o b e a function o f position s
along the span.
(2.26)
Integrating both equations with respect t o s gives
T cos 9 = H
(2.21)
(2.28)
or
T = H /
cos 0.
T sin 9 = Jw(s) ds + C 1 '
T sin 9 =
(2.29)
(H / cos 9) sin 9 = H tan 9 = H (dz/dx)
dz/dx = (1/H) Jw(S) ds + C 1
Equation 2.29 cannot b e integrated directly as shown as t he right side
involves a function of s, but m ay b e integrate! with respect to s by
eliminating dz using the geometric relationship of equation 2.15.
(2,30)
(2.31)
(dz/dx)2 + (dx/dx)2 = (ds/dx)2
dz/dx = ((ds/dx)2 -
I ) '2
Inserting the representation of dz/dx into equation 2.29 and separating
variables
(2.32)
(2.33)
(2.34)
((ds/dx)
Jw(s)ds
ds/dx
Jw(s)ds
x=J{
Jw(s)ds
ds
2 -
I ) ' 2 = (1/H)
= (I + [(1/H)
I + [(1/H)
+ C1 .
+ C 1 ]2 )^
+ C 1 ]2 )-3*
+ C2
Equation 2.34 m a y b e integrated when the function w(s)
is known and the
constants of integration m a y b e evaluated from boundary conditions.
Function w(s)
is a constant in the case of an inextensible cable of
constant mass p e r unit length.
The profile of an inextensible cable
loaded b y its own weight is known as a catenary.
8
T h e M a R b ic Catvsnmirv
Irvine's Etevelonmant
A n actual cable will stretch when under tension in accordance to
Hooke's Law
(2.35)
a = Ee
where E is the cable elastic modulus, q is the stress, and e is the
strain.
W i t h a cable suspended between points A
.
(0,0) and B (l,h) the ■
unstrained profile is a function of cable position s, as shown in
Figure 2.
Allowing the cable to deform under load t o a strained
profile t he location of a given point s is now defined b y the
Lagrangian coordinate p . 1
The weight of the entire cable of unstrained
length Lto between points A and B is W.
(2.36)
W = Wlto
A t A define the vertical and horizontal components of tension as V and
H respectively.
Allowing s to equal zero at A and equal Ito at B the
components of tension at a point s along the cable are defined as
(2.37)
(2.38)
T sin 0 = T(dz/dp) = V -
Wfsyito)
and T cos 0 = T(dx/dp) = H.
0 is n o w defined b y the deformed position of the cable.
m a y n o w b e written in terms of the deformation.
1Irvine, Cable Structures. 16.
Equation .2.35
Allowing A to to equal
9
the unstrained cross sectional area, L to equal the strained length of
the cable, and E t o equal the cable elastic modulus
(2.39)
TZA0 = E ( (CfeZds) - I),
(2.40)
or T - EA0 ((cfe/ds) - I ) .
The end conditions of s = p = 0 at (0,0) and s - Ito, p = L at (£,h)
allow solution for x, z, and T as functions of s.
The geometric
constraint to satisfy becomes
(2.41)
(dxycfe)? +
(2.42)
(dzydp)2 = I.
(HZT)2 + ((V - Wsyito)Z T)2 = I
This yields the desired expression for tension as a function of s.
(2.43)
(H2 +
(V - WsZIto)2 )^ = T(S)
Working from equations 2.38 and 2.40
(2.44)
dxydp = HZT (s).
'
(2.45)
dp/ds = (T(S)ZEA0 ) + I
(2.46)
(2.47)
dxyds =
x = H
J
(dxydp) (cfe/ds) = (HZEA0 ) + H/T(s)
( V E A 0 ) + (H2 +
(V - Wsyito)2 )
ds
0
When incorporating the end conditions at (0,0) the resultant form is
(2.48)
X(S) = HsZEA0 + (HItoZW) [sinh-1 (VZH) - sinh- 1 { (V - Wsyito)ZH}].
Using equations 2.37 and 2.40
(2.49)
(2.50) dzyds =
dzydp = (V - Wsyito)ZT(s).
(dzydp) (dp/ds) = { (V - WsyitoV T ( S ) } { (T(S)ZEA0 ) + 1}
10
A(0,0)
P(x,z;p)
B(£,h)
Figure 2.
JQ[{(V
Coordinates for the elastic catenary.
rs
(2.51)
z =
- WsZIti)/EA0 ) + {(V - Wsyiti)/T(s)}]ds
Integration with respect to s, and use of end conditions at (0,0)
yields
(2.52)
Z(S) = (HItiZW) [(1+(V/H)2 )^ - (1+((V - Wsyiti)/ H)2 }^ ]
+
(WsyEAti) { (V/W) - (s/2^)}.
By substituting Iti for s in equations 2.48 and 2.52 values for h and I
will be found, provided the correct values of H and V are used in the
equations.
Setting the equations in the form / ( H fV) = 0 yields a set
of t wo nonlinear simultaneous equations with two unknowns.
(2.53)
X ( H fV) - h = 0
(2.54)
Z (HfV) - £ = 0
11
An iterative solution must be pursued for the values of H and V.
Since
H and V are functions of T and 9 the latter two unknowns may be solved
for when that is more convenient.
In methods that require the
/
simultaneous solution of equations, T and 6 must be used, as H and V
are not independant variables.
Gonsior °s Development
From the starting point of the cable segment shown in Figure 3,
the equations of equilibrium may be stated as^
(2.55)
(2.56) .
T cos 0 - (T + dT) cos (9 + d0) = O
and, T sin 0 - (T + dT) sin (0 + d9) - w^s — ,0.
The weight per unit length of the deformed cable (w) can be expressed
in terms of the strain (e) and unstrained weight per unit length (w).
(2.55)
w = w /(I + e)
With the unstrained cross sectional area expressed as A0 the strain may
be expressed as
(2.56)
(2.57)
e = TZEA0 .
W = WrZ ( I t T Z E A 0 )
Letting V E A 0 = K equation 57 becomes
(2.58)
w = w Z ( l + TK).
1William E. Larsen, Michael J. Gonsior, W. Robert Taylor, "USES
MSU Cooperative Research Project" A4.4.
12
e + de
Figure 3.
Free-Ixdy diagram of cable segment.
By expanding equations 2.55 and 2.56 using the identities for sine and
cosine of a sum the equations may be restated as in equation 2.59.
(2.59)
T cos 0 - (dr + T) (cos 0 cos d0 - sin 0 sin d0) = 0
(2.60)
T sin 0 - (dT + T) (sin 0 cos d0 + cos 0 sin d©) = wds
As an angle a goes to zero the cosine of a approaches I and the sine of
a becomes a.
Thus by letting sin <30 equal <36, and cos <36 equal I
(2.61)
T cos 0 - (dT + T) (cos 0 - <30 sin 0) = 0
(2.62)
or
(2.63)
T sin © - (dT + T) (sin 0 + <30 cos 0) = wds
(2.64)
or
<3Td0 sin 0 - dT cos © + Td0 sin 0 = 0,
d T sin 0 + did© cos 0 + Td© cos 0 + wds = 0.
Ignoring terms involving products of differential quantities
(2.65)
(2 .66)
Td© cos 0 + dT sin 0 = wds = (w / (I + T K ) )d ^
and
d T cos 0 = Td© sin 0.
13
(2.67)
dT/T = tan © d©
J
(2.68)
dT/T =
J
ta n © d©
(2.69)
In(T) = ln(sec ©) + C
(2.70)
In(T) - In (sec 9) = ln(T/sec 0) = ln(T cos 8) = C
(2.71)
(2.72)
T cos © =
= C1 = H
dT/d© = H (tan © sec ©)
or
or
T = H sec ©
d T = H tan 6 sec 0 d©
Combinir^ equations 2.65, 2.71, and 2.72
(2.73)
HdQ + H tan2 © d© = (w /(I + H K sec 0))ds.
(2.74)
(I + tan2 ©)Hd8(T +(HK Sec ©))/w = ds
(2.75)
(sec2©) (1+HK sec ©) (H/w)d© = (sec2© + H K sec3©) (H/w)d© = ds
*
1
<
Integrating both sides of equation 2.75 between proper limits,
(2.76)
s - s0 =
(H/w) (tan 0 - tan 0O + %KH[ln(sec © + tan 0)
+ tan © sec 6 - ln(sec Q0 + tan ©0 ) - tan Q0 sec ©0 ]}.
The quantity s - s0 is the distance of strained cable between the
f
points (x,z) and (X0rZ0 ) where the tensions are T and T 0 , with cable
slopes © and Q0 respectively.
The distance (x - X0 ) was previously
defined as £, between points (0,0) and (£,h).
Since H is constant
throughout the span
(2.77)
T cos 0 = T 0 cos Q0 = H.
A typical span is illustrated in Figure 4.
The equation of vertical
equilibrium m a y b e written as
(2.78)
T sin 8 - T0 sin Qq - Vlc = 0.
14
B(x,z)
Figure 4. Typical span.
If W c is the weight of the cable in the span, the unstrained length may
be found to be
(2.79)
= W cZw = (T sin 8 - Tc sin 60 )/w.
By combining equations 2.76, 2.77, and 2.79 total cable stretch may be
found.
(2.80)
L - Iti = (KH2/2 w ) [ln(sec 8 + tan 8) + tan 0 sec 6
- In(sec Gc + tan 80 ) - tan 80 sec Gc ]
In order to find equations for x and z as functions of 6 the chain rule
is used.
(2.81)
dx/d6 =
(dx/ds)(ds/dG) =
(ds/dG)cos 6
(2.82)
dz/d8 =
(dz/ds)(ds/dG) = (ds/dG)sin 0
From equation 2.76, when differentiated with respect to 6
15
ds/d9 = (H/w)(Sec2G + KH
(2.83)
Sec3G).
(2.84)
dx/dG = H (sec G + KH Sec2G)
(2.85)
dz/dG = H (tan 6 sec G + KH tan G Sec2G)
Separating variables and integrating both sides
Je,
G
(2 .86)
(2.87)
(x -
(x -
X0) = (IVw) (sec 6 + KH sec2G) dG.
X0) = (H/w) [ln((sec 6 + tan G ) / (sec G0 + tan Q0 ))
+ KH (tan 6 - tan G0 )]
(2.88)
Q
(z 7 z0 ) = (H/w)J (tan 9 sec G + KH tan 9 Sec2G)dG
8,
(2.89)
(z - z0 ) = (H/w) [ (sec 6 - sec G0 ) + ^KHftan2Q - tan260 ) ]
Thus we again have two simultaneous equations from which two unknown
values may be found.
Further manipulation yields equations in the form
(2.90)
G0 = sin"1 [(I - f)/(l + f) ],
(2.91)
G = sin"1 [(g - l)/(g + I)],
(2.92)
f = [Cos2G/(I + sin 6)2]ea,
(2.93)
g = [(I + sin G0 )2Zcos2G0 ]ea ,
(2.94)
a
= 2 [(w/H) (x - X0) - BH (tan Q - tan G0 ) ].
This will allow for an iterative solution for one value of 6, given H,
(x -
X0), and the other value of G.1
It can be shown that Irvine's and
Gonsior's derivations are totally equivalent.
1Ibid., A4.8
16
•Ripfipccrse to a Paint: rTnad
The slope of the cable section at a point and the magnitude of the
components of cable tension at the point are directly related.
It has
been shown that the horizontal component of tension is constant, thus
it is the change in the vertical component which is responsible for the
change in cable slope.
The vertical component of tension changes with
distance s in a continuous manner.
When a point load is applied to the
cable there is a discontinuity in the cable slope at this point.
A
cable with a point load of weight M, located a distance of unstrained
cable
S1 from the origin (0,0) will have slope 0 with tan 0 equal to
V/H at the initial point, tan Q1 equal to ((V - (Ws1ZIti) )/H)
immediately preceding the load, tan 02 equal to ( ( V - M -
(Ws1ZIti) )/H)
immediately following the load, and tan 0O equal to ( ( V - M - W)ZH) at
the terminal point (£,h), as in Figure 5.
The equations of position x
and z must satisfy the geometric constraint that they be equal on each
side of the discontinuity.
constants of integration.
This is done using proper values for the
The equations for T, x, and z take two
forms, one valid on 0 < s <
S1, and the other valid on S1 < s < Iti.
Letting 0S be the slope at the point s, for 0 < s <
S1 (i. e . ,
preceding the point load)1
(2.95)
T(s) = (H2 + (V - WsZIti)2
(2.96) x(s) = HsZEA0 + (HItiZW) [sinh-1 (VZH) - sirih_ 1 ((V - WsZItiV H ) ]
: T cos 0{SZEA0+(ItiZW)[sinh- 1 (tan 0) - sinh 1 (tan 0S )]}
1Irvine, Cable Structures. 20-21.
17
(2.97)
z(s) =
(HEtoZW)Ctl + (V/H)2 }^ - (I + ((V - WsjZIto)/H)2 }^]
+ (WsZEAto) [(V/W) - (SZZIto)]
= ((T cos 0) ItoZW) [sec 6 - sec 6S ] + (WsZEAto) [ (tan ©) - (sZ2Ito) ].
For the point s located beyond the point load, S1 < s < Ito
(2.98) X(S) = H s Z E A to (HLtoZW) [sinh- 1 (V/H) - sinh-1 ((V-M-(WsZIto))ZH)
+ sinh-1 ((V-M- (Ws1ZIto) )ZH) - sinh- 1 ( (V-(Ws1ZIto) )ZH) ]
= (SZEAto + (ItoZW) [sinh ^ (tan 6) - sinh ^ (tan 0S )
+ sinh ^ (tan 02 ) - sinh \ t a n O 1) ] }T cos 0,
(2.99) z(s) = (HItoZW) [{1 + (VZH)2 ^
- (I + ((V-M-(WsZIto) ) Z H ) ^
+ (I + ((V-M-(Ws1ZIto))ZH)2 )^ -.{1 + ((V-(Ws1ZIto))ZH)2 )^
+ (MWZ(HEA0Ito)) (S1 - s)] + (WsZEA0 ) [ (VZW) - (sZ2Ito) ]
= ((T cos 0) ItoZW) [sec 0 - sec 0S + sec O2 - sec O 1 ]
+ (M[s1 - s ] + W s [tan © - (sZ2Ito) ])ZEA0 ,
(2 .100)
T(S) = (H2 + ((V - M
(WsZIto))ZH)2 )^.
I
To find H and V (or T and 0) for a particular span substitute s = Ito in
equations 2.99 and 2.100, with proper root values found when x(H,V> = I
and z(H,V) = h, as in equations 2.53 and 2.54.
Multiple Boint Ifgtda o n a Span
Sinclair has developed a dimensionless formulation for multiply
loaded spans, taking advantage, of the .recursion becoming apparent in
the single point load formulation, and simplifying the notation.1
dimensionless terms used in the formulas are given as
1Irvine, Cable Structures. 22^24.
The
18
(2.101)
n = x/ L q
(2 .102)
H =
horizontal coordinate of strain©! profile
z/ L q
(2.103) o = s/I^,
vertical coordinate of strained profile
Iagrangian coordinate of unstrained profile
(2.104) CTn = SnZIto
(2.105) S = Myito
Iagrangian load coordinate (n = I, 2 , ___ ,N)
relative vertical displacement of end points
T = Iyito
(2.106)
(2.107)
cable aspect ratio
9 = Tyw
(2.108)
e = Hyw
(2.109)
a = vyw
(2 .110)
horizontal reaction at all points
vertical reaction at initial point
(3 = WyEA0
(2 .111)
cable tension
(Pn = MnZW
flexibility factor
applied concentrated vertical loads
n
$n = Z
j = "I
(2.112)
We define ct0 = 0, 0
= 0, and 0 O = 0.
The equation of vertical
equilibrium at a point on the strain©! profile is
n
(2.113)
T(dzydp) = V - E
M i - Wsyito
i = 0
The equations for horizontal and vertical position and tension are
0(cr) = { e 2 + (a - $n - Ct)2 ^
(2.114)
O(Ct ) = e[/3CT +
(2.115)
n
+ E{sinh
i = 0
-I
sinh 1 ( a / e ) - sinh 1 ((a - $n - cr)ye)
-l
((a - #i - (Ti )Ze) - sinh
((a -
- (Ti ) Z e ) }]
(2.116) /i(CT) = j3ct(q : - o / 2 ) + (e 2 + a2 }^ - ( e 2 + -(a - $n - ct)2 )^
n
i
+ E
[/S^i (CTi - Cr) + (e 2 + (a - Gi - CTi ) 2 )^
i = 0
'
- (e 2 + (a - ^
1 ~ (Ti)2}N],
19
Figure 5. Span with multiple point loads.
These equations are valid on crn < ct <
, for n = 0,1,2,..., N.
substituting s = I0 into equations 2.115 and 2.116 a = I and the
equations m a y be solved for e and a
(and consequently T and 6)
iteratively in the manner of equations 2.53 and 2.54.
By
20
CHRPQR 3
MEIHDDS o f s q h j h g m
of Ppdblsin
With all the cases previously defined, whether elastic or
inextensible, unloaded or multiply loaded, there are two simultaneous
nonlinear equations that may be solved for a maximum of two variables.
When beginning the process of setting up a series of spans the unknowns
are the angle of slope at the initial point and the unstrained length.
This is because the desired tension is specified, and all variables
should be defined,other than 0 and I0 .
In performing further analysis
as the system has loads introduced, or the speed of sheaves is
adjusted, the cable length is known and the variables to be solved for
are the tension and the angle 0, at the initial point,
if the equation
for the x dimension is referred'to as f x and the equation for the z
dimension is referred to as f z the problem is finding the roots of the
equations
(3.1)
Zx (TfO fI0 ) — £ — 0,
(3.2)
Zz(TfG fI0 ) - h = Q
In these equations £ is the horizontal dimension and h is the vertical
dimension.
Either T or I0 will be specified leaving two equations and
two unknowns.
With the nonlinear equations an iterative solution must
21
be used.
Three commonly used are the method of successive
substitution, the Newton-Raphson method, and Brown's method.
Method of Successive Substitution
Consider a set of nonlinear algebraic equations
(3.3)
(3.4)
' Fl(XizX2 ) = 0,
F2(xIzX2) =
o.
The equations m a y be written in combined form as
The unknowns are the values x.
Adding x to each side of equation 3.5
yields a form from which an iterative solution scheme may be derived.
(3.6)
X1 + Fj (X) = X1
(3.7)
The superscript k denotes the iterate number.1
Thus b y making a guess
for all the values of x, and following this iterative procedure with
one of these values (x-jj the value of xj[ may be found to the desired
degree of accuracy if the process of equation 3.6 converges.
With a large system of equations this process becomes very long, but
for our purposes we have only two equations with two unknowns.
Assuming convergence, a guess of values for
These would be used in the formula for
X1 and X2 would be made.
F1(XlzX2) as in equation 3.7,
1Bruce A. Finlayson, Nonlinear Analysis in Chemical Engineering.
(New York: McGraw-Hill, Inc. 1980), 8-9.
22
with iterations made until
and the guessed value of
new value of
back into
X1 had converged.
The converged value of X1
X2 would then be used in F2 (XlfX2) to find a
X2 . 'The values of X1 and X2 would then be substituted
F1(XlfX2) again and the process repeated until both variables
approach their root value.
Convergence will occur if the partial
derivative with respect to
X1 has an absolute value less than or equal
.to one in the area of the root, and the guess for
root.
X1 is close to the
The partial differential (in this case with respect to
be expressed as SZSx1 for the remainder of the paper.
X1) will
In general, for
a being the solution of Q1 = Z1 (Ce), given an h > 0 if there exists a
number 0 < /x < I such that
n
(3.8)
S Bbs(Sf1ZSXj) < JLt
j
Then
for Bbs(X1-Ce1) < h
i = I,... fn.
x £ = Z1 (x 1^"1)
X1 converges to Ce1 as k increases.
necessary condition for convergence.
is linear.1
This is a sufficient but not
When convergence occurs the rate
This in essence is the method used by Gonsior in his BASIC
language program used to find tensions and load positions in a multi­
span, multi-load cable system.2
Newtcn-Raphscai Method
Suppose that x =
nonlinear system f ( k )
[XlfX2, ... xn ]T is the solution of the
= 0, then Z1 (X) = Z z ( X ) = ... = Zn(x) = O -
The
1Ibid., !3.
2Larsen, Gonsior, Taylor, "Cooperative Research Project", A3.4.
23
Taylor series expansion of Z1 (X) = 0 about the points x truncated after
the first derivative terms is
^
fl(x) = Z1 (X) + (SZ1 (X)ZSx1) (X1
^
- X1) +
(SZ1 (X)ZSx2 ) (x2 - x2) + ... + (SZ1 (X)ZSxn ) (xn - xn ).
If x approximates x, then the difference x - x
will be dx.
Rather
than find the exact value for d x to satisfy Z(x + dx) = 0 as in an
explicit method, the value of x will be adjusted iteratively to
converge on x.1
Each iteration is in essence an improved "guess" at
the root, thus no roundoff error accumulates in the process.
For the
two equation, two variable system of concern the error estimating
scheme is
Zi(X) + (SZ1ZS x 1)CJx 1 + (SZ1ZSx2 )dx2 = 0,
(3.10)
Z 2 (x ) + (SZ2Z Sx1Jdx1 + (5Z2Z5x2 )dx2 = 0.
Equation 3.10 follows from 3.9 as the value of f(Sc) -
0.
This can be
written in matrix form as
or
SZiZSx1
SZ1ZSx2
Clx1
Zi(X)
SZzZSx1
SZz ZS x 2
dx2
/2 w
[ Z' (x) ]
{ dx }
=
[ - Z(x) ].
When the 2 by 2 matrix of differentials (the Jacobian matrix) is
inverted and multiplied by the column vector of function values the
1Melvin J. Maron, Numerical Analysis: A Practical Approach. (New
York: Macmillan Publishing Co., Inc., 1982), 176-179.
24
values of d x are found.
The values of x are adjusted
and the
procedure repeated until the desired degree of accuracy is attained.
= X k + [d%k = ~ f '
(3.12)
]
Convergence is quadratic in this method, in contrast to the linear
convergence of the successive substitution method.
In a computerized
analysis there is no loss of accuracy in using numerical derivatives in
the procedure.
A forward difference method of interval h is1
Sfi(XlfX2)ZSx1 = Cfi(XrHifX2) - fI(XlfX2)V h + O(h)
(3.13)
or
Sfi(XlfX2)ZSx1 K Cfi(X1HifX2) - ^ ( X lfX2)Jfh.
The order of error (0(h)) is linear in h, therefore cutting h in half
will reduce the error by half.
As the value of x approaches x the
value of h can be equated to the value of Zi (X) ~ O f and as h
approaches zero the error also approaches zero (h =
Zi(X) f 0). With
this procedure convergence is generally as rapid as when using the
exact derivatives in the calculation.2
The Newton-Raphson method was
used b y the author to write several FORTRAN language programs to
analyze cable tension and load coordinates.
Good initial root guesses
are necessary to guarantee convergence and will improve solution time.
1Robert W. H o m b e c k f Numerical Methods. (Englewood Cliffs:
Prentice Hall, Inc., 1975), 17.
2Maronf 182.
25
RnnangS Kgfchod ■
In Brown's method the Newton-Raphson method is modified to
provide a wider range of more rapid convergence.
expansion is also used here.
is x.
The Taylor series
The true root is x and the latest guess
From the point of equations 3.10 with d x written as x - x the
equations became
Zr1 (X) + (Sf1 (X)ZSx1 ) (X1 - X1) + (Sf1 (X)ZSx2 ) (x2 ~ x2) = 0
(3.14)
f2 (x) + (Sf2 (X)ZSx1) (X1 - X1) + (Sf2 (X)ZSx2)(x2 - x2) = 0.
All function and derivative terms are known constants as the values of
x are used in their evaluation.
In the equation for Z1 separate the
partial derivative term with the greatest absolute value (assume
Sf1ZSx2 in this example) to solve for the unknown value (x2) .1
(3.15)
x2 = x2 - (Ef1 (X) + (Sf1 (X)ZSx1) (X1 - X1)IZESf1 (X)ZSx2])
Thus X 2 has been defined entirely as a function of known values and the
unknown value X1 .
Rename X2 as b 2 = b2 (X1) for clarity, and note that
b 2 (X1) = x2 - Z 1 (X)Z(Sf1 (X)ZSx2 ) .
Now define function g2 .
92 (%) = Z ^ l f b 2 (X1))
(3.16)
92 (Xi) = ^ ( X i f b 2 (X1))
1Kenneth M. Brown, "A Quadratically Convergent Newton-like Method
Based Upon Gaussian Elimination", SIAM J. Numer. Anal.. V o l . 6, No. 4
(December 1969), 560 - 569.
r
26
Expand
g2 in a Taylor series about the point X1, truncate, and solve
for the variable
X1.
(3-17)
Rename
% = X1 - [92(Xi)/(&92(Xl)Z^x1)]
X1 as b 1 and note that b 1 is defined completely.
b-L is the new approximation of
This value of
X1 to the true root X1. Substitution
into b2 (X1) gives the new value of
X2 to be used.
The process is
repeated until the change between old and new values reaches an
acceptable value.
Brown reports convergence in fewer iterations than
the Newton-Raphson method and convergence when the Newton-Raphson
method failed.I
Ocmparison of IfewtonHRaDhsan and Brown's Method
With a sample problem the three methods are compared.
A 1000.88
foot span (h = 341 ft., I = 941 ft.) is crossed with a 1000 foot cable!. '
The cable diameter is 3/8 inch (area of 0.1104 sq. in.) with a weight
of 0.2588 pounds per foot, with a cable elastic modulus of 2 (107 )
pounds per square inch.
The equations will be solved in terms of
tension and cable slope at the initial point (0,0).
The equations to
solve to find T and © are (from 2.48 and 2.52)
Zr1 (TzO) = ((3.864)T cos 9) [sinh- 1 (tan 9)
(3.18)
- Sihhr1 ((T sin 9 - 258.8)/T cos 9) ]
+ 4.529(IO-4)T Cds 9
1Ibid., 567.
- 941 « 0
27
f2 (T,e) = (3.864)T cos 0[ (I + (tan 0)2 }^
- (I + ((T sin 0 - 258.8)/T COS 0)2 }^ ]
(3.19)
+ (0.1172)[((T sin 0)/258.8) - 0.5] - 341 = 0
Thus there are two equations with two variables, both equations
nonlinear.
An initial guess at T and 0 must be made, and we will guess
arbitrarily at a tension of 5000 pounds and a slope equal to the chord
slope of 19.9°
(0.3796 radians).
Substituting these values into
equations 3.18 and 3.19 gives Z 1 equal to -1.43 feet and
6.79 feet.
f2 equal to
Partial derivatives must be taken of both equations with
respect to both variables, and due to the complexity of the equations
numerical differentiation is used.
(3.20)
SfiZST = [fi(l.O!T,0) - fi(T,0) ]/0.01T
(3.21)
S f i ZSQ = [^i (TfI-OlO) - fi(T,0)]/O.O10
V
f
cable weight = Wlt,
Figure 6. Example span.
28
This gives the four values of the Jacctoian matrix for this root
estimate.
(3.22)
[J]
S f 1ZST
Sf^ZST
S f 1ZSQ I
Sf^ZSQ J
F
L
-0.00124 -353.507
0.00475 947.309
Using the Newton-Raphson approach, the Jacctoian matrix is inverted and
multiplied by the column vector of f ^ values to find the value dx^ that
is added to the original X^ estimate for the new iteration value.
(3.23)
[J]"1
(3.24)
1868.786
-0.00938
(dX) = - [J r 1 (Z)
(X') = (X) + (dx)
(3.25)
697.3742 I
-0.00244 J
2603.754 I
-0.00506 J
2396.246
0.384659
Repeating the procedure gives the succeeding values of T and 0 shown in
Figures 7 - 1 0 .
Small changes in 0 create large changes in the value
of f thus the proposed procedure of using the values of f for h in the
differentiation process cannot be used for incrementing 0 until the
iterative process has closely approached the root, leading to values of
f ~ 0.
With values of d0 of magnitude tt/ 4 and greater, quadrant and
thus sign changes occur in the trigonometric functions composing the
equations.
Brown's method, with the same initial root guesses as the
previous example, using the process from equation 3.15 with T 1 and 0'
as the true root values and Tn and On as the estimated values, yields
29
0' = ©0 - [-1.4314 - 0.004753(T'- T 0)]/(-353.507),
(3.26)
0' = 0.393231 - 3.504137(10_6)T '.
This value of 0', found using Z1 / can now be used to find T 1 in terms
of T 0 , as in equations 3.16 and 3.17, and this is used to find O 1 .
in
finding the numerical derivative of- g 2 (T) = g 2 (T,©1(T)) « f 2 (TrG) it is
important to increment T in the tension terms as well as in the 0 1(T)
terms.
(3.27)
(3.28)
T 1 = T 0 - [3.72834(0.001439)3 = 2408.49
- O 1 - 0.393231 - 3.504137(10-6) (2408.49) = 0.384791
Repeating the process gives results as shown in Figures 7 - 1 0 .
The
methods are essentially equal in speed of convergence for the elastic
catenary equations.
Due to the periodic nature of the functions of the unknown value
0, a large change in 0 has no more effect than the remainder of the
change when divided by 2 n .
1.
The Jacobian matrix is ill-conditioned,
e. small changes in 0 produce large changes in the functional values,
thuis avoiding the matrix inversion required in the Newton-Raphson
method would be an advantage.
The Brown's method using Z 1 as h in the
differentiation with respect to tension and 0.010 as h in the
(differentiation with respect to 0 should be the best procedure.
As is
seen by the initial estimate variation of the methods when adding one
foot to the cable length a poor root guess can result in wildly wrong
divergent estimates.
A range limit should be established for the new
estimates of tension and 0 to limit the divergence, such as © limited
to values between the chord slope (OcJ1) and (tt + OcJ1)/3 (close to but
30
not equal to kn ) , and tension between a low non-zero value and the
elastic limit of the cable.
The ultimate strength (uu ) of cable can
reach 1,500 MPa, and the elastic limit is typically half the ultimate
strength (cre = ^ctu ) .1
ksi.
Thus an upper limit could be 750 MPa « 1,067
Since each succeeding value produced by either algorithm is
simply a root estimate, bracketing the range is an improvement of the
estimate with no adverse effect, as long as the range does bracket the
true root.
A comparison of the methods with the same example span but'
with Lto of 1005 feet was done with a lower tension limit of 100 pounds,
and 0 between Qd h and % (Qch+ ^ )
(0.3796 and 0.9752 radians) with
results shown in Figures 11 and 12.
Usirg the Newton-Raphson method, the author has written programs
to give load position, tension at both ends, and load dip from the
chord position.
Using a specified tension, 6 and Lto are found when
incrementing the distance of a load from the initial point along the
cable.
This gives a simulation of cable motion, and has produced data
for many combinations of tension, chord slope, and chord length.
Examples are given for a span of similar dimension to our example span
with a 500 pound load traveling across with a maximum tension of 3000
pounds in Figures 13 through 15.
1Lrvine, 72.
e s tim a te d angle th e ta in rad ia n s
iteration number
Figure
7. Conve r g e n c e of Theta w i t h Lo = 1000 ft
Newton’s
e s tim a te d ten sio n in lbs.
----B —
Brown’s
LU
NJ
iteration number
Figure 8
Conve r g e n c e of tension with Lo
1000 ft.
e s tim a te d angle th e ta in rad ia n s
Newton’s
— B—
Brown's
Lu
Lu
iteration number
Figure 9. Convergence of theta with Lo = 1001 ft
e s tim a te d ten sio n in
13
iteration number
Figure 10. C o n v e r g e n c e of tension with Lo = 1001 ft
>
:ed angle theta in radians
Newton’s
— B—
Brown’s
E
%
iteration number
Figure 11. C o nvergence of theta with range limits
--- ►---
Newton’s
— B—
Brown’s
&
estim ated tension
.E
W
--F—
F —
B —
F —
iteration number
Figure 12. C o n vergence of tension with range limits
B — W
hitid
Tension (pounds)
Terminal
U
Figure 13. Tension at span ends during movement.
Cable Length (fe e t)
X Coordinate
Figure 14. Change in u n s t r a i n e d length during movement.
2
O
C
J
X Coordinate
Figure 15
Coordinates of load attachment point.
40
,
CHAPIER 4
ASSEMBLY
O F THE
KDiar-SPAN SYSTEM
Ifee of Idler Qteaves R e k m e n Qantrol S h o m w c
When there are idler sheaves present between two powered sheaves
Problem is still that of finding two unknowns using two equations.
At startup there will be no loads present, and a specified tension,
IeaVrng cable length
and angle 0 as the unknowns.
x and z dimension are functions of Ito and 8.
The equations of
Root estimates are made
(in this case initial chord slope can be used to estimate 8, and total
chord length to estimate Ito) and the solution process.begins.
The
first span is solved for T, 8, and Ito^ yielding H, equal to T cos 8,
and V, equal to T sin 0, at the initial sheave.
The tension at the
first idler sheave is found to be
(4.1)
'
T 1 = (H2 + (V -
Wltol)2)3S
vhere w is cable weight per unit length.
This tension is the same on
both sides of the sheave, as shown in Figure 16, but the cable slope S 1
will be dependant on the location of the second idler sheave.
The
second span is thus solved for G 1 and
The
, with T1 specified.
tensions at the second, and ith, idler sheaves are
(4.2)
(4.3)
T2 = (H2 + (V1 - WLto2)2)*,
Ti = (Hi-!2 * (Vi_1 - WItoto)2)*.
41
Figure 16. Ith idler span.
false position
Figure 17. Final idler span.
o
(X,Z)
42
When the final idler sheave is reached tension Tn is known, and L
11
orri-l
equals the initial total length minus the previous span lengths.
(4'4)
1Ionrt-I = 1O T ^ L 1
1
—
1
With the mentioned information available the endpoint of the cable is
required to be located at the z dimension of the final (powered) sheave
of the idler system, as illustrated in Figure 17.
Thus here the z
dimension equation is solved for 8 with T and Itl known.
equation is necessary for the one unknown.
Only one
This value of 0, T, and Ito
is used in the x dimension equation to give the false coordinate (x,Z)
at the terminal end.
In order to iterate to the exact root values of T
and 0 at the initial point, equations are formed involving the sum of
the Xi and Zi spans.
With an x dimension between powered sheaves of X,
and similar z dimension of Z the equations to solve are
(4 -5)
n
X - Xr^ 1 (0,h) - S X i (OifLoi) = Or
n
(4-6)
' Z ~ V l (0'h) 7 2 Zi (OifLoi) = 0.
The algorithm of choice is applied to these equations until the root
values of T and 0 are found which satisfy the equations.
Use Of Wiiltiplff Qcmtrol Sheaves
In a system of spans with no idler sheaves present the solution
is simplified as each span is unrelated to the adjacent spans in
tension across sheaves.
The span is solved for length of cable Ito and
slope © with tension T specified initially, and when motion is
simulated the span is solved for T and 8 with Ito specified.
The change
43
in Lb with sheave movement and load addition is not entirely
straightforward, as explained below.
Sinnilat.-inn of Cable Kovamant
The movement of the cable with no loads creates no change in the
system tension as long as the same unstrained length of cable is added
at the initial powered sheave as is removed from the final powered
sheave.
In simulating motion by the motion of drive sheaves cable
strain is introduced to the calculation of in-span length.
If the
sheaves are rotating at uniform speed with uniform diameter the length
of strained cable added and removed is the same, but unless the tension
above the initial sheave is the same as the tension above the end
sheave the length of unstrained cable will differ at an instant by
(4.7)
[ ( 1 / ( 1 + (TiZEAb ))) - ( 1 / ( 1 + (Te ZEAb )))]dL
where E is the elastic modulus, A0 is the unstrained cross-sectional
area, and d L is the amount of strained cable per unit time moved across
the sheaves.
This is true only instantaneously as these tensions will
change as the length of unstrained cable.within the span changes.
If
T i = 5000 pounds, Te = 4000 pounds, E = 2,000,000 pounds per square
inch, and A0 = 0.1105 square inch (3/8 inch diameter) then length
difference would be (-0.000451)dL.
This is a small difference, but if
allowance is not made the effect will accumulate and the simulation may
rapidly become inaccurate.
As has been shown, small changes in length
have large influence on tension.
To simulate cable motion by means of
driven sheaves these sheaves must be given a rotational speed, and this
44
is equated to a strained cable speed as R(d9/dt) where dG/dt is the
rotational speed in radians per unit time.
At each discrete time
increment the cable tensions are reevaluated considering the changes in
unstrained cable length.
Thus after the initial simulation of cable
tensions and lengths with specified tensions below each drive sheave
the unknowns became tension and slope, rather than length and slope, as
length is now specified as Iti + <5L.
When loads are introduced their
positions are defined by unstrained cable length from the initial drive
I
sheaves of the span they are on. This position is also dependent upon
the tension at the initial span as well as the sheave speed.
distance
The
of each load from the beginning of the span system must be
recorded to determine which span the loads are on.
The number of loads
on each span influences the choice of equations to solve (see equations
2.115 and 2.116).
Coordination of Tensicai Ocaitrol
The purpose of powered sheaves in the multi-span system is to
provide differences in tension across these sheaves.
As the elevation
of each succeeding free sheave decreases, the tension also decreases.
In order to have sufficient tension to provide for the movement of
loads, the tension at the beginning of a system without intermediate
control would be very high.
With intermediate tension control, each
powered sheave will ideally keep downslope tension at the design limit.
As loads move through the system, localized tension increases may
require sheaves to drive the cable as well as provide braking.
As the
system is intended to transport loads to a lower position the net
I
&
4D
I
energy at each sheave should be positive (braking) rather than negative
(driving).
Each powered sheave will have the ability to determine the
tension above and below said sheave.1
A desired tension range will be
specified for the system, and the differential tension across the
sheave will be limited by the angle of cable wrap and the average of
•
the two tensions.
I
When a sheave detects tension outside the accepted
range it will brake or drive to relieve this condition.
In addition,
it can send a command to adjacent sheaves in order to aid in this
relief.
The author has written FORTRAN programs with commands sent to
only the immediately adjacent sheaves which indicate that this is
sufficient for system control.
An example of system response to a
situation could be that of Figure 18, where a load approaches the
central sheave.
The tension at the upper sheave is at the upper system
limit, which could cause the tension above the central sheave to be
above this limit.
A load has passed across the lower sheave, lowering
v
the tension below the central sheave.
The differential tension across
the central sheave is relieved by slowing the central sheave, and
accelerating the other two sheaves.
This also lowers the tension in
the upper span, while raising the tension in the lower span.
Conditions in the spans adjacent to the upper and lower sheaves could
be creating situations requiring conflicting adjustments, therefore a
priority of control must be established.
The relief of excessive
differential tension must have first priority as the cable will slide
across drive sheaves with detrimental results which cannot be modeled
with great confidence.
The cable tension range will give some safety
1Larsen, Gonsior, and Taylor, Attachment I., 1.4.
46
-cr
V
M
Figure 18. Response situation.
margin but slippage should not be allowed.
Ihe allowable differential
tension is expressed as1
(4.8)
(4.9)
Ta - %
or
< T b ( e ^ - I),
Ta >
Tb > k(Ta - Tb )ZieHa - I)
where /i is the coefficient of friction between the sheave and the
cable, a is the angle of wrap in radians, and k is the factor of safety
(1.2 < k < 1.5).
The angle of wrap is influenced by the angle in the y
dimension (zig-zag angle) as well as the difference in angle of the
cable in the x - z dimension on the sheave (0a and Qb ) .
The tensions
are calculated in the model at increments corresponding to a real time
increment, and the speed of the drive sheaves corresponds to the amount
of strained cable moved in this increment.
When these calculations are
made the system is checked for tensions outside of the design range,
differential tensions, and excessive deviation from design speed.
1Zbigniew Schneigert, Aerial Tramways and Funicular Railways,
York: Pergamon Press, 1966), 453.
(Now
47
CHAPTER 5
SYSTEM RESPONSE
.Initial Qsnagrns
In creating a realistic model the.changes in sheave speeds must
be within the limits of the actual components to be used.
Until the
specifications are known, the best option is to provide for ease of
modification in the model so that appropriate information may be
substituted for comparison.
The simulation of motion is created by
incrementing load positions and cable lengths in discrete units.
are benefits in making these units small.
There
By making these increments
small enough the system simulation of motion approaches a continuous
form.
In addition, the previous tension and slope are used as initial
estimates for the subsequent root values of the equations, and small
increments allow more rapid convergence of the solution algorithms.
The disadvantage of more computations in modeling a sequence of loads
is somewhat cancelled by the faster convergence.
The author has had
many multi-span program runs halted by divergence of the root search
when using an increment which proved too large.
With sheave speed
adjustment in addition to load movement, there can be large changes in
tension.
The movement of a load from one span to the next causes a
major change in both tension and slope at the entry point, and
I
48
convergence may be slow.
A combination of range bracketing and
increment reduction will optimize the speed of solution.
Resoanse Speai
When choosing a design speed for the sheaves, such as five feet
per second, the increments of system movement are defined in time.
The
sheaves are initially given a uniform motion, remaining constant until
the control parameters are exceeded.
Once again, a load-free span with
sheaves moving at constant speed will gradually have a change in total
I
span length due to differences in tension at the sheaves.
The span
will have an increment of cable of unstretched length'
(5.1)
[(1/(1 + (TiZEA0 ))) - (1/(1 + (T0 ZEA0 )))]dL
added to it's length where T i is the tension above the initial sheave
and T f is the tension above the end sheave (see equation 4.7).
assumes no cable slip on the sheaves.
This
When a time increment is chosen
for recalculation each span is solved in succession with the new cable
length Io i .
Response to charges in tension can be made at each
increment, or at an integer multiple of this corresponding to a longer
time span.
speed.
The response of the sheaves is an increment of the design
A choice must be made how this change is to be modeled.
If the
speed of a sheave is to be raised an increment, it can be modeled as an
instantaneous change with cable motion being immediately modified, or
as a fractional change reaching the full speed increment at the next
speed change increment.
Due to the small speed changes (small changes
in length) necessary to keep tensions within limits it has been assumed
49
that these instantaneous changes are acceptable.
In the FORTRAN
program BASE.FOR the sheave speed modification is allowed at variable
increments of recalculation of span tensions.
Variation in design
speed and recalculation time were allowed, as well as the tension range
to be maintained before correction was applied.
It was found that a
narrow range of variation from the design tension was best, since once
tension had became high (or low) correction was more difficult.
This
results in a near constant state of sheave speed modification.
Response Magnitude
The amount of adjustment of sheave speed possible is limited by
the ability of the individual sheave mechanism to' absorb or expend
I
energy.
The power formula
(5.2)
Hp = FV/33,000
gives horsepower (Hp) in terms of differential force in pounds (F) and
cable velocity in feet per minute (V). .Thus a sheave with 4000 pounds
tension above, 5000 pounds below, and cable speed of 5 feet per second
(300 ft./min.) is absorbing 9.1 horsepower, or 5000 foot-pounds per
second.
If the speed is increased to 5.1 feet per second the power
absorbed is 9.3 horsepower or 5100 foot-pounds per second.
The
capabilities of the drive components will determine the ability of the
system to respond to control commands.
It can be seen that slower
travel speeds will reduce the demands upon the drive components.
The
maximum available power change per unit time is an important parameter
of the simulation.
/
I
50
BPKpnnHf* Preoedenoe
The relief of excess differential tension is the most important
task of the control system, both in the model and in reality.
Slippage
cannot be accurately simulated in the model, and cannot be allowed in
the real system.
Excess differential tension in the real system will
cause the cable to slide through the drive sheaves with destructive
effects on cable and sheaves, but ,the slippage will relieve the
differential tension.
In the model the differential tension, average
tension, and angle of wrap must be monitored, at the sheave (see
equation 4.9) and conditions leading to slippage prevented.
As the
system is analyzed at each sheave the tension on each side is found,
and consequently the differential tension.
Since models have been
constructed with only x and z coordinate information, the maximum
allowable differential tension has been estimated with a constant wrap
angle (a).
When the control commands are issued, direct relief of the
differential tension by the motion of the drive sheave can be given a
different increment than the correction of span tension.
Experimentation must be done to optimize this increment difference.
I
51
CHAPTER 6
\
OCMTrSDL OPTTMTRATTnM
Oantrol of Teaisicni
The goal of the use of intermediate control sheaves is to enable
the system to be used over large elevation differences.
An attempt has
also been made in the writing of the program to allow the control of
tension in the system.
Two figures are included showing the effects of
the control system implemented in the program compared to the tensions
produced with no response to tensions, that is with uniform sheave
speed.
A 300 pound load is moved across a series of four spans, each
of 100 foot x dimension, 30 foot z dimension, and design tension of
5000 pounds, with control at all sheaves.
In Figure 19, the tension .
variation is shown at the initial sheave as the load moves with design
speed of five feet per second.
It can be seen that the adjustment
routine prevents the tension from reaching the peak magnitude of the
unadjusted run.
However the response of the system to the attempts at
control result in excess correction and subsequent oscillation of
tension.
Figure 20 shows the effect in varying the increment of speed
adjustment, with increments of 0.0001, 0.00005, and 0.00001 of the
design speed.
The smallest increment smooths the oscillation of the
system to a more acceptible level.
Figure 21 shows the effect of
52
varying the point of response initiation to 0.1%, 0.5%, and 1.0% of the
design tension.
Poaer IteauiTganpgifrs
The program allows the monitoring of differential tension at a
span so that it may be determined if: there will be a need for
additional power ,supply or if the energy of braking will be sufficient
to allow for the amount of driving necessary for the system.
The
efficiency of the power conversion will be an important consideration.
Figure 22 shows the differential tension across the second sheave of
the four span system mentioned in the previous section.
Modelling
different system layouts will allow maximum use to be made of the
available braking energy.
With end Without Speed Adjustment
□
no adjustment
Time (seconds)
Figure 19. Tens i o n at first sheave.
+
adjusted
D
0.0001
+
Time (seconds)
0.00005
0
Q00001
Figure 20. Tension with v a r i ation of response increment.
Figure 21. Tension with variation of response initiation.
DiITerentiel T
25
Time (seconds)
□
no adjustment
+
Figure 22. Differential tension.
adjusted
57
OHETOR 7
OMraBims
T h e computer program base, for has shown itself t o b e a valuable
tool in t h e study of system feasibility for the proposed cable
transportation of timber.
Simulation can be made of a wide variety of
system layouts and the program will lend itself to further modification
t o allow improvement of the speed adjustment routine.
A s the program
now stands it allows simulation of the movement of 200 loads over a
system of 100 sheaves of widely variable geometry.
Future development
of a three dimensional model would b e a logical step.
It is hoped that
this thesis m a y provide the basis for the development of a n actual
system of timber transportation.
REFERENCES CITED
59
Brown, K. M. 1969.
"A Quadratically Convergent Newton-like Method
BaSAl U p o n Gaussian Elimination” . SIAM J . N u m e r . A n a l . , V o l . 6,
No. 4.
Finlayson, B. A. 1980. Nonlinear Analysis in Chemical Engineering. New
York: McGraw-Hill, Inc.
Horribeck, R. W. 1975. Numerical Me t h o d s . Englewood Cliffs: Prentice
Hall, Inc.
Irvine, H. M. 1981. Cable Structures. Cambridge: M IT Press.
Iarsen, W. E., Gonsior, M. J., Taylor, W. R. 1985. "USES - M SU
Cooperative Research Project", USCA Forest Service Intecmountain
Research Station and Montana State University College of
Engineering.
M a r o n , M. J. 1982. Numerical Analysis: A Practical Appr o a c h , N ew York:
Macmillan Publishing C o . , Inc.
Schneigert, Z. 1966. Aerial Tramways and Funicular Railways, N ew York:
Pergamon Press.
Shames, I. H. 1980. Engineering Mechanics: Statics and Dynamics,
Englewood Cliffs: Prentice Hall, Inc.
60
I
APPENDIX
FORTRAN program base.for and subroutines.
N
61
Figure 23. FORTRAN p r ogram base.for
1 '
'
3 1
4
5
3/6/88
Al Turk
2
base.for
6
program base
common
/dlm/x(1 0 0 ),z(1 0 0 ),xs(0 :1 0 0 ),zs(0 :1 0 0 ),chord!1 0 0 ),chsl(1 0 0 ),
stat(0 :1 0 0 ),noload,ao,e,mg,t.n
/mag/f(2 0 0 ),th,tl,speed!0 :1 0 0 )
/calc/los,lo(1 0 0 ),te(1 0 0 ),to(1 0 0 ),theta(1 0 0 ),3 (2 0 0 )
+
+
+
+
7
8
9
10
real’s x,z,lo, los.theta.te.to.ao.mg.e.xs.zs.s.f,t.th.tl
real* 8 speed,chord,chsl
Integer stat.n,noload
U
12
13
14
15 #
16 *
17
18
19
This Is the main program of the mult Ispan moving load
sImutation program. This program directs the flow of data to
and from subroutines until the program run Is terminated.
common vantables *"
*# block dim ••••••••«
*
dimensions of the Ith span
x(l),z(l):
22
position of the Ith sheave from origin (0 ,0 )
XS(I).zs(i)I
23 #
chord length of the Ith span
chord(I):
24 •
chord slope of the Ith span
chsl (I):
25
status of the Ith sheave (Idler/drive)
statd):
26
number of loads to move across the system
noload:
27
unstrained cable cross-sectional area
ao:
28
cable weight per unstrained unit length
mg:
29
design tension
t:
30
number of spans In system
n:
31
block calc •*•••••
32
total system span cable length
Ios:
33
cable length of the Ith span
Io(I):
34 e
tension at Initial point of Ith span
te(I):
35 *
tension at terminal point of span
to(I):
36 *
cable slope at Initial point of the Ith span
theta(I):
37 *
*
distance
along cable from origin (0 ,0 ) to Ith
s(i):
38
load
39 #
block mag ••*•••••
40
magnitude of Ith load
41
f(I):
upper limit of acceptIble tension range
th:
42
lower limit of acceptible tension range
tl :
43
speed of Ith sheave
speed(I):
44
45
46
Subroutine Initial reads In the sheave coordinates and cable
47
data and the sheave status (Idler or drive).
48
49
50
call Initial
51
5?
20
21
54
55
56
57
58
•
•
Subroutine span finds the Initial chord slope and length which
are the Initial estimates of theta and Lo.
ca11 span
62
Figure 23. Continued
59
60
61
62
63
64
65
66
67
68
69
70
71
..........................
................................................. ....
*
Subroutine newt finds the cable length of the unloaded spans
*
with the design tension as a maximum. Idler sheaves are
•
Included In the calculations.
............................................ .........
..........................
call newt
..........................
........................................................
•
Now that the length of cable In each span and the tensions In
*
each span are known we prepare for the simulation of cable
"
motion by recording the load spacings and load magnitudes.
73 ..........................
74
call point
75 ..........................
76 .....................................................
77
call sheave
78
end
main Local Symbols
Name
Class
X .........
Z .........
XS.........
ZS.........
CHORD ......
CHSL........
STAT........
NOLOAD......
AO.........
E .........
MG.........
T .........
N .........
F .........
TH.........
TL.........
SPEED ......
LOS........
LO.........
TE.........
TO.........
THETA ......
S .........
...... DIM
...... MAG
...... CALC
...... CALC
...... CALC
Type
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER"4
INTEGER'4
REAL' 8
REAL'S
REAL'S
REAL'S
INTEGER-4
REAL'S
REAL'S
REAL- 8
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
Size
800
800
SOS
808
800
SOO
404
4
8
8
8
8
4
1600
8
8
808
8
800
800
800
800
1600
Offset
0000
0320
0640
0968
0c90
OfbO
12 d0
1464
1468
1470
1478
1480
1488
0000
0640
0648
0650
0000
0008
0328
0648
0968
0 c8 8
79 ............................................ *..........
80 •
81
Initial.for
3/6/88
Al Turk
.............................................................
82
subroutine Initial
83 ....................................................
84
common
85
+ /dim/x(100),z(100).xs(0:100),zs(Os 100),chord!100),chsl(100),
86
+
stat(0 :1 0 0 ),noload,ao,e,mg,t,n
63
Figure 23. Continued
87
+ /mag/f(200).th.tl,3 peed(0 :1 0 0 )
I0 0 )'to(1 0 0 ).theta(1 0 0 ).3 (2 0 0 )
88
89
90
91
92
93
94
95
96
97
98
99
real* 8 x.z,lo,1 •theta,te,to,ao,mg,e.xa.zs.rz.s.f.t,th.tl
real* 8 speed,xl,zt,dla,chord.chaI,range
Integer atat,n,noload,ans,an32,I
character fllename* 2 0
Input cable data
100
100
101
102
103
104
105
106
107
108
109
HO
111
112
113
114
115
116
117
118
119 4
120
121
122
123
124
125
126
127 101
128
129
130
131
132
133
134
135
136
137 HO
138
139
140 111
141
142
143
144
write(#,e)'use default cable data? (y * I / n • 0 )'
read(•,•Ians
If (ans.eq.l) then
e - 2d7
dla - 0.375d0
elseif (ana.eg.0 ) then
wrlte(*,•)'Input cable modulusi (pal)'
read(•,*)e
wrlte(*,*)'Input cable diameter: (Inches)'
read(*,*)dla
else
goto 100
endlf
wrlteC,*)' Input desired tension: (lbs.)'
read(*,B)t
wrIte(B,B)'Input maxImum-mlnImum response range: (+ or - ?%)'
read(*,*)range
th * t * (I + range/1 0 0 )
tl * t • (I - range/10 0 )
wrlte(*,4)'high tension Is ',th,' lbs.'
wrlte(e,4)'low tension Is ',tl,' lbs.'
format(' ',a,f12.6 ,a)
wrIteC,")'correctIon Is begun when these limits are reached'
ao = 3.1415926536d0 • dla**2 / 4
mg = I.035d0 • (dla/0.75d0)ee2
Input coordinates of sheaves
wrlte(*,e)'Input coordinates from file or keyboard?'
wrltet*,*)'
( 0 * file, I * keyboard)'
read(*,*)ans
xs(0 ) = 0
Zs(O) - 0
routine to read pre-existing file
If(ans.eq.O)then
wrlte(e,•)'Input filename please
read(•,1 1 0 )f1 1 ename
format(a1 2 )
open(!,file - filename)
read(1 ,1 1 1 )n
format(13)
xs(O) = 0
zs(0 ) * 0
do 102, I » l.n
read(I,I1 2 )x(I)
(2 0
characters max.)'
64
Figure 23. Continued
145
read(I,I1 2 )z(I)
146
X3(I) - XS(I-I) ♦ X(I)
ZS(I) - ZS(I-I) + Z(I)
147
148
readd, HUstat(I)
149 1 1 2
format(f1 0 .2 )
continue
150 1 0 2
elself(ans.eq.Dthen
151
152
wrlte(","!'Initial (uppermost) sheave Is (0,0),'
wrlte(*,e)'positive z Is toward the ground:'
153
154
wrlteC,")'create coordinate file to save?'
wrlteC,")' (I - yes, 0 - no)'
155
read(*,*)ans2
156
157
routIne to create file
158
159
If(ans2 .eq.Dthen
160
wrlteC,*)' Input filename please'
161
wrlteC,")'( 2 0 characters max.)'
162
read(•,I1 0 )fIlename
163
164
open(I,fI Ie - fIlename,status -'new')
wrlte(*,e)'how many spans? ( 1 0 0 max.)'
165
read(*,e)n
166
wrlted.UDn
167
wrltet*,")'Input sheave coordinates:'
168
wrlteC,")' x(0) - 0, z(0) - 0'
169
170
wrIte(",*)'caution: Idler sheaves cannot be at'
wrlteC,")'
171
a higher elevation than the'
wrlteC,")'
172
Immediately previous sheave'
writer,")'
173
whether the previous sheave'
174
writer,')'
Is an Idler or a driven'
writer,")'
sheavel'
175
do 103, I - I.n
176
writer,2 )'x(',I.') - ?'
177
178
read(",")xs(D
179
x(l) - XS(I)-XS(I-I)
wrtte(I,I1 2 )x(I)
180
writer,2 )'z(',I,') - ?'
181
read(",")zs(I)
182
z(D - zs(l )-zs(l-l)
183
wrlte(I,I1 2 )z(I)
184
writer,")'Idler sheave?'
185 104
writer,")' I - yes, 0 - no'
186
read(",")stat(l)
187
If((stat(I).eq.I).or.
188
(stat(I).eq.0 ))then
+
189
write!1 ,1 1 1 )stat(I)
190
else
191
go to 104
192
endlf
193
contInue
194 103
close!I)
195
elself(ans2 .eq.O)then.
196
197
routine for no file
198
199
writer,")'Input number of spans ( 1 0 0 max.)'
200
read(*,*)n
201
writer,")'Input coordinates of sheaves:'
202
(>5
Figure 23. Continued
203
204
205
206
207
208
209
writer,l)'x(l),z(l) to x(',n,'),z(',n,')'
writer,Tx(O) - 0 , z(0 ) - 0 Is'
writer,Tthe Initial sheave coordinate,'
wrlteC,l)'x('.n,'),z(',n.
') Is the terminal sheave coordinate'
writer,Tx(n) > x(n + I)'
writer ,"!'caution: Idler sheaves cannot be at'
writer,*)'
a higher elevation than the'
writer,*)'
Immediately previous sheave'
write(*,*)'
whether the previous sheave'
writer,*)'
Is an Idler or a driven'
writer,*)'
sheavel'
format(' ',2 (a,1 2 ).a)
do 10 I - l,n
writer,2 )'x(',I,') » 7 '
read(*,*)xs(l)
X(I)- XS(I)-xs(1-1)
writer,2 )'z(',I.') - 7'
read(*,*)zs(I)
Z(I) - ZS(I)-zs(1-1)
writer,*)' Idler sheave?'
writer ,*)'(I » yes, 0 - no)'
read(*,*)stat(l)
If((stat(I).eq.0 ).or.(stat(I).eq.I))then
continue
else
go to 105
endlf
contInue
format(' ',a,12 ,a)
+
210
211
212
213
214
215 I
216
217
218
219
220
221
222
223 105
224
225
226
227
228
229
230
231 10
232 2
233
234 •
235
236
237
238
239
initial dimensions, status, and coordinates have been entered
endIf
endIf
return
end
INlTIA Local Symbols
Name
Class
I .........
OlA........
ANS2........
ANS........
RANGE ......
FlLENA......
F .........
TH.........
TL.........
SPEED ......
LOS........
LO.........
TE.........
TO......... ...... CALC
THETA......
Type
INTEGER‘4
REAL- 8
INTEGER*4
INTEGER*4
REAL* 8
CHAR*20
REAL* 8
REAL'S
REAL* 8
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
Size
Offset
4
0002
8
0006
000e
4
4
8
20
1600
8
8
808
8
800
800
800
800
0012
0016
OOle
0000
0640
0648
0650
0000
0008
0328
0648
0968
66
Figure 23. Continued
IHITIA
Name
Local S y m b o l 3
Class
S .........
X .........
Z .........
XS.........
ZS.........
CHORD ......
CHSL. . . . . . ...... DIM
STAT........
NOLOAD...... ...... DIM
AO.........
E .........
MG.........
T .........
N .........
Type
Size
Offset
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER'4
INTEGER'4
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER'4
1600
800
800
808
808
SOO
SOO
404
4
0 88
0000
8
8
8
8
4
c
0320
0640
0968
0c90
OfbO
12 d0
1464
1468
1470
1478
1480
1488
240 .......................................................
241 •
end of subroutine Initial
242 ....................................................... q
243 .......................................................
244 *
subprogram span.for
3/7/88
AlTurk
245 .......................................................
246
subroutine span
247 .......................................................
248
common
249
+ /dlm/x(100),z(100).xs(0:100),zs(0:100).chord(100),chsI(100),
250
+
stat(0:100),noload,ao.e,mg,t,n
251
+ /mag/f(200),th.tl,speed(0:100)
252
+ /calc/los,lo(100),te(100),to(100),theta(100),s(200)
253 ..........................
254
real* 8 x.z,lo,los,theta,te,to,ao,mg,e,xs,zs,s,f,t,th.tl
255
real* 8 speed.chord,chsI
256
Integer stat,n,noIoad,I
257 .......................................................
258 ..........................
259 '
find slope angle theta and chord length Io for all spans
260 ....... ",.................
261
los = 0
262
do I I = l.n
263
chord(I) » dsqrt(x(I)'"2 + z(l)""2)
264
los » los + Io(I)
265
chsI(I) = datan(z(I)/x(I))
266 2
format(' ',a,I3,a,f8.3,a,f8.5,a)
267
write!",2)'For span ',I,' chord length » ',chord(l),
268
+
' feet and chord slope - ',ChsI(I),' radians.'
269 I
continue
270
return
271
end
67
Figure 23. Continued
SPAN
Loca I Symbo Is
Name
Class
I .........
X .........
Z .........
XS.........
ZS.........
CHORD ......
CHSL........
STAT........
NOLOAO......
AO.........
E .........
MG.........
T .........
N .........
F .........
TH.........
TL......... ...... MAG
SPEED ...... ...... MAG
LOS........
LO.........
TE.........
TO......... ...... CALC
THETA ......
S .........
Type
Size
INTEGER*4
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER"4
INTEGER'4
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER*4
REAL'S
REAL'S
REAL' 8
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
273 •
end of subroutine span.for
276 •
real function asInh
278
279
280
281
282
real* 8 function aslnh(x)
real* 8 >C
asInh - dlog(x + dsqrt(x"
return
end
4
800
800
808
808
800
800
404
4
8
8
8
8
4
1600
8
8
808
8
800
800
800
800
1600
2
Offset
0032
0000
0320
0640
0968
0c90
OfbO
I2 d0
1464
1468
1470
1478
1480
1488
0000
0640
0648
0650
0000
0008
0328
0648
0968
0 c8 8
+ D)
ASlNH Local Symbols
Class
Name
ASINH ............
X ...............
283
284
285
286
287
288
289
290
291
. param
. param
Type
SIze
Offset
0006
0008
....................................................
.................................... ................
*
subroutine newt.for
3/7/88
Al Turk
....................................................
subroutIne newt
....................................................
common
+ /dlm/x(100),z(100),xs(0:100),zs(0i100),chord!100),chsl(100),
+
stat(0 :1 0 0 ),noload,ao.e,mg,t.n
6 8
Figure 23. Continued
292
293
295
296
297
298
299
300
301 2
302
303
304
305 4
306 3
307
308
309 I
310
311
+ /mag/f(200),th.tl,3 peed(0 :100)
+ /calc/los,lo(100),te(100),to(100),theta(100),s(200)
real‘ 8 x.z,lo,lo3 ,theta,te,to,ao,mg,e,xs,z3 ,s,f,t
real’s speed,sp,chord,chsI
Integer stat.n,noload,I,Index
character f1 1 ename’ 2 0
write!’,’)'Input name of data file ( 2 0 char, max)
read(’,2 )fIIename
format(alO)
open(2,fIIe » f11ename,status ■ 'new')
do 3, I * l,n
write!’,4)chord(I),chsI(I),x(I),z(I),I
formate ',4(f15.8), 13)
cent Inue
do I, I > I,n
call newton(I)
contInue
return
end
NEWT Local Symbols
Name
I ..............
FILENA...........
X ..............
Z ..............
XS..............
ZS..............
CHORD ...........
CHSL............
STAT............
NOLOAO...........
AO..............
E ..............
MG..............
T ..............
N ..............
F ..............
TH..............
TL..............
SPEED ...........
LOS............
LO..............
TE..............
TO..............
THETA ...........
S .............
Class
. . DIM
. . DIM
. . DIM
. . CALC
. . CALC
. . CALC
. . CALC
Type
INTEGER’4
CHAR*20
REAL’S
REAL’S
REAL’S
REAL’S
REAL’S
REAL’S
INTEGER’4
INTEGER’4
REAL’S
REAL’S
REAL’S
REAL’S
INTEGER’4
REAL’S
REAL’S
REAL’S
REAL’S
REAL’S
REAL’S
REAL’S
REAL’S
REAL’S
REAL’S
Size
4
20
800
800
808
808
800
800
404
4
8
8
8
8
4
1600
8
8
808
8
800
800
800
800
1600
Offset
0036
003a
0000
0320
0640
0968
0c90
OfbO
12 d0
1464
1468
1470
1478
1480
1488
0000
0640
0648
0650
0000
0008
0328
0648
0968
0 c8 8
312 ..................... .............*.................
313
subroutine newton(I)
314 ....................................................
315
common
316
+ /dlm/x(100),z(100),xs(0:100),zs(0:100),chord(100),chs1(100),
317
+
stat(0:100),noload,ao.e,mg,t,n
69
Figure 23. Continued
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357 I
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
+ /mag/f(2 0 0 ),th.tl,speed(0 i1 0 0 )
+ /calc/los,lo(1 0 0 ),te(1 0 0 ),to(1 0 0 ).theta(1 0 0 ),3 (2 0 0 )
*8
mg,
,t,
real x.z,lo,loa,theta,te,to,ao, e.xa.zs.s.f th.tl
real* 8 speed,sp.xd.zd.ts,Iol,thetl,chord.chsl
real* 8 dxt.dxl,dzt.dzl,dl,dt.a.b.c.d,lolnc.thtnc.det
Integer stat,n,noload,I,Indexl
find the A terms (partial derivatives w/respect to Io,theta)
lolnc Is an Incremental change In lo, thlnc Is an Incremental
change In theta
theta(I) - chsl(I)
stat(O) - 0
stat(n) * 0
Index! - 0
Index2 * 0
If(thetatI)-eq.O) theta(I) - O.OSdO
check for Idler sheaves
If(z(I).lt.0 )then
If(stat(I).eg.Dthen
wrlteC.T
••••
WARNING
••••'
wrltet*,*)'
Idler sheave at higher elevation'
wrlte(,,»)'than previous sheaveI High tension point.'
endl f
endIf
set tension by sheave type
If(Statd-I) .eq.O)then
te(l) . t
else
ted) - to(l-l)
endIf
begin Iterative loop
lolnc * chord(I) • I.OldO
thlnc » theta(I) • I.OldO
thetl - theta(I)
If(Index2.eq.O)then
Iol * chord(I)
Index2 * I
elself(lndex2 .eq.Dthen
Iol * Io(I)
endl f
find dxl (partial of xd w/respect to lo)
a - xd(lolnc,thetl,ted),mg.e.ao)
b * xddoI,thetl,te(I),mg.e.ao)
dxl - (a - b)/(0 .0 ld0 "lol)
find dzl (partial of zd w/respect to lo)
c » zd(lolnc,thetl,te(I),mg.e.ao)
70
Figure 23. Continued
376
d - zd(Iol,thetl,te(I),mg.e.ao)
377
dzl - (c - d)/(0.OldOeIoI)
378
379
find dxt.dzt (partial of xd.zd w/reapect to theta)
380
381
a » xd(Iol,thine,te<I),mg.e.ao)
382
c * zd(Iol,thine,te(I),mg.e.ao)
383
dxt - (a - b)/(0 .0 1 d0 ethetl)
384
dzt » (c - d)/(0 .0 1 d0 ethet1 )
385
find the B terms (a » b - :
386
387
a - b - x(I)
388
389
c - d - z(I)
390
find the X terms
391
392
det ■ dxl*dzt - dzl*dxt
393
394
dl - (a • dzt - c e dxt)/det
dt - (c • dxl - a • dzl)/det
395
theta(I) - thetl - dt
396
397
lo(I) * Iol - dl
398
If(theta(I).gt.I.57d0)then
399
theta(I) - (I.5 7 d0 +ch3 l(i))/2 d0
400
elaelf(theta(I).It.chal(I))then
401
theta(I) * chal(I)
endIf
402
If(lo(I).lt.0 )then
403
404
Io(I) - lo(I)/2d0
elaelf(lo(I).gt.(2 echord(I)))then
405
Io(I) = chord(I)e2d0
406
endIf
407
If((daba(dt).It.Id-7).and.(daba(dl).It.Id-7))then
408
409
to(I) a daqrt((te(I)edcoa(theta(I) ) ) e e 2 >
410
+
(te(I)edaln(theta(I))-lo(I)*mg)ee2 )
411
wrlte(2,500)te(I),to(I),speed(I),lo(I),I
format(4(f15.5),13)
412 500
413
write(e,501)x(I),z(I),lo(I).theta(I),te( I),to( I)
414 501
format(' ',6(2x,f10.4))
return
415
else
416
goto I
417
endl f
418
419
end of subprogram newt.for
420
421
end
422
NEWTON Local Symbols
O O <P >
Class
. param
. Ioca I
. IocaI
. local
. Ioca I
Type
REAL‘ 8
REAL»8
REAL'S
REAL'S
Size
8
8
8
8
Offset
0006
004e
0056
005e
0066
71
Figure 23. Continued
NEWTON
Local
Symbols
Name
DL.........
DT.........
DET........
LOI........
DXL........
INDEXl......
1NDEX2......
DZL........
DXT........
DZT........
LOINC ......
THING ......
THETI ......
T .........
N .........
F .........
TH.........
TL.........
SPEED ......
LOS........
LO.........
TE.........
TO.........
THETA ......
S .........
X .........
Z .........
XS.........
ZS.........
CHORD ......
CHSL........
STAT........
NOLOAD......
AO.........
E .........
MG.........
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
Class
Type
...... MAG
...... CALC
...... CALC
...... CALC
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER'4
INTEGER'4
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER'4
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER'4
INTEGER'4
REAL'S
REAL'S
REAL'S
Size
8
8
8
8
8
4
4
8
8
S
S
8
8
8
4
1600
8
8
808
8
800
800
800
800
1600
800
800
808
808
800
800
404
4
8
8
8
Offset
006e
0076
007e
0086
OOSe
0096
009a
009e
0 0 a6
OOae
0 0 b6
OObe
0 0 c6
1480
1488
0000
0640
0648
0650
0000
0008
0328
0648
0968
0 c8 8
0000
0320
0640
0968
0c90
OfbO
12 d0
1464
1468
1470
1478
subprogram xd.for
With the given parameters, this function determines the x
location of the cable at the terminal end.
real* 8 function xd(I,angle,ten,mg,e.ao)
real* 8 angle,ten,I,ao,e,v,h,aslnh,mg,a,b,c
h = ten • dcos(angle)
v = ten * dsin(angle)
72
Figure 23. Continued
439
440
441
442
443
444
445
446
447
448
a = h • I/(e • ao)
b = h / mg
c = aslnh(v/h) - aslnh((v - mg’I)/h)
xd = a + b’c
•
’
return
###,H
*
end of subprogram xd.for
end
XO Local Symbols
Class
Name
XO..............
AO..............
E ..............
MG..............
TEN............
ANGLE ...........
L ..............
A ..............
B ............ .
C ............
H ............
V ............
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
Type
Size
Offset
0006
0008
000c
0010
REAL’S
REAL’S
REAL’S
REAL’S
REAL’S
8
8
8
8
8
0014
0018
001c
OOce
0 0 d6
OOde
0 0 e6
OOee
........ *... ..................... *... ................ .
....................................................... .
*
subprogram zd.for
....................................................... .
•
With the given parameters, this program finds the z location of
*
the terminal end of the cable.
.......................................................
real* 8 function zd(I,angle,ten,mg,e,ao)
.......................................................
real’s angle,I,ao,e,v,h,w,mg,ten,a,b,c
’
’
’
h => ten • dcos(angle)
v = ten ’ dsln(angle)
•
’
a = mg • I * I ’ (v/(mg e I)- 0.5d0)/(e • ao)
b = h / mg
c = dsqrtd + (v/h)“ 2) - dsqrt(I + ((v - mg • I)/h)“ 2)
zd = a + b’c
’
•
return
’
end of subprogram zd.for
•
end
73
Figure 23. Continued
ZD
Loca I Sytnbo Is
Name
Class
Type
Size
0006
0008
000c
ZD. .
AO. .
E ..
MG. .
TEN .
ANGLE
L..
A ..
B ..
C . .
H ..
V..
476 *'
477 •
478 *
479 ....
480
481
482
+
483
+
484
+
485
+
486 •*
487
488
489
490 *•
491
492
493
494
495
496
497
498
499
500
501
502
503 I
504
505
506
507
508
509
510
511
512
513
514 •
515 •
516 •
Offset
0010
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
subroutine point.for
8
8
8
8
8
3/9/88
0014
0018
001c
0 0 f6
OOfe
0106
OlOe
0116
Al Turk
subroutine point
common
/dim/x(1 0 0 ).z(1 0 0 ).xs(0 :1 0 0 ),zs(0 :1 0 0 ),chordt1 0 0 ),chsI(1 0 0 ),
Stat(OzlOO),noload.ao.e.mg.t.n
/mag/f(200),th.tl,Speed(OzlOO)
/calc/los,lo(1 0 0 ).te(1 0 0 ),to(1 0 0 ),theta(1 0 0 ),3 (2 0 0 )
real* 8 x,z,1o,los.theta.te.to.ao.mg.e.xs.zs.s.f,t.th.tl
real" 8 speed,chord,chsI,pload,vload,r(2 0 0 ),mean
integer stat.n.ansI,I,start,num.noload
write(*,*)'Do you want constant or random load magnitudes?'
wrltet",")'
(I ■ constant, 0 » random)'
read(*,e)ansl
If(ansi -eq. Dthen
write(e,*)'What Is the load magnitude? (pounds)'
read(*,e)pload
write(*,e)'How many loads do you wish to move'
write(e,e)'across the system of spans? ( 2 0 0 max.)'
read(e,e)num
noload - nura
do I, I - l.num
f(I) ■ pload
contInue
elseIf(ansi.eq.0 )then
wrltet*,e)'What Is the mean load magnitude? (pounds)'
read(*,e)pload
wrlte(*,e)'What Is the range of variation? (+/- ?)'
read(e,•)vIoad
pload » pload - vload
vIoad a vload * 2 d0
wrltet*,e)'How many loads do you wish to move'
write(•,‘!'across the system of spans? ( 2 0 0 max.)'
read(*,*)num
find random numbers
74
Figure 23. Continued
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
noload ■ num
start - lnt(dsqrt(lo(n)'"2 /theta(1 )»"2 ))
ca11 rand(start,num,r)
mean * 0
do 2 , I - I,num
F(I) - pload + vloader(l)
mean » mean + F(I)
contInue
mean ■ mean/num
wr1te(e,9)'Average weight Is ',mean,' pounds.'
Formate ',a,F10.5,a)
2
9
3
4
*
•
•
end! F
wrlte(e,e)'Do you want random or constant load spaclngsT'
wrltet*,*)'
(I * constant, 0 » random)'
read(e,e)ansl
IF(ansl.eq.I)then
wrlteC,") 'What Is the load spacing? (Feet)'
read(e,*)pload
do 3, I » I, num
S(I) » pload
continue
elselF(ansl.eq.0)then
start a lnt(dsqrt(lo(I)e*2 /theta(n)ee2 ))
call rand(start,num,r)
wrlte(",*)'What Is the mean load spacing? (Feet)'
read(e,*)pload
wrltee,*)'What Is the range oF variation? (♦/- ?)'
read(•,*)vIoad
pload = pload - vload
vIoad » vload • 2 d0
mean » 0
do 4, I » I,num-I
s(l) * pload + vload*r(I)
mean - mean + s(I)
contInue
mean a mean/(num-I)
wrlteC,9)'Average spacing Is ',mean,' Feet.'
endIF
s(n) = id7
return
end oF subroutine point.For
end
POINT Local Symbols
Name
I .........
START ......
R .........
ANSI........
MEAN........
NUM........
PLOAD ......
VLOAD ......
Class
Type
Size
OFFset
INTEGER"4
INTEGER"4
REAL" 8
INTEGER"4
REAL'S
INTEGER"4
REAL'S
REAL'S
4
4
1600
4
Olle
8
a
4
8
0122
0126
0766
076a
0772
0776
077e
75
Figure 23. Continued
POINT
Local
Symbols
Class
Name
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER'4
INTEGER'4
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER'4
REAL'S
REAL'S
TL.........
SPEED ......
LOS........
LO.........
TE.........
TO.........
THETA ......
S .........
X .........
Z .........
XS.........
ZS.........
CHORD ......
CHSL........
STAT........
NOLOAO......
AO.........
E .........
MG.........
T .........
N .........
F .........
TH.........
561
562 •
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
10
578
579
580
Type
Size
8
808
8
800
800
800
800
1600
800
800
80S
808
800
800
404
4
8
8
8
8
4
1600
S
Offset
0648
0650
0000
0008
0328
0648
0968
Oc8 8
0000
0320
0640
0968
0c90
OfbO
12 d0
1464
1468
1470
1478
1480
1488
0000
0640
subprogram rand.for
subroutine rand(start,Int,r
real'8 r(I),x
Integer start,max,I,J,Int
J - I
max » start + Int
do 10 1=1,max
cal I random!x)
If(I.ge.startlthen
r(J) = X
J » J + I
endl f
contInue
return
end
RANO LocaI SymboIs
Name
Class
R .................. param
INT................ param
START............... param
Type
Size
Offset
0006
OOOa
OOOe
76
Figure 23. Continued
RAND
Local
Symbols
Class
Name
INTEGER*4
INTEGER*4
REAL'S
INTEGER*4
I .........
J .........
X .........
MAX........
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599 *
600
601
602
603
604
Type
Size
Offset
4
4
0786
078a
078e
0796
8
4
subprogram random.for
subroutine random(z)
real* 8 fm.fx.z
Integer a.x
data 1 /1 /
If( I .eq. I) then
I- 0
m = 2**20
fm ■ m
x =» 566387
a - 2**10 + 3
endIf
x = mod(a*x,m)
fx = X
z = fx/fm
return
end
RANDOM Local Symbols
Name
Class Type
Z ................. param
A .................. local
M .................. local
FM.................. local
X .................. local
FX.................. local
I .................. local
605
606
607
608
609
610
611
612
613
614
INTEGER*4
INTEGER*4
REAL* 8
INTEGER*4
REAL'S
INTEGER*4
Size
4
4
8
4
8
4
Offset
0006
079a
079e
07a2
07aa
07ae
0b8a
.................................................... .
............ *****................................... .
*
subroutine sheave.for
3/10/88
Al Turk
*.........*..........................................
*
This subroutine gathers the necessary data for sheave and
*
cable motion.
....................................................
subroutine sheave
common
+ /dlm/x(1 0 0 ),z(I0 0 ),xs(0 :1 0 0 ),zs(0 i1 0 0 ).chord!1 0 0 ),chsl(1 0 0 ),
77
Figure 23. Continued
615
+
stat(0:100),noload,ao.e,mg,t,n
616
+ /mag/f(2 0 0 ),th.tl,speed(0 :1 0 0 )
617
+ /calc/los,lo(100),te(100).to(100),theta(100),3 (2 0 0 )
618 ..............................
619
real* 8 x.z,lo,los.theta,te,to.ao,mg,e,xs,zs,s,f,t,th.tl
620
real' 8 speed,chord,chsl,design,dealnc.dlfInc
621
real' 8 loload,loin,loout.ctnc
622
real' 8 time,tmon,tine,tadj,Inc
623
Integer stat,n.numlnc,noload,Itsave,111
624
data Itsave,111/-1,0/
625 ......................................................
626
write!',')'What Is the design speed of the system? (feet/sec)'
627
read!','!design
628
wrlte(',')'What Is the Increment of time for recalculation of
629
wrIte(',*)'system tensions? (second) (< 0.5 sec.)'
630
read(',')tlnc
631
wrlte(*,*)'How many time Increments pass before adjustment '
632
write!',') 'of the sheave speed Is made? (M)'
633
read(',ll)numlnc
634
tadj » tine ' numlnc
635
wrlte(',')'What fraction of the designspeed Is the base'
636
write!',')'adjustment Increment? (x *design speed) '
637
read(',*)Inc
638
deslnc * design'Inc
639
wrlte(*,')'How predominant should differential tension relief
640
write!',')'be over In-span tension relief? (Increment ' x)'
641
read(',')Inc
642
dlflnc = deslnc • Inc
643 ......................................................
644 •
Variables defined
645
dlflnc:
speed Increment of differential tension relief
646
speed Increment of In-span tension relief
647
desInc:
design speed
desIgn:
648
time Increment of recalculation
649
tine:
numlnc:
time Increment of sheave speed adjustment*
650
651
set the Initial sheave speeds
652
653
If!1 1 1 .eq.0 )then
654
111 =
»I
655
tmon = 0
656
time = 0
657
do I, I » 0 ,n
658
If(stat(I).eq.0 )then
659
speed!I) - design
660
elself(stat!I).eq.I)then
661
speed!D - O
662
endlf
663
contInue
664 l
endIf
665
666
667
668
669
670 *
£*7I
672
Find the amount of unstrained cable passing over each driven
sheave, loin and loout are the amounts entering and leaving
the span In question. Free sheaves are assigned a speed of
zero, therefore they have no effect on changes In span length.
loload =
0
78
Figure 23. Continued
2
do 2, I = I,n
cine =* speed! 1 - 1 )*tlnc
If(I.eq.I)then
loin - clnc/(I + t/(e*ao))
loload a loload + loin
write!*,4)loload
format(' ','loload - ',f1 0 .2 )
elself!I.gt.Olthen
loin » ctnc/(I + to!I-I)/(eeao))
endIf
cine - speed!I)"tine
loout » clnc/(I + to!I)/!e*ao))
lo! 1 1 - Io(I) + loin - loout
contInue
•
*
*
*
*
*
#
*
From this point on, the calculations are done with theta and
tension as the unknowns, length Io Is now known for each span
between powered sheaves. With Intermediate Idler sheaves the
total length between the drive sheaves Is known, but the
Individual span lengths will be found by Iteration along with
the tension and theta at the Initial drive sheave. Loload Is
the distance from the first sheave of the system to the first
load entering the system (measured In unstrained cable).
673 3
674
675
676
677
678
679 4
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
do 101, I - I,n-1
wr1te(2,100)te(I),to!I),speed!I),Io(I),I
101
contInue
format(4(f15.5),13)
100
If!Itsave.It.0 )then
write!",")'pick a span to save graph data (span #)'
read!",*)Itsave
open(4,fIIe - 'Itsave.prn',status = 'new')
endIf
wr1te(4,103)te(Itsave),te(Itsave)-to!Itsave-I),to!Itsave),
.
+
te(ltsave+1 )-to(Itsave),speed!Itsave),lo!Itsave),Itsave
write(2 ,1 0 2 )te(n),to(n),speed(n),lo(n),n.tlme,loload
format(4(f15.5),I3,2(fl5.5))
10 2
format(6(f15.5),13)
103
open(3,fIIe » 'warning.dat',status » 'new')
time = time + tine
tmon = tmon + tine
if(tmon.ge. (0.999*tadJDthen
cal I adJust(desIgn,dIfInc,desInc,11me)
tmon =* 0
end! f
call newnewt!loload)
goto 3
return
end
SHEAVE Local Symbols
Name
I .........
NUMlNC......
LOOUT ......
Class
Type
INTEGER*4
INTEGER*4
REAL* 8
Size
4
4
8
Offset
07b6
07ba
07be
79
Figure 23. Continued
SHEAVE
Local
Symbols
Name
Class
INC ... .
CINC. . . .
TADJ. . . .
DIFINC. . .
TlNC. . . .
TIME. . . .
LOIN. . . .
DESINC. . .
DESIGN. . .
LOLOAD. . .
TMON. . . .
ITSAVE. . .
Ill ... .
MG......
T ......
N ......
F ......
TH......
TL......
SPEED . . .
LOS ... .
LO......
TE......
TO......
THETA . . .
S ......
X ......
Z ......
XS......
ZS......
CHORD . . .
CHSL. . . .
STAT. . . .
NOLOAD. . .
AO......
E ......
...... CALC
Type
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER'4
INTEGER'4
REAL'S
REAL'S
INTEGER'4
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER*4
INTEGER'4
REAL'S
REAL'S
Size
8
8
8
8
8
8
8
8
8
8
8
4
4
8
S
4
1600
8
8
80S
S
800
800
800
800
1600
800
800
808
808
800
800
404
4
8
8
Offset
07c6
07ce
07d6
07de
07e6
07ee
07f6
07fe
0806
080e
0816
OdSc
0d60
1478
1480
1488
0000
0640
0648
0650
0000
0008
0328
0648
0968
0 c8 8
0000
0320
0640
0968
0c90
OfbO
12 d0
1464
1468
1470
U.L — ---------- --- --- ----- --- ----- ----------- ---- ......
724
725
726
727
728
729
730
731
732
733
734
735
736
737
-"
•••
•
*
*••
subroutine adJust.for
3/10/88
Al Turk
This subroutine will change the speed of the sheaves to relieve
the excessive <ar Insufficient tens Ions In the system.
+
+
+
+
subroutIne adjust(desIgn.dlfInc,desInc.tIme)
common
/dIm/x(10 0 ),z(10 0 ),xs(0 :10 0 ),zs(0 :10 0 ),chord(1 0 0 ),chs1 (1 0 0 ),
stat(0 :1 0 0 ),noload,ao,e,mg,t,n
/mag/f(2 0 0 ),th,tl,speed!0 :1 0 0 )
/calc/los,lo(1 0 0 ),te(1 0 0 ),to(1 0 0 ),theta(1 0 0 ),3 (2 0 0 )
real* 8 x,z,lo,los,theta,te,to.ao.mg.e.xs.zs.s.f.t.th.tl
real' 8 speed,chord,chsI,design,deslnc.dlfInc
80
Figure 23. Continued
738
739
740
741 ...
742 ...
743 •
744 •
745 ...
746
747 ...
748 •
749 ...
750
751
752
753
754
755
756
757 ...
758
759 ...
760
761
762
763
764
765
766
767
768
769
770
771
772
773 •
774 •
775 • •
776 ••••
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795 200
real* 8 ta.tb.tc.tl,adjnum.a.b.c.avgspd.tlme
Integer stat.n,Inc,numlnc.noload.J,I,Inlt
data lnlt/0 /
relieve the In-span tensions by adjusting sheave speeds
by Increment deslnc
If(Inlt.eq.Olthen
enter these coefficient only once
write(•,•)'Input the coefficient of friction (cable/sheaveIi'
read(*,*)a
wrlte(*,*)'Input the wrap angle estimate (In radians):'
read(*,*)b
wrlte(e,e)'Input the desired safety factor of slippage:'
read(",*)c
Inlt - I
endIf
do I, I > I.n
If(stat(1-1 ).eg.Olthen
If(te(I).ge.th)then
speed(I-I) * speed!I-I) + deslnc
elself(te(I).le.tl!then
speed(l-l) # speed(1-1 ) - deslnc
endIf
If(to!I).gt.thlthen
speed(I) » speed(I) - deslnc
elself(to(I).It.tl)then
speed(I) a speed(I) + deslnc
endIf
calculate allowable differential tension using b as the angle
of wrap, a as the coefficient of friction, and c as the safety
factor, adjust If necessary by Increment dlflnc
If(I.eq,n)then
tl ■ t
elself(I.It.n)then
tl « te(1+1 )
endlf
If(to(I).ge.ti)then
ta a to(I)
tb - tl
tC a - I
elself(to(I).It.tl)then
ta » tl
tb » to(I)
tC a I
endIf
adjnum a c*(ta-tb)/(dexp(b*a)-l)
If(tb.lt.adjnum)then
speed(I) a speed(I) + tc*dlfInc
wrlte(3,200)te(I),to(I),speed(I),adjnum,time,I
format(5(f15.5),13)
81
Figure 23. Continued
796
797
798
799
800 I
801
802
803
804
805
806
807
808
809
810
811
812
813
814 2
815
816
817
818
819
820
821 3
822
823
824
825
826
827 4
828
829
830
831
832
833
endIf
eIse If(stat(I-1).eq.Dthen
speed!1-1 ) - 0
endIf
contInue
reset the speed of Idler sheaves to zero.and find the average
speed of the drive sheaves
avgspd = 0
J-o
do 2, I = 0,n
If(stat(I).eq.I)then
speed!I) * 0
elself(stat!I).eq.0 )then
avgspd » avgspd + speed!I)
J-Jtl
endl f
contInue
avgspd m avgspd/J
If(avgspd.ge.(design + deslnc))then
do 3, I - 0,n
If(stat!I).eq.0 )then
speed!I) - speed!I) - deslnc
endIf
contInue
elself(avgspd.le.(design - deslnc))then
do 4, I= 0,n
If(stat!I).eq.Olthen
speed!I) - speed!I) + deslnc
endIf
contInue
endIf
end of subroutine adjust.for
return
end
ADJUST Local Symbols
Name
TIME........
DESlNC......
OIFINC......
DESIGN......
A .........
B .........
C .........
AVGSPD......
I .........
J .........
TA.........
TB.........
TC.........
TI.........
Class
Type
Size
Offset
0006
000a
000e
0012
REAL»8
REAL* 8
REAL" 8
REAL1S
INTEGER14
INTEGER-4
REAL'S
REAL'S
REAL'S
REAL'S
08Ie
0826
082e
0836
083e
0842
0846
084e
0856
085e
8
8
8
8
4
4
8
8
8
8
I
82
Figure 23. Continued
ADJUST
Local
Symbols
Class
Name
REAL'S
INTEGER'4
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER'4
INTEGER*4
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER'4
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
ADJNUM......
INlT........
X .........
Z .........
XS.........
ZS.........
CHORD ......
CHSL........
STAT........
NOLOAO......
AO.........
E .........
MG.........
T .........
N .........
F .........
TH.........
TL.........
SPEED ......
LOS........
LO.........
TE.........
TO.........
THETA ......
S .........
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
Type
subroutine newnewt.for
>
+
+
+
Size
8
4
800
800
808
808
800
800
404
4
8
8
8
8
4
1600
8
8
808
8
800
800
800
800
1600
3/14/88
Offset
0866
Oeaa
0000
0320
0640
0968
0c90
OfbO
12 d0
1464
1468
1470
1478
1480
1488
0000
0640
0648
0650
0000
0008
0328
0648
0968
0 c8 8
Al Turk
subroutine newnewt(loload)
common
/dlm/x(1 0 0 ).z(1 0 0 ),xs(0 :1 0 0 ).zs(0 :1 0 0 ),chord!1 0 0 ),chsl(1 0 0 ),
stat(0 :1 0 0 ),noload,ao.e,mg,t.n
/mag/f(2 0 0 ),th.tl,speed(0 :1 0 0 )
/calc/los,Io(IOO),te(100),to(100),theta(100),s(200)
real' 8 x.z.xs.zs,chord,chsl,ao.e,mg,t
real" 8 f,th.tl,speed
real* 8 Ios,lo,te.to,theta.s
real* 8 sigma(1 0 0 ,1 0 ),lp,1oad(1 0 0 ,1 0 )
real* 8 IoIoad,drspan(1 0 0 ),drtot(0 :1 0 0 ),si(1 0 ),fI(1 0 )
Integer span,stat.n,noload,lndx(100),dr!nd(100)
find the cable length between drive sheaves
drspan(I) Is the unstrained cable length between the Ith set
of drive sheaves
drInd(I) Is the number of spans within the drive sheave span
J = I
I= I
8 3
Figure 23. Continued
861
862
863
864
865
••
"
""
I
866
867
span between
2
powered sheaves
If((stat(I-I).eq.O).and.(state I).eq.O))then
drspan(J) » Io(I)
drtnd(J) » I
If(I.eq.n) goto 2
868
J « J+ I
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
I- I+ I
goto I
*«
"
•«
powered sheave followed by free sheave
elseif((stat(I-1).eq.O).and.(stat(I).eq.I))then
drspan(J) » Io(I)
drlnd(J) » I
If(I.eq.n) goto 2
I- I+ I
goto I
•'
*
*'
free sheave followed by free sheave
elself((stat(1-1 ).eq.I).and.(stat(I).eq.I))then
drspan(j) * drspan(J) + Io(I)
drInd(J) * drind(J) + I
886
1
887
goto I
888
=
1
+
1
•
889 •
890 •
891
892
893
894
895
896
897
898
899 2
900
901
902
903 3
904
905 »
906 *
907
908
909
910
911
912
913
914
915
916 4
917
918 •
free sheave followed by powered sheave
elself((stat(I-1).eq.I).and.(stat(I).eq.O))then
drspan(j) * drspan(j) + Io(I)
drInd(J) = drInd(J) + I
If(I.eq.n) goto 2
J - J + I
1 = 1 + 1
goto I
endl f
contInue
Js = J
do 3, I = I,Js
lndx(D = O
contInue
position loads within the driven spans. I.e. distance from the
Initial drive sheave
find the length of cable to each driven span
drtot(l) is the cable distance to the Ith sheave
drtot(O) = 0
drtot(l) = drspan(I)
do 4, I = 2.J
drtot(I) = drtot(I -I)+ drspan(l)
contInue
position the first load (IoIoad)
84
Figure 23. Continued
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936 5
937
938
939
940
941
942
943
944
945
946
947 7
948
949
950
951
952
953
954
955
956
957
958
959
960
961 6
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
Ip Is the load position In cable from the origin
check for loads exiting system
I- I
Ip » Ioload
If(loload.ge.drtottJ))then
Io Ioad « Ioload - s(I)
Ip * Ioload
noload » noload - I
If(noload.eq.0 )then
wrlte(*,*)'Al I loads have passed over system!'
stop
endl f
do 5, I - I,noload
s(l) - s(l + I)
f(l) - f(l + I)
contInue
endIf
position loads within driven span
I e. sigma(l,2) Is the second load within the first span
I * Index of load spacing
k =» Index of load numbering
J = Index of span numbering
I- I
k= I
If(lp.ge.drtot(J-II!then
slgma(J,k) » Ip - drtot(J-l)
load(J.k) a f(11
Indx(J) » k
Ip-lp-s(l)
1-1 + 1
k-k+ I
go to 7
elselfdp. lt.drtot(J))then
If(J.eq.I)go to 6
J-J-I
k- I
goto 7
endIf
contInue
the loads are now positioned within the driven span
do 8 , I - I,Js
k - Indx(I)
If((k.eq.O).or.(k.eq.I)) go to
8
In the solution routine the loads and locations are related to
the Individual Initial sheaves so the Indexing Is here changed,
the (ln)th sigma load becomes the 1st si load, the (In - I)th
sigma load becomes the 2 nd si load,....,the 1st slgna load
becomes the (ln)th si load, etc. and then these values are
placed back Into sigma and load with the orders now reversed
do 9, J - 1,1ndx(I)
85
Figure 23. Continued
977
978
979
900 9
981
982
983
984 10
985 8
986
987 •
988 *
989
990
991
992
993 11
994
995
3l(k) * 3tgma(I,J)
fI(K) - load(l.J)
k-k- I
continue
do 10, J » I,lndx(I)
signal I,J) » Sl(J)
Ioad(I1 J) - fl(J)
contInue
contInue
the loads are now properly Indexed for solution In subroutine
raphson.for
span = I
do 11, I * I,Js
cal I raphson(span,sigma,load,Indx.drspan.drlnd,I)
contInue
return
end
NEWNEW Local Symbols
Name
LOLOAO......
SI.........
ORSPAN......
I .........
J .........
K .........
DRTOT ......
LP.........
JS.........
LOAD........
DRlNO ......
SIGMA ......
SPAN........
INOX........
Fl.........
X .........
Z .........
XS.........
ZS.........
CHORD ......
CHSL........
STAT........
NOLOAO......
AO.........
E .........
MG.........
T .........
N .........
F .........
TH.........
TL.........
SPEED ......
LOS........
Class
...... DIM
...... DIM
...... MAG
...... CALC
Type
REAL‘ 8
REALeB
INTEGER"4
INTEGER"4
INTEGER"4
REAL'S
REAL'S
INTEGER"4
REAL" 8
INTEGER"4
REAL'S
INTEGER"4
INTEGER*4
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER"4
INTEGER*4
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER"4
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
Size
SO
800
4
4
4
808
8
4
8000
400
8000
4
400
80
800
800
808
808
800
800
404
4
8
8
8
8
4
1600
8
8
808
8
Offset
0006
086e
08be
Obde
0 be2
0 be6
Obea
OflZ
Ofla
Ofle
2e5e
2 fee
4f2e
4f32
50c2
0000
0320
0640
0968
0c90
OfbO
IZdO
1464
1468
1470
1478
1480
1488
0000
0640
0648
0650
0000
86
Figure 23. Continued
NEWNEW
Loca I Symbo 13
Class
Name
LO.........
TE.........
TO.........
THETA ......
S .........
996
997
998
999
Type
Size
Offset
REAL’S
REAL’S
REAL’S
REAL’S
REAL’S
800
800
800
800
1600
0008
0328
0648
0968
0 c8 8
subroutine raphson.for
This subroutine finds the values of t and theta which satisfy
the given parameters using the two dimensional modified Newtons
method. [A] = [ dxte dxth I (B) = [ xdlm - x ]
[ zdlm - z ]
t dzte dzth I
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
(X) = I dte ]
[ dth ]
(A)(X) = (B) therefore
Inv.(A)(B) = (X)
The values of theta and t are adjusted by the x values until
these values become sufficiently small. This process Is finding
the roots of the two equations:
1010
xdlm - x
1011
= 0
and
zdlm - z
= 0
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036 100
1037
1038
1039
1040
1041
1042
+
+
+
+
subroutIne raphson(span,sIgma,Ioad,Indx,drspan,drInd,Inspan)
common
/dim/x(1 0 0 ),z(1 0 0 ),x3 (0 :l0 0 ),zs(0 :100).chord!100).chsl(100),
stat(0 :1 0 0 ),noload.ao.e.mg.t.n
/mag/f(200).th.tl,speedtO:100)
/calc/los.Io(IOO),te(100),to(100),theta(100),3 (2 0 0 )
real* 8 x.z.xs.zs,chord,chsl,ao.e.mg.t
real’ 8 f,th.tl,speed
real* 8 Ios,lo.te,to,theta,s
real’ 8 slgma(1 0 0 ,1 0 ),load(1 0 0 ,1 0 ),drspan!I),ten,angle,Iosp
real’ 8 Sl(IO)1 I K 10),tolosp.savlen,tolo,engine,tenlnc,Ioinc
real’ 8 xdlm,zdlm,xd,zd,a,b,c,d,dxl,dx2 ,dx,dte,det,dzte,dxth
real* 8 dzth,dlo,dth,dxte,dxlo,toload,tespan,aa,bb,aaa,dzlo
Integer stat.n.nl,noload,drlnd(I)
Integer span,Inspan,Indx(I)
find the A terms (partial derivatives w/respect to t,theta)
tenInc Is an Incremental change In t, anglnc Is an Incremental
change In theta
to Iosp = 0
Irun = 0
if((stat(span-l).eq.O).and.(stat(span).eq.0 ))then
Iosp = lo(span)
nl = Indx(Inspan)
do 10, I = I,nl
sl(l) = slgmatInspan,I)
87
Figure 23. Continued
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
U(I) =» 1oad(inspan, I)
contInue
ten « te(span)
angle * theta(span)
tenInc - ten *I.OIdO
anglnc » angle * I.OldO
10
I
find dxte (partial of xdlm w/respect to t)
a - xd1m(ao,e,losp.sl,tenlnc.angle.mg,1 1 ,n))
xdlm(ao,e,losp.sl.ten,angle.mg,1 1 ,nl)
dxte * (a- b)/(0 .0 1 d0 *ten)
b =
find dzte (partial of zdlm w/respect to t)
c » zdlm(ao,e,losp.sl,tenlnc.angle.mg,ll.nl)
d - zdtm(ao,e,losp.sl,ten,angle,mg,ll.nl)
dzte » (c - d)/(0 .0 1 d0 *ten)
*
find dxth.dzth (partials w/respect to theta)
a a xdim(ao,e,losp.sl,ten,anglnc,mg,ll.nl)
c a zdlm(ao,e,losp.sl,ten,anglnc,mg,1 1 ,nl)
dxth a (a - b)/(0 .0 1 d0 *angle)
dzth = (c - d)/(0 .0 1 d0 *angle)
find the
8
terms (a » b - x a xdlm -x, c a d - z * Zdim - z)
a = b - x(span)
c a d - z(span)
find the X terms
51
+
det a dxte'dzth - dzte*dxth
dte » (a * dzth - c * dxth)/det
dth « (c * dxte - a * dzte)/det
angle - angle - dth
ten » ten - dte
If(angle.It.chsl(span))then
angle - chsl(span)
elself(angle.gt.I.56d0)then
angle a I.56d0
end! f
If(ten.Ie.0 )then
ten a dabs(ten)
endl f
if(ten.gt.(ao*135812d0))then
ten = ao*135812d0
endIf
if((dabs(dth).It.Id-6 ).and.(dabs(dte).It.Id-5))then
te(span) » ten
theta(span) a angle
toload a o
do 51, I » I,nl
toload » toload > load(Inspan,I)
contInue
to(Inspan) a dsqrt((ten»dcos(angle) ) * * 2 +
(ten*dsln(angle) - losp'mg - toload)**2 )
88
Figure 23. Continued
1101
1102
1103
1104
1105
1106
1107
1108
1109
wrIte(•,50)te(span),to(span),theta(span)
format(' ','te » ',fl0.5,' to . ',flO.5,
' theta - ',f10.8)
span » span + I
return
50
1110
+
else
goto I
endlf
end of Ioop for drIven spans
1111
1112
1113
1114
1115
1116 1 10
1117
1118
1119 •
start loop for free spans
eIself((stat(span-I).eq.0 ).and.(stat(span).eq.I))then
If(Indx(Inspan).eq.0 )then
toIosp » 0
J - span + drInd(Inspan) - 2
do loop for until the last span
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129 31
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
do 30, I » span,J
If(I.eq.span)then
ten ■ te(I)
elself(I.gt.span!then
ten * to(I - I)
endIf
angle » theta(I)
Iosp * Io(I)
lolnc - Iosp • I.OldO
anglnc =■ angle • I.OldO
A terms (partial derivatives)
find dxlo (partial of xdlm w/respect to lo)
a = xd(lolnc,angle,ten,mg,e,ao)
b * xd(losp,angle,ten,mg,e.ao)
dxlo = (a - b)/(0.OldOlIosp)
find dzlo (partial of zdlm w/respect to lo)
c * zd(lolnc,angle,ten,mg,e.ao)
d = zd(losp,angle,ten,mg,e.ao)
dzlo = (c - d)/(0.OldOlIosp)
find dxth.dzth (partlals w/respect to theta)
a « xd(Iosp,anglnc,ten,mg,e.ao)
c » zd(losp,anglnc,ten,mg,e.ao)
dxth - (a - b)/(0 .0 1 d0 1 angle)
dzth = (c - d)/(0 .0 ld0 eangle)
find the B terms (a » b - x ■ xd - x, c » d - z - zd - z)
a " b - x(l)
c * d - z(l)
find the X terms
89
Figure 23. Continued
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186 '
1187
1188
1189
1190
1191 33
1192 30
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
det - dxloedzth - dzlo'dxth
dlo * (a • cteth - c • dxth)/det
dth - ( c 1* dxlo - a • ctelo)/det
angle - angle - dth
Ioap * Ioap - dlo
range bracketing
+
+
If(angle.It.chal(I))then
angle - chal(I)
elaelf(angle.gt.I.56d0)then
angle - I.56d0
end If
If(loap.le.(Io(I)e0.5d0))then
Ioap - Io(I)eO.5d0
elaelf(losp.gt.(I.5dOelo(I)))then
Ioap - loape1.5d0
endl f
If((daba(dth).It.Id-6).
and.(daba(dlo).It.Id-6))then
Io(I) - Ioap
toIoap * toIoap + Ioap
theta(I) - angIe
to(I) - daqrt((tenedcoa(angIe))ee2 >
(tenedaln(angle) - loapemg)ee2)
te(I) - ten
go to 33
el ae
go to 31
end If
continue
continue
end of do loop for Interior apana
toIoap la now the aum of prevloua apan lengtha from the drive
aheave over the Idler aheavea up to the next to Iaat apan before
another drive aheave - the total length between the drive
aheavea Ia known ao with the Initial tenalon gueaa at the first
aheave the free apan lengtha are found. If the gueaa Is correct
there will be the right amount of cable left for the last span
to reach the final (drive) sheave.
Iosp * drspan(Inspan) - toIosp
Ioap Ia the length of cable left for the final apan
4
te(l) - to(l-l)
ten - to(l-I)
angle = theta(I)
angInc » angIeeI.OldO
a = zddoap.anglnc.ten.mg.e.ao)
b » zddoap,angle.ten,mg,e.ao)
dzth = (a-b)/(0 .0 ld0 eangle)
c - b - zd)
90
Figure 23. Continued
1217
1218
1219
1220
1221
1222
1223
1224 ""
1225 •
1226 *
1227 •
1228 •
1229 ••
1230
1231 ""
1232 •
1233
"
1234
1235
1236
1237 ••
1238 •
1239 **
1240
1241
1242
1243
1244
1245
1246 ••
1247 •
1248 •«
1249
1250
1251
1252
1253
1254
1255 ••
1256 "
1257 •'
1258
1259
1260
1261
1262
1263
1264 "
1265 *
1266 "
1267
1268
1269
1270
1271
1272
1273
1274
dth » c/dzth
angle =» angle - dth
if(angle.gt.I.56d0)then
angle » I.56d0
elself(angle.1 1 .0 .0 0 0 IdO)then
angle » 0.OOOldO
endIf
If the change In angle (dth) Is less than a certain amount then
another run will be made with an Incremented value of te(span)
to allow numerical differentiation and solution for the proper
value of te(span)
If(dabs(dth).ge.ld-8 )then
recalculate the value of theta If dth Is not small enough
goto 4
elself(dabs(dth).It.ld-8 )then
If((run.eg.O)then
1st run with Initial value of theta(span)
Irun » I
aa » xd(losp,angle,ten.mg,e,ao)
dxl -x(l) - aa
tespan * te(span)
te(span) » I.OOldO^te(Span)
goto 1 1 0
2
nd run with Incremented value of theta(span)
eIseIf(Irun.eg.I)then
Irun - 0
bb » xd(losp,angle,ten.mg,e.ao)
dx = (bb-aa)/(0 .0 0 1 d0 *tespan)
aaa « dxl/dx
te(span) * tespan + aaa
bracket te(span)
If(te(span).It.(tespan/2 ))then
te(span) = tespan/ 2
endlf
If(te(span).gt.2 "tespan)then
te(span) => 2 *tespan
endIf
check root approximation of te(span)
+
>
If(dabs(aaa).It.Id-7)then
te(I) = ten
tod) * dsqrt( (ten*dcos(angle) ) * <* 2 +
(ten'dsln(angle) - losp*mg)**2 )
theta(I) » angIe
Irun =» 2
to(span) = dsqrt((ten*dcos(angle) ) * * 2 +
(ten*dsln(angle) - lo(span)*mg)**2 )
91
Figure
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
23.
Continued
goto 110
elself(daba(aaa).gt.Id-7)then
to(l) - dsqrt((ten'dcoalangle))•l,2 +
(ten'dsIn(angIe) - losp*mg)""2)
theta(I) * angIe
te(l) * ten
go to 110
endIf
eIseIf(Irun.eq.2)then
Irun - 0
toll) a dsqrtl(ten'dcoa(angle))ee2 +
(ten'dslnlangle) - lo3pemg)**2)
theta!I) » angle
loll) a losp
go to 7
endIf
endIf
contInue
7
*•*
•
•••
•
•••
end of loop for unloaded spans
begin loop for loads on span (Indx(Inspan) > 0)
elself(Indxl Inspan).gt.0)then
tolosp a o
J « 3 pan + drlndlInspan) - 2
710
do loop for until the last span
*
•••
JJ = I
k a |
do 66, I « span,j
If11.eq.span)then
ten a tel I)
elself11.gt.span)then
ten a toll - I)
endIf
angle » theta!I)
losp a Io(I)
Iolnc a losp • I.OldO
angInc » angle • I.OldO
61
position loads within span
•
60
+
nl • o
lf((sIgmaIInspan,JJ).gt.tolosp).and.
(sigma!Inspan,JJ).Ie.ItoIosp+Iosp)))then
IflJJ.gt.Indxl Inspan))then
ka I
go to 62
endIf
silk) a slgmalInspan,JJ)
IIlk) a load!Inspan,JJ)
nl a k
k=k> I
JJ = JJ > I
go to 60
else
92
Figure 23. Continued
1333
1334
1335
1336
1337
1338
1339 62
1340
1341
1342
1343 •
1344
1345
1346
1347
1348
1349 1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
k* I
endlf
A terms (partial derivatives)
find dxlo (partial of xdlm w/reapect to lo)
a - xdlm(ao,e,lolnc.a!,ten,angle,mg,11 ,nl)
b " xdlm(ao,e,losp.sl,ten,angle,mg,II,nl)
dxlo « (a - b)/(0.OldOeIosp)
find dzlo (partial of zdlm w/reapect to lo)
-
c a zdlm(ao,e,lolnc.aI,ten,angle,mg,11,nl)
d - zdlm(ao,e,losp.sl.ten,angle.mg,ll.nl)
dzlo • (c - d)/(0.OldOeIoap)
find dxth,dzth (partIaIa w/reapect to theta)
a * xdtm(ao,e,loap.sl,ten.anginc.mg,ll.nl)
c » zdlm(ao,e,losp.sl,ten.anglnc.mg,II,nl)
dxth - (a - b)/(0.01d0*angle)
dzth - (c - d)/(O.OldO’angle)
find
the B terms (a * b
a
a b C » d -
find
-Xa
Xd
-
X, C a d - Z a
Zd
- z)
X(I)
Z(I)
the X terms
det « dx!o*dzth - dzlo'dxth
dlo * (a • dzth - c • dxth)/det
dth a (c • dxlo - a • dzlo)/det
angle a angle - dth
Ioap « Ioap - dlo
range bracketing
+
+
If(angle.It.chal(I))then
angle = chal(I)
elself(angle.gt.I.56d0)then
angIe = I.56d0
endIf
If(loap.le.(Io(I)*0.5d0))then
Ioap a lo(I)*0.5d0
elself(losp.gt.(I.5d0*lo(I)))then
Iosp « losp'l.SdO
endlf
If((dabs(dth).It.Id-6).
and.(dabs(dlo).It.Id-6))then
Io(I) » loap
toIoap a toIosp + loap
theta(I) » angIe
to(I) a dsqrt((ten*dcoa(angle)),e2 +
(ten'dain(angle) - losp'mg)••2)
te(I) » ten
9 3
Figure 23. Continued
1391
1392
1393
1394
1395 63
1396 66
1397 •••
1398 *
1399 """
1400
1401 "
1402 •
1403 *
1404 •
1405 *
1406 "
1407 "
1408 •••
1409
1410 •••
1411 *
1412
1413
1414
1415
1416 74
1417 *•*
1418 •
1419
1420 70
1421
1422
+
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436 ••
1437 72
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448 ••
go to 63
else
go to 61
endIf
contInue
contInue
end of do loop for Interior spans
toIosp Is now the sum of previous span lengths from the drive
sheave over the Idler sheaves up to the next to last span before
another drive sheave - the total length between the drive
sheaves Is known so with the initial tension guess at the first
sheave the free span lengths are found. If the guess Is correct
there will be the right amount of cable left for the last span
to reach the final (drive) sheave.
Iosp = drspan(Inspan) - toIosp
losp Is the length of cable left for the final span
te(I) = to(l-l)
ten = to(1-1)
angle = theta(I)
anglnc = angle*I.OldO
position loads on span
nI =0
If((sigma(Inspan,JJ).gt.toIosp).and.
(slgma(Inspan,JJ).Ie.(tolosp+Iosp)))then
If(JJ-gt.Indx(Inspan)Jthen
k= I
go to 72
endIf
si(k) » Slgma(InspanlJJ)
11(k) - Ioad(Inspan1JJ)
nl - k
k-k+ I
JJ = JJ + I
go to 70
else
k= I
endIf
a = zdim(ao,e,losp.sl,ten.anglnc.mg,11,nl)
b = zdlm(ao,e,losp.sl,ten,angle,mg,11,nl)
dzth a (a-b)/(0.01d0*angle)
c=b-z(l)
dth = c/dzth
angle - angle - dth
If(angle.gt.I.56d0)then
angle - I.56d0
elseif(angle.11.0.0001dO)then
angle » 0.OOOldO
endIf
94
Figure 23. Continued
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
If the change In angle (dth) Ia Ieaa than a certain amount then
another run will be made with an Incremented value of te(apan)
to allow numerical differentiation and solution for the proper
value of te(span)
if(dabs(dth).ge.Id-8)then
recalculate the value of theta If dth Ia not sma11 enough
goto 74
elseIf(dabs(dth).It.Id-8)then
If(lrun.eq.0)then
Iat run with Initial value of theta(span)
Irun ■ I
aa - xdlm(ao,e,loap.sl.ten.angle.mg.11,nl)
dxl ■ x(I) - aa
teapan * te(apan)
te(apan) - I.00ld0*te(apan)
goto 710
2nd run with Incremented value of theta(span)
elaelf(Irun.eg. Dthen
Irun » 0
bb = xdlm(ao,e.loap.sl,ten,angle,mg,1 1 ,nl)
dx = (bb-aa)/(0.001dO'teapan)
aaa » dxI/dx
te(span) => teapan + aaa
bracket te(apan)
If(te(apan).It.(tespan/2))then
te(apan) - teapan/2
endIf
lf(te(apan).gt.2"teapan)then
te(apan) - 2'teapan
endIf
check root approximation of te(apan)
If(daba(aaa).It.Id-7)then
te(I) » ten
to(I) a dsqrt((ten'dcos(angle))•*2 +
(ten*daln(angle) - loap,mg),e2)
theta(I) a angle
Irun a 2
to(span) a dsqrt((ten*dcoa(angle))•,2 +
(ten'daln(angle) - lo(apan)*mg)»,2)
goto 710
elaelf(daba(aaa).gt.Id-7)then
to(l) a daqrt((ten'dcoalangle) ) ' « 2 +
(ten'daln(angle) - lo3p*mg)»*2)
theta(I) a angle
te(I) a ten
go to 710
endlf
95
Figure 23. Continued
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1510
1519
1520
1521
1522
1523
1524
1525
1526
elself(Irun.eq.2)then
Irun » 0
to(l) - dsqrt((ten'dcos(angle))"2 +
(ten*dsln(angle) - losp*mg)e*2)
theta(I) x angle
Io(I) - Iosp
go to 77
endlf
+
endIf
contInue
77
....
endIf
endIf
............................ *
end of loop forfree spans
............................
return
... *........................
•
end of subprogramnewnewt.for
end
RAPHSO Local Symbols
Name
INSPAN......
GRIND ......
ORSPAN......
INDX........
LOAD........
SIGMA ......
SPAN........
A .........
TENlNC......
AA.........
B .........
AAA........
TOLOAO......
C .........
80.........
D .........
SI.........
I .........
J .........
K .........
TESPAN......
DXl........
JJ.........
NL.........
OX.........
DET........
DTE........
OLO........
DTH........
T0L0SP......
ANGLE ......
TEN........
Class
Type
REAL*8
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER*4
INTEGER'4
INTEGER'4
REAL'S
REAL'S
INTEGER'4
INTEGER*4
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
Size
8
8
8
8
8
8
8
8
8
SO
4
4
4
8
8
4
4
8
8
8
8
8
8
8
8
Offset
0006
000a
000e
0012
0016
001a
OOle
5112
51 la
5122
512a
5132
513a
5142
514a
5152
515a
Slaa
Slae
51b2
51b6
Slbe
5lc6
Slca
Slce
51d6
Side
5le6
5lee
51f6
Slfe
5206
96
Figure 23. Continued
RAPHSO LocaI SymboI3
Name
ANGINO.
OXTE. .
LOlNC .
OXLO. .
OZTE. .
OXTH. .
DZLO. .
OZTH. .
LI. . .
IRUN. .
LOSP. .
X ...
Z ...
XS. . .
ZS. . .
CHORD .
CHSL. .
STAT. .
NOLOAO.
AO. . .
E ...
MG. . .
T ...
N ...
F ...
TH. . .
TL. . .
SPEED .
LOS . .
LO. . .
TE. . .
TO. . .
THETA .
S ...
1527
1528
1529
1530
1531
1532 *
1533 •
1534 *
1535
1536
1537
1538
1539
1540
1541
1542
Class
........DIM
........DIM
........DIM
........DIM
........MAG
........MAG
........CALC
........CALC
........CALC
........CALC
.......... CALC
Type
Size
Offset
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER'4
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER'4
INTEGER'4
REAL'S
REAL'S
REAL'S
REAL'S
INTEGER'4
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
8
8
8
8
8
8
8
8
80
4
8
800
800
808
808
800
800
404
4
S
8
8
8
4
1600
8
8
808
S
800
800
800
800
1600
520e
5216
52Ie
5226
522e
5236
523e
5246
524e
529e
52a2
0000
0320
0640
0968
0c90
OfbO
I2d0
1464
1468
1470
1478
1480
1488
0000
0640
0648
0650
0000
0008
0328
0648
0968
0c88
subprogram xdlm.for
With the given 1parameters, this function determines the x
location of the cable at the coordinate s.SIs the distance
from the sheave,sis the distance from the sheave to the
point Ioad 11.
real*8 function xdlm(ao,e,len.sl,ten.angle.mg,11,n!)
real'8 Sl(I)1Il(I),up(-l:10),ups(-1:10),3(0:10),v,h,w
real'8 ao,e.Ien,asinh,mg,ten,angle
real'8 one.two.three,four.five,a,phi,chi ,beta
w= Ien ' mg
97
Figure 23. Continued
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
I
2
4
3
do I, I = I,nI
up(I) » ll(l)/w
contInue
up(-l) = 0
up(0) = 0
UP3(-1) * 0
do 2, I= 0,nl
ups(I) = ups(l-l) + UP(I)
contInue
do 4, I = I,nl
s(l) = 3l(l)/len
contInue
3(0) = 0
chI = hZw
phi =» vZw
beta = wZ(ao*e)
one = asinh(phiZchl)
two = aslnh((phi - ups(nl) - DZchI)
three = 0
do 3, I = O.nl
four = as Inh((phi - ups(I) - S(D)Zchl)
five = asinh((phi - ups(I-I) - s(D)Zchl)
three = three + four - five
contInue
a = one - two + three
xdim = (a + beta)"chi"Ien
return
1573 •
end of subprogram xdlm.for
1575
end
XDIM
Loca I Symbo Ia
Name
XDlM........
NL.........
LI.........
MG.........
ANGLE ......
TEN........
SI.........
LEN.......
E .........
AO.........
A ........
H .........
I ........
S ........
CHI......
V ........
W ........
BETA......
PHI......
ONE......
UP........
Class
Type
REAL*8
REAL'S
INTEGER"4
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
Size
Offset
8
8
4
88
8
8
8
8
8
8
96
0006
0008
OOOc
0010
0014
0018
OOlc
0020
0024
0028
52aa
52b2
52ba
52be
5316
53Ie
5326
532e
5336
533e
5346
98
Figure 23. Continued
XDIM LocaI SymboI3
Name
Class
FIVE........
THREE ......
UPS........
TWO........
FOUR........
Type
REAL*8
REAL'S
REAL'S
REAL'S
REAL'S
Size
8
S
96
S
8
Offset
53a6
53ae
53b6
5416
54Ie
1576
1577
subprogram zdlm.for
1579
1580
1581
With the given parameters, this program finds the z location of
point s, a distance s from the Initial sheave.
s is the distance from the sheave to the point load 11.
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594 I
1595
1596
1597
1598
1599
1600 2
1601
1602
1603 3
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617 4
1618
1619
real*8 function zdlm(ao,e,len.sl,ten,angle,mg,11,nl)
1621
1622
*
real'8 up(-l:10),ups(-l:10),11 (I),3(0:10),si(I)
real'8 ao,e,len,v,h,w,mg,ten,angle,chi,phi,beta
real*8 one,two,three,four,five,six,seven
w = mg ' Ien
h = ten * dcos(angle)
v = ten • dsin(angle)
do I, I » I,nl
up(l) = 11(I)/W
contInue
up(-l) = 0
up(0) = 0
ups(-l) = 0
do 2, I = 0,nl
ups(I) » ups(l-l) > up(l)
contInue
do 3, I = I,nl
s(I) » sI( I)/ Ien
contInue
s(0) - 0
chi » h/w
phi = v/w
beta = w / (ao'e)
one = beta*(phi - 0.5d0)
two = dsqrt(chl"2 + phi "2)
three = dsqrt(chl"2 + (phi - ups(nl) - I)"2)
four » 0
do 4, I= 0,nl
five = beta'up(I) * (s(I) - I)
six = dsqrt(chl "2 + (phi - ups( I) - s( I) )"2)
seven = dsqrt(chl “ 2 * (phi - ups( I- 1) - s( I) )"2)
four = four + five + six - seven
contInue
zdlm = Ien ' (one + two - three + four)
return
end of subprogram zdlm.for
99
Figure 23. Continued
1623
end
ZDIM LocaI Symbols
Name
Class
ZDlM. . . .
NL......
LI......
MG......
ANGLE . . .
TEN ... .
SI......
LEN ... .
E ......
AO......
SEVEN . . .
H ......
I ......
S ......
CHI ... .
V ......
W ......
BETA. . . .
PHI ... .
ONE ... .
UP......
FIVE. . . .
SIX ... .
THREE . . .
UPS ... .
TWO ... .
FOUR. . . .
Type
REAL*8
REAL'S
INTEGER'4
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
REAL'S
Size
Offset
8
8
4
88
8
8
8
8
8
8
96
8
8
8
96
8
8
0006
0008
OOOc
0010
0014
0018
OOlc
0020
0024
0028
5426
542e
5436
543a
5492
549a
54a2
54aa
54b2
54ba
54c2
5522
552a
5532
553a
559a
55a2
Global Symbols
Name
ADJUST.........
ASINH .........
CALC...........
DIM...........
INITIA.........
MAG...........
NEWNEW.........
NEWT...........
NEWTON.........
POINT.........
RAND...........
RANDOM.........
RAPHSO.........
SHEAVE.........
SPAN...........
XD............
XDIM...........
ZD............
Class
Type
Size
Offset
4808
5260
21e8
0a6b
0000
0000
002c
0000
2856
REAL'S
2424
Oaaa
. . . FSUBRT
. . . FSUBRT
. . . FSUBRT
REAL'S
. . . FFUNCT REAL'S
REAL'S
Obef
1564
lae9
lbb8
30c4
Ic4b
08e2
132b
5IfO
1436
/
100
Figure 23. Continued
GIobaI SymboIa
Name
Class
Type
ZDlM............... FFUNCT REAL'S
main............... FSUBRT •••
Code size = 59db (23003)
Data size = 100a (4106)
Bss size = SSaa (21930)
No errors detected
Size
Offset
'
55f6
OOOO
Download