You are on page 1of 19

Int. J. Pres. Ves.

& Piping 30 (1987) 131-149

A Computer Program for Cylindrical Shell Analysis


Ong Lin Seng
School of Mechanical and Production Engineering,
Nanyang Technological Institute, Singapore
(Received 12 March 1987; accepted 17 March 1987)

ABSTRACT
This paper describes a general analysis for a cylindrical shell, simply
supported at both ends and subjected to various kinds of surface loadings.
Double Fourier expansion technique is employed to solve the shell equations
and also to express the displacement and loading functions. The applications
and validity of the analysis are shown by two examples, which show good
results. A computer program for the analysis is also attached, which is capable
of analysing a few loading cases at the same time.

NOMENCLATURE
A
E
L
m

M,
n

Nx
P,

e,
Pr.,n
Px,.n
P ,,.,
q
r

Extensional rigidity = Et/(1 - v2)


Modulus of elasticity
Length of cylinder
Harmonic number associated with x direction
Moment resultants
Harmonic number associated with ~b direction
Direct stress resultants
External applied loading in the radial direction
External applied loading in the x direction
External applied loading in the ~b direction
Loading coefficient in the radial direction
Loading coefficient in the x direction
Loading coefficient in the ~b direction
Internal pressure
Radius of cylinder
131

Int. J. Pres. Ves. & Piping 0308-0161/87/$03"50 Elsevier Applied Science Publishers Ltd,

England, 1987. Printed in Great Britain

132

Ong Lin Seng

Thickness of cylinder
Mid-surface displacement in the x direction
Displacement coefficient in the x direction
Umn
1)
Mid-surface displacement in the 4' direction
Displacement
coefficient in the 4' direction
l)mn
W
Mid-surface displacement in the radial direction
Displacement coefficient in the radial direction
Wren
Coordinate in the axial direction
X
z
Coordinate in the radial direction
gx, ~ , gx~b Strains
t~x, K4~, Kxgp Curvatures
mvzr / L
2
v
Poisson's ratio
Coordinate in the circumferential direction
4'
u

INTRODUCTION
The cylindrical shell is a c o m m o n and important structural component; it is
widely used and has received more attention than shells of other shapes.
Typical uses of cylindrical shells are mostly seen in chemical process plants
and the gas industry, usually for storing and transmitting fluid or gases. In
the normal operating condition, not only is the cylinder subject to loading by
its own contents, but is also subject to other loadings, such as those that
arise from the attachments, piping connections and supports. These
loadings are usually localised in nature and affect stress distribution mainly
in the immediate area of constraint or load application. During the design
stage, it is essential that the designer should consider all possible loadings on
the cylinder, and find out their effects on the displacements and stresses set
up on the shell wall. Over the years, much work has been done in an effort to
analyse cylindrical shell under various kinds of loading. However, these
analyses often lack generality, and in most cases only a single type of loading
is considered, its analysis being exclusive to that particular type of loading. A
more general analysis has been done by Duthie and Tooth, 1 but in this case
however, only symmetric loadings were considered. In dealing with local
loading problems, design codes such as BS5500 and ASME boiler and
pressure vessel codes provide parametric formulae and curves to obtain
stresses and displacements along the boundary of a loaded area. In such
cases the accuracy of the results depends on the choices of parameters used.
Though their approach is simple, however, it is usually required to
interpolate between curves and at times extrapolate from curves to obtain
results. The above reasons prompted the work described in this paper. The
aim is to present a general analysis for cylindrical shell loaded by various

A computer program for cylindrical shell analysis

133

types of external loadings and to provide a computer program based on the


analysis.
In the world of stress analysis, although the finite element method has
rapidly become a universal and popular tool, it is nevertheless considered
expensive so that not many people can afford to use it. For local loading
problems, the use of the finite element method is fundamentally inefficient as
most effort is wasted on regions of the shell where the solution has little
interest. Besides, the accuracy of the solution depends on the number of
elements. The use of an insufficient number of elements in regions of high
stress gradient may adversely affect the accuracy of the solution, whereas the
use of a large number of elements in the model will increase the cost greatly.
For the above reasons, a direct solution of the governing equations provides
the better alternative for the local loading problems.
In this work, the cylindrical shell equations of Sanders 2 will be adopted
but modified to take account of the stiffening effect of internal pressure on
the shell wall. The shell equations are then solved by the double Fourier
expansion technique. This technique is versatile as virtually almost any
shape of loading can be represented by Fourier series. The technique has
been successfully used by many authors to solve local loading problems in
shells of various geometries. However, the main drawback of this method is
that a great number of terms are usually required before a solution of
acceptable accuracy could be reached. Today, this problem is less important
owing to the rapid development of computer technology. Many terms can
now be considered without taking up a great deal of computer storage and
time. In the development of a program, the Fourier expansion solution can
be written in such a way that it will cycle through a user-specified number of
Fourier harmonics and superpose separate solutions. This feature will
enable the user to establish the rate of convergence for a particular loading
system, this information can be useful to other similar problems. All these
advantages make the Fourier expansion technique an ideal method for
solving the shell equations presented in the next section.

C Y L I N D R I C A L SHELL ANALYSIS
The cylindrical shell equations of Sanders, 2 when expressed in terms of midsurface displacements and surface loadings, can be shown as follows:

L2 L4 L5
L3

L5

L6

=~-

(1)

[P,J

where L's are the differential operators, as defined by Ong and Tooth. 3

Ong Lin Seng

134

The first step in solving differential equations by the double Fourier


expansion method is to express all the known and unknown functions by
double Fourier series. The double Fourier series for the loads and
displacements are given by eqn (2).
w
u

P.

Px
P

(w,.. cos nq5 + w~..sin nqS)sin (mnx/L)


(u,.. cos nq5 + u~,. sin nq~)cos (mnx/L)
(v,.. sin nq~ - v'. cos n~b)sin (mTtx/L)
(P... cos n~b + P'.,,. sin n~b)sin (mxx/L)
,,=o .=o (Px,.. cos nq5 + P'~.,. sin nq~)cos (mrcx/L)
_(P~,,.. sin n~b - P~,.,. cos n~b)sin (mrtx/L)

(2)

The unprimed coefficients in eqn (2) refer to patterns symmetric about q~= 0
and the primed coefficients refer to patterns anti-symmetric about 4)= 0.
This provision permits us to describe symmetric or non-symmetric
functions. The origin of the coordinate system is taken at one end of the
cylinder. The prescribed boundary conditions imply that the cylinder is
supported in radial and tangential directions at the ends and the shell is free
to rotate about a tangent to the edge. Although the boundary conditions do
not precisely describe the conditions pertaining to all end closure
configurations, they are sufficient for most problems encountered in
practice, where loadings are remote from the ends. The sign conventions for
displacements, stress resultants, and surface loadings are shown in Fig. 1.
The solution for displacements can be obtained by first dividing
displacement and loading functions into symmetric and anti-symmetric
parts and then substituting each part separately into eqn (1). The resulting
matrix equations will involve only the coefficients of displacements and
loadings. It is to be noted that the Fourier harmonics are uncoupled, that is,
the i-th harmonic does not interact with thej-th harmonic. This is typical of a
linear elasticity problem. The displacement coefficients for the symmetric
and anti-symmetric parts are given below:

Wren]
1.2

u,,,. = --~ [Kq] -

x [Pjmn]

(3)

Uran

and

[w-.]
,

/.2

(4)

tv2. ]

A computer program for cylindrical shell analysis

135

~,,,1~ igid diaphragm


t

bX

x NCx

F Me
NQ

Fig. 1. Positive directions of mid-surface displacements, stress resultants and loading


components.

where i,j = 1, 2, 3, refer to radial, axial and circumferential directions, and


[Ku] is the stiffness matrix.
It is incidental that both symmetric and anti-symmetric sets of
displacement coefficients have the same [Ku] matrix, the result of assigning
negative signs to v~,. and ~ . . ofeqn (2). The elements of the [Ko.] matrix are
obtained by operating through the differential operators [Lu] ofeqn (1) and
are given below.
K l l = 1 + k(n 2 + 22) 2 + -~(r/2 - 1 + )],2/2)

K12 = 2[~1 -- v)kn 2 -- v] = K21


K13 = n(1 + nZk) + ~ 3 - v)kn2 z = K31
K22 = 2.31_ ~'(1 - - vX4 + k)n 2

Ke3 = - ~n214(1 + v) - 3k(1 - v)] = K32


K33 = n2(1 + k) + 8~1 - vX4 + 9k)22

(5)

Ong Lin Seng

136

where

k=l~(2t/r 2)
and

2-

mT~r

Let [Zit] = [Kit]- 1, which is symmetric as [Kit] is symmetric.


Using eqns (2) to (4), the displacement functions can be expressed
follows:
3

W
U
V

m=0 n=0 j=l

p!

as

glj(PtranCOSH -~- jmnSlnnffg)sln(mr~x/L) ]


g2j(Pjm n c o s nq5 + Ptm. sin n~b)cos (mrtx/L)]
Z3j(Ptm. sin nq~ - Pj,.. cos nO) sin (mr~x/L) ]

(6)

The strain and curvature functions can also be found by the linear strain
displacement relations of Sanders. 2

-- r,~.Z2jF1
r(nZ3j + Zlt)F1

~X
E~

r
"~(,~,Z3j -- nZ2 j)F2
lx/
KO
tCx~

m=

n=0 j=l

(7)

22ZljF1
(n2 Z xj -}- nZ3 t)F1
(32Zaj + n2Zlj + nZ2j)F2

where
F1 = (P j,.. cos nq~ + U~m. sin n~b) sin (mnx/L)
F2 =- (Ptm. sin nq~ -- ~ m . cos n~b)cos (mnx/L)
Once eqn (7) is obtained, the stress and m o m e n t resultants can all be found
through constitutive relations.

THE LOADING COEFFICIENTS


The solutions presented in the preceding section are all expressed in terms of
loading coefficients ['jr.. and Fjm.. AS the types of loadings on the cylinder
are always known, their Fourier coefficients can be evaluated by multiplying
both sides of the loading function by suitable orthogonal functions such that

A computer program for cylindrical shell analysis

137

integration over the surface o f the cylinder eliminates all but one o f the
F o u r i e r coefficients. In this manner, the loading coefficients for the radial,
axial, and circumferential directions can be determined, as given in the
following.

For radial loadings:


l[Lf
= -erran trt j o

Pr sin (mrcx/L) dx d e

J o

(n = O)

P, cos n sin (rnrx/L) d x d e

L~

P'rr~,

2'~

(n = 1, 2, 3, ...)

L~Z j O J O P, sin n sin (mr~x/L) dx d e

(n = 1, 2, 3, ...)

For tangential loadings:


P4,mn-- 2 r L f 2n PC sin n sin (mrtx/L) dx d e
Lrrdo do
Ptcran

LrC V o d 0 P , sin (mx/L) dx d e

(n = 1, 2, 3, ...)

Lrt j o .) 0

(n = 0)

P cos n sin (mTzx/ L) dx dc~

(n = 1, 2, 3 . . . . )

For longitudinal loadings:

l f;;).
lf/ff

Pxr,, - 2Lzt
= ~

Px d x d e
Px cos (mTrx/L) dx d e

(n = m = 0)
(n = O, m = 1, 2, 3 . . . . )

1 CLI2~

P'x,,,,,

= -Px cos n d x d e
Lrt do do

(n = 1, 2, 3 . . . . m = 0)

Px cos n cos (mrcx/L) dx d e

(n, m = 1, 2, 3 . . . . )

Px sin n d x d e

(m = O)

Px sin nq~ cos (mnx/L)'dx d e

(m, n = 1, 2, 3 . . . . )

=
=

L~z.)o do

1 ILl2.

Lrc j o .J o

L x j o do

(8)

M o s t o f the loadings can be readily expressed by d o u b l e Fourier series u p o n

138

Ong Lin Seng

application of eqn (8). The rate of convergence for the loadings and solution
depend on the types ofloadings as well as the vessel dimensions. As a general
guide, taking 100 terms each for the m and n coefficients should be sufficient
for most problems.

THE COMPUTER PROGRAM


The types of loadings considered in the computer program are shown
pictorially in Fig. 2; they include the following:
(1) Internal pressure
(2) Vessel self-weight loading
(3) Fluid content loading of any level of fill
(4) Patch/line/point loads in the x, q~, and radial directions
(5) Radial triangular loads varying in the x or ~bdirections with straight
side facing x = 0 or ~b = 0.
Any combination or repetition of the above loadings can be considered and
placed at any position on the cylinder. In addition, other types of loadings not
mentioned above can also be considered if their effects can be simulated by
combination of different loading types. For example, a moment loading can
be simulated by combining two patch loads of equal magnitude but opposite
in directions, or alternatively, one patch load with one triangular load of
opposite directions.
The program is written in F O R T R A N 77, which can be implemented on a
mainframe computer or a personal microcomputer, for instance, the IBM
PC/XT/AT. This program has been verified against the work of Duthie and
Tooth 1 who developed a cylindrical shell analysis based on Flugge's shell
theory. It is found that there is essentially no difference in results obtained.
Furthermore, this program was part of the present author's work 3 in
analysing a pressurised vessel with initial geometric imperfections, of which
the results compared favourably well with experimental data. In the
following, two examples will be given to show the validity of the program.

Example (1) A cylinder supported at its ends and half-filled with water
For this problem, a solution based on a refined barrel vault theory was made
available by Flugge. The problem was later used by Duthie and Tooth to
verify their theory x and since then it has become a benchmark problem. The
general details of the cylinder and the comparisons of circumferential
bending stress (6M~/t 2) and axial direct stress (Nx/t) distributions with the

A computer program for cylindrical shell analysis

139

-~---~.." ~ ~ ' _

x=O
~=0

Patch

"~'~'~d

(degree)

loads

2C or 2d.

xJo

-I
Triangular load

Self-weight

pressure

t1=0

Fig. 2. Varioustypes of loadingson cylinder.


results from the computer program are shown in Fig. 3. The agreement is
considered most satisfactory.

Example (2) A vessel with square attachment


The second example is taken from BS5500, G2. 4 A vessel is 2.5 m dia., 4 m
long, 12 mm thick, E = 186 GPa, and is subjected to a longitudinal moment
of 1.13 x 106 N m m applied through a square attachment o f 300 300 mm 2
at the mid-length of the shell - - see Fig. 4. The maximum stresses and the
rotation o f the bracket are to be determined.

12.7mm

. __

~.

~ d i Q

12190 mm

g[

E = 207GPQ
u=0.3
e = 9.51 E-6 N~mmn

(sp. wt. of water)

20 t MPO
1S

~ . ~ ~

bQrret vault sotution tref. 1 )


computer progrcu~

10
S
0
-S

+'",~,o + + " +o,<~,,..


%'
// ~-~'-r-,

-10

-1S

Fig. 3.

Comparison with barrel vault solution.

~:~

1.13 E 6 Nn~2 mm

' l++o
J dio.

t~O00 mm

i'--

P~

,,.I

~..

p = 0.188 MPcz

by two I~tch roods


i~ l~mm_~: lOOmm,l_ lOOmm~

Ml~

__.--

Computer program

Edge
30
'

20

(BSSSOO)

10
0

z.o x

211 Iz.zY'~ / i 2 3 ~- ~ Cm)

-I0
-20
-30
i
-SO'

Fig. 4.

Axial moment on cylinder.

A computer program for cylindrical shell analysis

141

Following the procedure given by BS5500, the moment load is replaced by


two uniform patch loads of equal magnitudes but opposite in direction. This
patch load model is shown in Fig. 4, together with the stress distributions for
the axial and circumferential directions, obtained by the program. By the
BS5500, the outside stresses are 19.25 MPa and 22.72 MPa for the axial and
circumferential directions, respectively. When these values are compared
with the corresponding computed values of 26.97 MPa and 33.32 MPa, they
reveal that the code is not conservative in this case. With regard to the
rotation of the bracket, the BS5500 gives 0.004 14 radians. From the
program, the maximum radial displacement at either side of the bracket is
0.206 mm, thus the rotation of the bracket is equal to 0-0014 radians. It can
be concluded from this example that the BS5500 is conservative in
estimating displacements but it underestimates stresses. As a check, the
author modelled the moment by triangular patch loads. However, the results
obtained almost coincide with that of the patch load model except that it has
slightly lower peak stresses. Since the attachment is relatively rigid
compared to the cylindrical wall, stress concentration will be developed and
the stresses around the attachment will be much higher than that simulated
by patch loads. Therefore, care must be taken when using BS5500 for such a
problem. When the bracket is subjected to fatigue loading, an alternative
analysis, which takes into account the rigidity of the bracket, must be sought
to determine the actual peak stresses as it is an important factor in
estimating the fatigue life of the component under consideration.

CONCLUSION
A general theory for a simply end-supported cylinder subjected to various
types of external loadings has been presented. The double Fourier expansion
technique is used for the solution. The analysis will be useful to the stress
analysts or designers who would like to find out the stress and displacement
distributions on the cylinder. The computer program attached is written in
such a way that different types of loadings can be considered and
superposed, which allows users to consider a complex loading case when its
solution is not readily attainable elsewhere.

REFERENCES
Duthie, G. and Tooth, A. S., Local loads on cylindrical shells: a Fourier series
solution, Behaviour of Thin-Walled Structures, ed. J. Rhodes and J. Spence,
Elsevier Applied Science Publishers, London, 1984, pp. 235-72.

Ong Lin Seng

142

2. Sanders, J. L. Jr., An improvedfirst approximation theory for thin shells, NASA


Rep. No. 24, 1959.
3. Ong, L. S. and Tooth, A. S., The effect of high internal pressure on pipes and
cylindrical vessels which are subjected to external constraints and initial
geometric imperfection, Applied Solid Mechanics--1 Conference, University of
Strathclyde, Glasgow, 26-27 March 1985, ed. A. S. Tooth and J. Spence, Elsevier
Applied Science Publishers, London, 1986.
4. British Standard BS5500:1982, Specification for unfired fusion welded pressure
vessels, British Standards Institution, London, 1982.

APPENDIX 1
Data-file for the program
The layout for the data-file is shown in the following. On the right hand side
is the data-file for the second example. It is listed here as an example.
Job description (Max. 60 chars.)
M,N
Nsys, Nsym, Ncsym
R,E,v,t,L
Nload
C1, C2, C3, C4, C5, C 6 ]
'Nload'
C1, C2,. . . . . . . . . . . . . . C 6 I =

M o m e n t 1.13E6 N - m m
50, 50
1,1,2
1250, 186E3, 0.3, 12, 4000
2
1, 0.188, 1900, 0, 100, 13.75

C1, C2, C3, C4, C5, C6


xl, ~bl, x2, ~b2, step

1700, 0, 2300, 0, 50

rOWS

1, -0.188, 2100, 0, 100, 13.75

Definitions
M, N =
Nsys = 1
= 2
Nsym = 1
= 2
Ncsym = 1
= 2
g,v

R,t,L
Nload
xl, q l, x2,
step

No. of M and N terms used in,solution.


Ignore the stiffening effect of pressure.
Consider the stiffening effect of pressure.
The loading is not symmetric about x = L/2.
The loading is symmetric about x = L/2.
The loading is not symmetric about q~ --0.
The loading is symmetric about ~b = 0.
Young's modulus, Poisson's ratio.
Radius, thickness, length.
N u m b e r of loading specifications.
The first and second coordinates for output.
Step of result output.

A computer program for cylindrical shell analysis

If C1
C2
C3
C4
C5
C6

=
=
=
=
=
=

143

0, then
Specific weight of shell's material
Magnitude of internal pressure
Specific weight of fluid
Level of fill (in degrees from = 0)
0 (not used)

Any item not to be considered is set to zero.


If C1 ~ 0,
C1 = 1
= 2
= 3
= 4
=
C2 =
C3, C4 =
C5, C6 --

then
Radial patch
Axial shear patch
Circumferential shear patch
Triangular patch, varying in the x-direction and with vertical
side facing x = 0.
5 Triangular patch, varying in the C-direction and with vertical
side facing = 0.
Magnitude of load
Location of load (x, q~)
Size of load (2c, 2d), see Fig. (2).

The stress and displacement output can be requested from first point (x 1, 4h)
to last point (x 2, 2), in step of 'step' and in the constant x or constant
directions.

Result output
The results are stored in a file called 'output'. It contains the following items
for each requested output point.
(a) Position--{x, )
(b) Displacements--w, u, v
(c) Direct stress-resultants--Nx, N~, Nx~
(d) M o m e n t resultants--Mx, M~, Mx~
(e) Inside and outside axial stresses and strains.
(f) Inside and outside circumferential stresses and strains.

Ong Lin Seng

144

APPENDIX
C
C

2: PROGRAM

LISTING

AN ANALYSIS FOR A HORIZONTALLY


END SIMPLY-SUPPORTED
CYLINDER SUBJECTED TO VARIOUS TYPES OF LOADINGS
IMPLICIT REAL*8 (A-H,O-2)
CHARACTER*20
NANE*60,FILNM
DIMENSION 2(6),20(6),PO(3),P(3),PO2(3),P2(3)
DIMENSION LOAD(3),CL(60),ES(10),EO(lO)
DIMENSION DISP(9,120),RES(9,120)
COMMON/BLK2/T3,T4,PI,RADIAN,T,R,XLEN,NCSYM
COMMON/BLK3/P,PO,P2,P02

103

NRITE(*,*)
INPUT DATA-FILE NAME'
READ(*,l) FILNM
FORMAT(A20)
OPEN(2,FILE=FILNM,STATUS='OLD')
READ(2,103)
NAME
FORNAT(A60)
READ (2,*) MTERN,NTERM
READ (2,*) NSYS,NSYM,NCSYM
READ (2,*) R,E,W,T,XLEN
READ (2,*) NLCAD
READ (2,*) (CL(I),I=l,NLOAD*6)
READ (2,*) CPl,CP2,CP3,CP4,STEP
N-1
IF (CP2.EQ.CP4) NP=2
CLOSE (UNIT=2)

C
C
C

AXIAL SYMMETRY
NSYM=2, KM=1
NON AXIAL SYMMETRY
NSYM=l, KM=0
KM-1
IF (NSYM.EQ.l) KN=O

GLOBAL CONSTANTS
PI=ASIN(1.0)*2.0
RADIAN=PI/180.0
PI2=PI*PI
Tl=l.O-W
TZ=T*T
A=E*T/(l.O-W*W)
T3=PI*R/XLEN
TI=PI/XLEN
TS=R*R/A
T6=T2/12.0

C
C

40

41

LOOPING FOR LOADS


DCI 40 1=1,3
LOAD(I)=0
Do 41 I=l,NLDAD
K=(I-1)*6-l
IF(CL(K).EQ.l.O.OR.CL(K).GE.4.0)
LOAD(l)=1
IF(CL(K).EQ.2.0)
LOAD(2)=1
IF(CL(K).EQ.3.0)
I..OAD(3)=1
Cl=T6/(R*R)
c2=0.0
PRESS=O.O
IF (CL(l).EQ.O.O)
THEN
LOAD(l)=1
IF(CL(Z).NE.O.O)
LOAD(3)=1
ALFHA=CL(S)*RADIAN
PRESS=CL(3)
Cll=SIN(ALPHA)
Cl2=COS(ALPHA)
PBAR=CL(3)+CL(4)*R*(Cll-ALPHA*C12)/PI
CI=PBAR*R/A
END IF
IF (NSYS.EQ.l) C2=0.0
C3=0.5*Tl*Cl

A computer program for cylindrical shell analysis

C
780
360
782
330
300

C 4 = 0 . 5 * ( 3 . 0 - W ) *Cl
C 5 = 0 . 1 2 5 " T 1 " (4.0+Cl)
C 6 = 0 . 1 2 5 " (4.0* (i. 0 + V V ) - 3 . 0 * C I * T I )
C 7 = 0 . 1 2 5 " T I * (4.0+9.0"C1)
-PRINT INPUT DATAO P E N (6, F I L E = 'O U T P U T ', S T A T U S = 'N E W ' )
W R I T E (6,780) N A M E
F O R M A T (//5X, A/)
IF (NSYS.EQ.2) W R I T E (6,360)
F O R M A T ( S X , 'STIFFENING E F F E C T O F P R E S S U R E H A S B E E N CONSIDERED')
W R I T E (6,782) M T E R M , N T E R M
F O R M A T ( / 5 X , ' M T E R M = ' , I 4 / 5 X , ' N T E R M =',I4)
W R I T E (6,330)
F O R M A T ( / / 5 X , ' C Y L I N D R I C A L SHELL')
W R I T E (6,300) X L E N , R , T , E , V V
FORMAT(/10X,'LENGTH ='EI2.5,2X,'UNIT'/
&
10X,'RADIUS ='EI2.5,2X,'UNIT'/
&
10X, 'T H I C K N E S S = ', El2.5,2X, 'U N I T '/
&
10X,'YOUNGS MODULUS =',EI2.5,2X,'UNIT'/
&
1 0 X , ' P O I S S O N R A T I O ',F7.3)

C
306
305
343

344

333
C

990

W R I T E (6,306)
F O R M A T (//5X, '* L O A D I N G * ' )
FORMAT(/5X,'SP. WT.=',E12.5,2X,'PRESSURE
=',E12.5/
& 5X,'SP. WT. O F F L U I D = ' , E I 2 . 5 , 2 X , ILEVEL O F FILT-~I,FT.2,'DEG')
F O R M A T ( / 5 X , 'TYPE = R A D I A L P A T C H (1)
A X I A L S H E A R P A T C H (2)'/
&
5X,'
H O O P S H E A R P A T C H (3)
AXIAL TRIANGULAR
(4) '/
&
5X, '
HOOP TRIANGULAR
(5) '//
&5X, 'TYPE' ,4X, 'MAGNITUDE' ,9X, 'X', 1IX, 'PHY' ,8X, '2C' ,8X, '2BETA' )
F O R M A T (7X, I2,2 (2X, El2.5) , 2X, FT. 2,2X, El2.5,2X, FT. 2)
IF (CL(1).EQ.0.0) W R I T E (6,305) (CL(I),I=2,5)
IF (CL(1).NE.0.0) W R I T E (6,343)
DO 333 I = I , N L O A D
J = (I-1) "6+1
IC=CL(J)
IF(IC.EQ.0) G O T O 333
W R I T E ( 6 , 3 4 4 ) IC, (CL(K),K=J+I,J+5)
CONTINUE
IF (STEP.EQ.0.0) ITOL=I
IF (STEP.NE.0.0) T H E N
IF (NP. EQ. I) A I = ( C P 4 - C P 2 ) / S T E P
IF (NP.EQ.2) A I = ( C P 3 - C P I ) / S T E P
ITOL=I. I+AI
E N D IF
DO 990 J = l , 9
EO ( J ) = 0 . 0
DO 990 I = I , I T O L + N T Y P E
R E S (J, I ) = 0 . 0
Z0(3)=0.0
zo(4)=o.o
Po2 (1) =o. o
P02 (2)=00

C
X=CPI
PHY=CP2*RADIAN
STEPI=STEP*HADIAN
C
WRITE(*,*) 'CALCULATIONS
D O 3001 M = I , M T E R M
K=M*NSYM-KM
C8=T3*K
C9ffiC8"C8
AI=I. 0 + C I * C 9 " C 9
A4f-VV*C8
A5=AI*C9-A4*A4
Z0 (i) = C 9 / A 5
Z 0 (2 ) = - A 4 / A 5
zo (5) =1. o/(c7.c9)

IN PROGRESS'

145

146

Ong Lin Seng

ZO(6)=Al/A5
Do 3004 1=1,3
3004
PO(I)=O.O
PO2(3)=0.0
CALL PJMN(K,O,NLOAD,CL)
IF (NP.EQ.l) CALL ENO(X,K,EO,ZO,PO,P02,LOAD,9)
DC 3001 N=l,NTERM
NZ=N*N
A11=1.0+C1*(N2+C9)**2+C2*((N2-1)+0.5*C9)
A12=CS*(C3*N2-W)
A13==N*(l.O+N2*Cl)+C4*N*C9
A22=C9+C5*N2
A23=-C6*N*C6
A33=N2*(1.O+Cl)+C7*C9
DEN=All*A22*A33+2.0*Al2*A23*Al3-All*A23*A23
&-A22*A13*A13-A33*A12*A12
Z(l)=(A22*A33-A23*A23)/DEN
2(2)-(A13*A23-A12*A33)/DEN
Z(3)=(A12*A23-A13*A22)/DEN
Z(4)-(A12*A13_All*A23)/DEN
Z(5)= (All*A22-A12*A12)/DEN
Z(6)-(All*A33-A13*A13)/DEN
DO 3003 1=1,3
P(I)=O.O
3003
P2(1)=0.0
CALL PJMN(K,N,NMAD,CL)
li=l
11=-l
IF (Il.EQ.ITOL) GOT0 555
100
IF (NP.EQ.l) THEN
PHI=(L-l)*STEPl+PHY
CALL ENN(X,PHI,K,N,ES,Z,P,P2,LOAD)
ELSE
X=(L-l)*STEP+CPl
CALL ENN(X,PHY,K,N,ES,Z,P,P2,MAD)
CALL ENO(X,K,ES,ZO,PO,P02,,LOAD)
STEPl=T4*K*STEP/N
END IF
Do 900 JC=1,9
DISP(JC,L)=ES(JC)
900
Il=L*2-1
IF (Il.GE.ITOL)
Il=ITOL
Do 500 I=L+l,Il
Al=COS(N*(I-L)*STEP1)*2.0
Ic=2*LiI
DO 30 JC=1,9
DISP(JC,I)=Al*ES(JC)-DISP(JC,IC)
30
500
CONTINUE
L=L*2
GOT0 100
DC 910 J=1,9
555
DO 910 I=l,ITOL
R?%(J,I)=RES(J,I)+DISP(J,I)
910
CONTINUE
3001
C
IF (NP.EQ.l) THEN
Do 930 1=1,9
DC 930 J=l,ITOL
RES(I,J)=RES(I,J)+EO(I)
930
END IF
C
A3=1.OE6/A
A4=PRESS*O.5/(1.0-W*W)
WRITE(*,*)
'WRITE TO OUTPUT FILE'
DO 940 J=l,ITOL
IF (NP.EQ.l) THEN
ANG=CP2+(J-l)*STEP
ELSE
X=CPl+(J-l)*STEP
END IF

A computer program for cylindrical shell analysis

940
C
310
311
312
313
314
999

i0

RES (l,J) =RES (i ,J) *T5


RES (2 ,J) =RES (2 ,J) *T5
RES (3,J) =RES (3,J) *T5
WRITE (6,310) X,ANG
WRITE (6,311) (RES(K,J),K=I,3)
RES (4, J) =RES (4, J) +A4
RES (5, J) =RES (5,J) - A 4 * W
ES (1) =R* (RES (4,J) +VV*RES (5,J))
ES (2) =R* (RES (5,J) +VV*RES (4 ,J) )
ES (3 )=R*TI*RES (6, J)/2.0
ES (4) =T6* (RES (7 ,J) +VV*RES (8 ,J) )
ES (5) =T6* (RES ( 8 , J ) + W * R E S (7,J))
ES (6) =T6*TI*RES (9, J)
AI=ES (1 )/T
A2 =ES (2 )/T
E0 (i) =AI-6.0*ES (4)/T2
E0 (2 )=AI+6.0*ES (4 )/T2
EO (3 )=A2-6.0*ES (5 )/T2
E0 (4) =A2+6.0*ES (5)/T2
E0 (5) = (R*RES (4, J) +T*0 5*RES (7, J) ) *A3
EO (6) = (R*RES (4, J ) -T* 0.5*RES (7, J ) ) *A3
EO (7) = (R*RES (5, J) +T*0.5*RES (8, J) ) *A3
E0 (8 )= (R*RES (5, J ) - T * 0 5 * R E S ( 8, J ) ) *A3
WRITE (6,312) (ES(K),K=I,6)
WRITE (6,313) (E0(K),K=I,4)
WRITE (6,314) (E0(K),K=5,8)
CONTINUE
FORMAT(//SX,'X =',EI2.5,3X,'ANGLE =',F7.2,'DEG')
FORMAT(5X,'W =',EI2.5,3X,'U =',EI2.5,3X, tV =',E12.5)
FORMAT(4X, INX~',EI2.5,3X,'NPY=',EI2.5,3X,'NXPY=',EI2.5/
&
4X, IMX=I,EI2.5,3X,'MPY=I,EI2.5,3X,'MXPY=',EI2.5)
FORMAT(4X, ISXI=',EI2.5,1X,'SXO=',EI2.5,1X,'SPYI=',EI2.5,
& IX,'SPYO=',EI2.5)
FORMAT(4X,'EXO=',F8.2,3X,'EXI=',F8.2,3X,'EPYO=',F8.2,
& 3X,'EPYI=',F8.2)
STOP
END
SUBROUTINE ENO(X,M,E0,Z0,P0,P02,LOAD)
IMPLICIT REAL*8 (A-H,O-Z)
DIMENSION E0(10),Z0(6),P0(3),P02(3),LOAD(3)
COMMON/BLK2/T3, T4, PI, RADIAN, T, R, XLEN, NCSYM
C2=M*T4
C3=C2"R
CI=C3"C3
C4=SIN(C2*X)
C5=COS(C2*X)
C45=C4/C5
DO I0 J=l,3
IF(LOAD(J).EQ.0) GOTO i0
JU--J+I
IF(J.EQ.2) JU=6
JV--J+2
C8=PO(J)*C4
C9=-P02(J)*C5
E0(1)=E0(1)+Z0(J)*C8
E0(2)=E0(2)+Z0(JU)*C8/C45
E0(3)=E0(3)+Z0(JV)*C9*C45
E0(4)=E0(4)-C8*C3*Z0(JU)
E0(5)=E0(5)+C8*Z0(J)
E0(6)=E0(.6)+C9*C3*Z0(JV)
E0(7)=EO(7)+C8*CI*ZO(J)
E0(9)=E0(9)+C9*0.75*C3*Z0(JV)
CONTINUE
RETURN
END

147

148

I0

Ong Lin Seng

S U B R O U T I N E ENN (X, PHI ,M, N, ES, Z, P, P2, LOAD)


IMPLICIT REAL*8 (A-H,O-Z)
DIMENSION ES(10),Z(6),P(3),P2(3),LOAD(3)
COMMON/BLK2/T3, T4, PI, RADIAN, T, R, XLEN, N C S Y M
DO 5 I=i,9
ES(I)=0.0
CNT=COS (N'PHI)
S N T = S I N (N'PHI)
A2=M*T4
A3=A2*R
AI=A3 *A3
A 4 = S I N (A2*X)
A5=COS (A2 *X)
A45=A4/A5
DO i0 J=l,3
IF(LOAD(J).EQ.0)
GOTO i0
JU=J+ 1
IF(J.EQ. 2) JU=6
JV=J+2
A6= (P (J) *CNT+P2 (J) *SNT) *A4
A7= (P (J) *SNT-P2 (J) *CNT) *A5
ES (I) =ES (i) +Z (J) *A6
ES (2) =ES (2) +Z (JU) *A6/A45
ES (3) =ES (3) +Z (JV) *A7*A45
ES (4) =ES (4) -A6*A3*Z (JU)
ES (5) =ES (5) +A6* (N*Z (JV) +Z (J))
ES (6) =ES (6) +A7* (A3*Z (JV)-N*Z (JU))
ES (7) =ES (7) +A6*Z (J) *AI
ES (8) =ES (8) +A6* (Z (J) *N*N+N*Z (JV))
ES (9) =ES (9) +A7* (0.75*A3*Z (JV) +N*A3*Z (J) +0.25*N*Z (JU))
CONTINUE
RETURN
END

C
S U B R O U T I N E PJMN(M,N,NLOAD,CL)
IMPLICIT REAL*8 (A-H,O-Z)
DIMENSION P(3),P0(3),P2(3),P02(3),CL(60)

COMMON/BLK2/T3,T4,PI,RADIAN,T,R,XLEN,NCSYM

2O

COMMON/BLK3/P,P0,P2,P02
DO 20 I=I,NLOAD
J=(I-l)*6+l
IC=CL(J)
AI=CL(J+I)
A2=CL(J+2)
A3=CL(J+3)
A4=CL(J+4)
A5=CL(J+5)
IF (IC.EQ.0.AND.MOD(M,2).EQ.I)
CALL SWP(P, P0,M,N,AI,A2,A3,A4)
IF (IC.NE.0) CALL P A T C H ( I C , A I , A 2 , A 3 , A 4 , A 5 , M , N )
CONTINUE
RETURN
END

C
C

I0

S U B R O U T I N E SWP (P, PO, M, N, SWV, PRESS, SW, ALPHA)


IMPLICIT REAL*8 (A-H,O-Z)
D I M E N S I O N P(3),P0(3)
COMMON/BLK2/T3, T4, PI, RADIAN, T, R, XLEN, N C S Y M
ALPHA".ALPHA*RADIAN
A I = S I N (ALPHA)
A 2 = C O S (ALPHA)
A3=SW*R/(M*PI*PI)
IF(N.GT.I) GOTO 20
IF(N.EQ.I) GOTO i0
P0 (1) =4.0*PRESS/(M*PI) +4.0*A3* (A1-ALPHA*A2)
RETURN
A5=4.0*T*SWV/(PI*M)
P (i) = A 5 + 4 . 0 * A 3 * (ALPHA-AI*A2)
P(3) =-A5
RETURN

A computer program for cylindrical shell analysis


20

1
2
4
30

50
500
600
700
60

501
601
701

AM=8.0*(SIN(N*ALP~)*A2-N*COS(N*A~)*AI)/(N*(N*N-I))
P(1)=~*A3
~TURN
END
SUBROUTINE PATCH (KTYPE, Q, B, AFA, CC, BETA1, M, N)
IMPLICIT REAL*8 (A-H,O-Z)
DIMENSION P(3),P0(3),P2(3),P02(3)
COMMON/BLK2/T3, T4, PI, RADIAN, T, R, XLEN, NCSYM
COMMON/BLK3/P, P0, P2, P02
AFA=AFA*RADIAN
BETAI=BETAI*RADIAN
c=cc/2, o
BETA=BETA1/2.0
IC=0
IF (NCSYM.EQ.I) IC=I
AI=M*T4
A2=AI*B
A3=AI*C
A4=M*PI
GOTO (1,2,1,4,1) KTYPE
IF (CC.EQ.0.0) AM=2.0*SIN(A2)/XLEN
IF (CC.GT.0.0) AM=4.0*SIN(A2)*SIN(A3)/A4
GOTO 30
IF (CC.EQ.0.0) AM=2.0*COS(A2)/XLEN
IF (CC.GT.0.0) AM=4.0*COS(A2)*SIN(A3)/A4
GOTO 30
AM=(COS (A2) * (COS (A3)-SIN(A3)/A3) +SIN(A2)*SIN(A3) ) "2.0/A4
IF (N.EQ.0) GOTO 60
A4=N*AFA
IF (BETAI.EQ.0.0) THEN
A5=Q/(R* PI )
GOTO 50
END IF
AI=2.0*Q/(N*PI)
A2=N*BETA
A 5 = A I * S I N (A2)
IF (KTYPE. EQ. 5) A5=A5/2 0+AI* (SIN (A2)/A2-COS (A2) )
AN=A5*COS (A4)
BN=A5*SIN (A4)
GOTO (500,600,700,500,500) ,KTYPE
P(1) =P(1) +AM*AN
P2 (i) =P2 (i) +IC*AM*BN
RETURN
P (2) =P (2) +AM*AN
P2 (2) =P2 (2) +IC*AM*BN
RETURN
P(3) =P(3) +AM*BN
P2 (3)=P2 (3) -IC*AM*AN
RETURN
IF (BETAI.EQ.O.0) AN0=Q/(2.0*R*Pi)
IF (BETA1. GT. 0.0) AN0=BETA*Q/PI
IF (KTYPE. EQ. 5) ANO=AM0/2.0
GOTO(501,601,701,501,501) ,KTYPE
P0 (i) =PO (1) +AM*AN0
RETURN
P0 (2 )=P0 (2 )+AM*AN0
RETURN
P02 (3) =P02 (3) -IC*AN0*AM
RETURN
END

149