You are on page 1of 60

CHAPTER THREE

Solids of Revolution

MATLAB implementation 3.1: Axisymmetric analysis using


triangular elements

MatlabFiles\Chap03\AxisymElasTriElement.m
2

function @ke, reD = AxisymElasTriElementHe, nu, alpha, deltaT, ...

% @ke, reD = AxisymElasTriElementHe, nu, alpha, deltaT,


omega, m, bx, by, coordL

% omega, m, bx, by, coordL


% Generates for a triangular element for plane stress or plane strain problem
% e = Modulus of elasticity
% nu = Poisson's ratio
% alpha = coefficient of thermal expansion
% deltaT = temperature change
% omega, m = Angular velocity and mass
% bx, by = components of the body force
% coord = coordinates at the element ends
x1=coordH1,1L; y1=coordH1,2L;
x2=coordH2,1L; y2=coordH2,2L;
x3=coordH3,1L; y3=coordH3,2L;
b1 = y2 - y3; b2 = y3 - y1; b3 = y1 - y2;
c1 = x3 - x2; c2 = x1 - x3; c3 = x2 - x1;
f1 = x2*y3 - x3*y2; f2 = x3*y1 - x1*y3; f3 = x1*y2 - x2*y1;
A = Hf1 + f2 + f3Lê2;
rbar = Hx1 + x2 + x3Lê3; zbar = Hy1 + y2 + y3Lê3;
e0 = alpha*deltaT *@1, 1, 1, 0D';
c = eêHH1 + nuL*H1 - 2*nuLL*@1 - nu, nu, nu, 0;
nu, 1 - nu, nu, 0;
nu, nu, 1 - nu, 0;
0, 0, 0, H1 - 2*nuLê2D;
b = H1êH2*ALL*@b1, 0, b2, 0, b3, 0;
0, c1, 0, c2, 0, c3;
2*AêH3*rbarL, 0, 2*AêH3*rbarL, 0, 2*AêH3*rbarL, 0;
c1, b1, c2, b2, c3, b3D';
ke = 2*pi*rbar*A*b*c*b';

rb = 2*pi*rbar*Aê3 * @br, bz, br, bz, br, bzD';


br = bx + m*rbar*omega^2; bz = by;

re0 = 2*pi*rbar*A*b*c*e0;
re = rb+re0;
end
3

MatlabFiles\Chap03\AxisymElasTriLoad.m

function rq = AxisymElasTriLoadHside, qn, qt, coordL


% AxisymElasTriLoadHside, qn, qt, coordL
% Generates equivalent load vector for a triangular element
% side = side over which the load is specified
% qn, qt = load components in the normal and the tangential direction
% coord = coordinates at the element ends
x1=coordH1,1L; y1=coordH1,2L;
x2=coordH2,1L; y2=coordH2,2L;

switch HsideL
x3=coordH3,1L; y3=coordH3,2L;

case 1
L=sqrtHHx2-x1L^2+Hy2-y1L^2L;
nx=Hy2-y1LêL; ny=-Hx2-x1LêL;
qx = nx*qn - ny*qt;
qy = ny*qn + nx*qt;
rq = pi*Lê3 * @H2*x1 + x2L*qx, H2*x1 + x2L*qy,...
Hx1 + 2*x2L*qx, Hx1 + 2*x2L*qy, 0, 0D';
case 2
L=sqrtHHx2-x3L^2+Hy2-y3L^2L;
nx=Hy3-y2LêL; ny=-Hx3-x2LêL;
qx = nx*qn - ny*qt;
qy = ny*qn + nx*qt;
rq = pi*Lê3 * @0, 0, H2*x2 + x3L*qx, H2*x2 + x3L*qy,...
Hx2 + 2*x3L*qx, Hx2 + 2*x3L*qyD';
case 3
L=sqrtHHx3-x1L^2+Hy3-y1L^2L;
nx=Hy1-y3LêL; ny=-Hx1-x3LêL;
qx = nx*qn - ny*qt;

rq = pi*Lê3 * @H2*x3 + x1L*qx, H2*x3 + x1L*qy,...


qy = ny*qn + nx*qt;

0, 0, Hx3 + 2*x1L*qx, Hx3 + 2*x1L*qyD';


end
4

MatlabFiles\Chap03\AxisymElasTriResults.m
5

function se = AxisymElasTriResultsHe, nu, alpha, deltaT, coord, dnL


% se = AxisymElasTriResultsHe, nu, alpha, deltaT, coord, dnL
% Computes element solution for a plane stressêstrain triangular element
% e = modulus of elasticity
% nu = Poisson's ratio
% alpha = coefficient of thermal expansion
% deltaT = temperature change
% coord = nodal coordinates
% dn = nodal displacements

% 8strains, stresses, principal stresses, effective stress<


% Following are the output variables are at element center

x1=coordH1,1L; y1=coordH1,2L;
x2=coordH2,1L; y2=coordH2,2L;
x3=coordH3,1L; y3=coordH3,2L;
b1 = y2 - y3; b2 = y3 - y1; b3 = y1 - y2;
c1 = x3 - x2; c2 = x1 - x3; c3 = x2 - x1;
f1 = x2*y3 - x3*y2; f2 = x3*y1 - x1*y3; f3 = x1*y2 - x2*y1;
A = Hf1 + f2 + f3Lê2;
rbar = Hx1 + x2 + x3Lê3; zbar = Hy1 + y2 + y3Lê3;
e0 = alpha*deltaT *@1, 1, 1, 0D';
c = eêHH1 + nuL*H1 - 2*nuLL*@1 - nu, nu, nu, 0;
nu, 1 - nu, nu, 0;
nu, nu, 1 - nu, 0;
0, 0, 0, H1 - 2*nuLê2D;
BT = H1êH2*ALL*@b1, 0, b2, 0, b3, 0;
0, c1, 0, c2, 0, c3;
2*AêH3*rbarL, 0, 2*AêH3*rbarL, 0, 2*AêH3*rbarL, 0;
c1, b1, c2, b2, c3, b3D;
eps = BT*dn;
sig = c*Heps-e0L
ps = eigH@sigH1L, sigH4L, 0;
sigH4L, sigH2L, 0;

se = sqrtHHHpsH1L - psH2LL^2 + HpsH2L - psH3LL^2 + HpsH3L - psH1LL^2Lê2L;


0, 0, sigH3LDL;

end
6

à Example 3.1 p. 129

z
w
r
Ri
Ro

z
0.5 2 2 4 4 6
0 1 1 3 3 5 r
3 6 9

MatlabFiles\Chap03\AxisymElasTriEx.m
7

% Example 3.1
t = 1ê2; ri = 3; ro = 9; rm = 6;
m = 0.283ê386.4ê1000; omega = 5000*2*piê60; e = 30*10^3; nu = 0.3;
alpha = 0; deltaT = 0; br = 0; bz = 0;
nodes = @ri, 0; ri, t; rm, 0; rm, t; ro, 0; ro, tD;
conn = @1, 3, 2; 3, 4, 2; 3, 5, 4; 5, 6, 4D;
nel=sizeHconn,1L; dof=2*sizeHnodes,1L;
lmm=@D;
for i=1:nel
lm=@D;

lm=@lm, @2*connHi,jL-1,2*connHi,jLDD;
for j=1:3

end
lmm=@lmm; lmD;
end
K=zerosHdofL; R = zerosHdof,1L;
% Generate equations for each element and assemble them.
for i=1:nel
con = connHi,:L;
lm = lmmHi,:L;
@k, rD = AxisymElasTriElementHe, nu, alpha, deltaT, ...
omega, m, br, bz, nodesHcon,:LL;
KHlm, lmL = KHlm, lmL + k;
RHlmL = RHlmL + r;
end

debc = @2, 6, 10D; ebcVals=zerosHlengthHdebcL,1L;


% Nodal solution and reactions

@d, reactionsD = NodalSolnHK, R, debc, ebcValsL


for i=1:nel
fprintfH1,'Results for element %3.0g \n',iL
EffectiveStress=AxisymElasTriResultsHe, nu, alpha, deltaT, ...
nodesHconnHi,:L,:L, dHlmmHi,:LLL
% % Test for AxisymTriLoad
% r = AxisymElasTriLoadH1, 1, 1, nodesHconnH1,:L,:LL
% r = AxisymElasTriLoadH2, 1, 1, nodesHconnH1,:L,:LL
% r = AxisymElasTriLoadH3, 1, 1, nodesHconnH1,:L,:LL
end
8

MATLAB implementation 3.2: Axisymmetric analysis using


mapped quadrilateral elements

MatlabFiles\Chap03\AxiQuad4Element.m

function @k, rD = AxiQuad4ElementHe, nu, alpha, deltaT, bx, by, coordL


% @k, rD = AxiQuad4ElementHe, nu, alpha, deltaT, bx, by, coordL
% Generates for a triangular element for plane stress or plane strain problem
% e = Modulus of elasticity
% nu = Poisson's ratio
% alpha = coefficient of thermal expansion
% deltaT = temperature change
% bx, by = components of the body force
% coord = coordinates at the element ends
e0 = alpha*deltaT *@1, 1, 1, 0D';
c = eêHH1 + nuL*H1 - 2*nuLL*@1 - nu, nu, nu, 0;
nu, 1 - nu, nu, 0;
nu, nu, 1 - nu, 0;
0, 0, 0, H1 - 2*nuLê2D;
% Use 2x2 integration. Gauss point locations and weights

gpLocs = @-pt,-pt; -pt,pt; pt,-pt; pt,ptD;


pt=1êsqrtH3L;

gpWts = @1,1,1,1D;
k=zerosH8L; r=zerosH8,1L;
for i=1:lengthHgpWtsL
s = gpLocsHi, 1L; t = gpLocsHi, 2L; w = gpWtsHiL;
n = @H1ê4L*H1 - sL*H1 - tL, H1ê4L*Hs + 1L*H1 -tL, ...
H1ê4L*Hs + 1L*Ht + 1L, H1ê4L*H1 - sL*Ht + 1LD;
dns=@H-1 + tLê4, H1 - tLê4, H1 + tLê4, H-1 - tLê4D;
dnt=@H-1 + sLê4, H-1 - sLê4, H1 + sLê4, H1 - sLê4D;
x = n*coordH:,1L; y = n*coordH:,2L;
dxs = dns*coordH:,1L; dxt = dnt*coordH:,1L;

J = @dxs, dxt; dys, dytD; detJ = detHJL;


dys = dns*coordH:,2L; dyt = dnt*coordH:,2L;
9

dnx = HJH2, 2L*dns - JH2, 1L*dntLêdetJ;


dny = H-JH1, 2L*dns + JH1, 1L*dntLêdetJ;
b = @dnxH1L, 0, dnxH2L, 0, dnxH3L, 0, dnxH4L, 0;
0, dnyH1L, 0, dnyH2L, 0, dnyH3L, 0, dnyH4L;
nH1Lêx, 0, nH2Lêx, 0, nH3Lêx, 0, nH4Lêx, 0;

n = @nH1L,0,nH2L,0,nH3L,0,nH4L,0;
dnyH1L, dnxH1L, dnyH2L, dnxH2L, dnyH3L, dnxH3L, dnyH4L, dnxH4LD;

0,nH1L,0,nH2L,0,nH3L,0,nH4LD;
k = k + 2*pi*x*detJ*w* b'*c*b;
r = r + 2*pi*x*detJ*w*Hn'*@bx;byD+ b'*c*e0L;
end

MatlabFiles\Chap03\AxiQuad4Load.m
10

function rq = AxiQuad4LoadHside, qn, qt, coordL


% rq = AxiQuad4LoadHside, qn, qt, coordL
% Generates equivalent load vector for a triangular element
% side = side over which the load is specified
% qn, qt = load components in the normal and the tangential direction
% coord = coordinates at the element ends
% Use 2 point integration. Gauss point locations and weights

gpLocs = @-pt, ptD;


pt=-1êsqrtH3L;

gpWts = @1,1D;
rq=zerosH8,1L;
for i=1:lengthHgpWtsL
a = gpLocsHiL; w = gpWtsHiL;
switch HsideL

n = @H1 - aLê2, H1 + aLê2, 0, 0D;


case 1

dna = @-1ê2, 1ê2, 0, 0D;

n = @0, H1 - aLê2, H1 + aLê2, 0D;


case 2

dna = @0, -1ê2, 1ê2, 0D;

n = @0, 0, H1 - aLê2, H1 + aLê2D;


case 3

dna = @0, 0, -1ê2, 1ê2D;

n = @H1 + aLê2, 0, 0, H1 - aLê2D;


case 4

dna = @1ê2, 0, 0, -1ê2D;


end
x = n*coordH:,1L;
dxa = dna*coordH:,1L; dya = dna*coordH:,2L;
Jc=sqrtHdxa^2 + dya^2L;
nx = dyaêJc; ny = -dxaêJc;
qx = nx*qn - ny*qt;
qy = ny*qn + nx*qt;
n = @nH1L,0,nH2L,0,nH3L,0,nH4L,0;
0,nH1L,0,nH2L,0,nH3L,0,nH4LD;
rq = rq + 2*pi*x*Jc*w*n'*@qx; qyD;
end
11

MatlabFiles\Chap03\AxiQuad4Results.m

function se = AxiQuad4ResultsHe, nu, alpha, deltaT, coord, dnL


% se = AxiQuad4ResultsHe, nu, alpha, deltaT, coord, dnL
% Computes element solution for a plane stressêstrain quad element
% e = modulus of elasticity
% nu = Poisson's ratio
% alpha = coefficient of thermal expansion
% deltaT = temperature change
% coord = nodal coordinates
% dn = nodal displacements

% 8strains, stresses, principal stresses, effective stress<


% Following are the output variables are at element center

e0 = alpha*deltaT *@1, 1, 1, 0D';


c = eêHH1 + nuL*H1 - 2*nuLL*@1 - nu, nu, nu, 0;
nu, 1 - nu, nu, 0;
nu, nu, 1 - nu, 0;
0, 0, 0, H1 - 2*nuLê2D;
s = 0; t = 0;

solPts = @-pt,-pt; -pt,pt; pt,-pt; pt,ptD;


pt=1êsqrtH3L;

se=@D;
for i=1:lengthHsolPtsL
s = solPtsHi, 1L; t = solPtsHi, 2L;
n = @H1ê4L*H1 - sL*H1 - tL, H1ê4L*Hs + 1L*H1 -tL, ...
H1ê4L*Hs + 1L*Ht + 1L, H1ê4L*H1 - sL*Ht + 1LD;
dns=@H-1 + tLê4, H1 - tLê4, H1 + tLê4, H-1 - tLê4D;
dnt=@H-1 + sLê4, H-1 - sLê4, H1 + sLê4, H1 - sLê4D;
x = n*coordH:,1L;
y = n*coordH:,2L;
dxs = dns*coordH:,1L; dxt = dnt*coordH:,1L;
dys = dns*coordH:,2L; dyt = dnt*coordH:,2L;
J = @dxs, dxt; dys, dytD; detJ = detHJL;
dnx = HJH2, 2L*dns - JH2, 1L*dntLêdetJ;
dny = H-JH1, 2L*dns + JH1, 1L*dntLêdetJ;
b = @dnxH1L, 0, dnxH2L, 0, dnxH3L, 0, dnxH4L, 0;
0, dnyH1L, 0, dnyH2L, 0, dnyH3L, 0, dnyH4L;
12

nH1Lêx, 0, nH2Lêx, 0, nH3Lêx, 0, nH4Lêx, 0;


dnyH1L, dnxH1L, dnyH2L, dnxH2L, dnyH3L, dnxH3L, dnyH4L, dnxH4LD;
eps = b*dn;
sig = c*Heps-e0L;
sx = sigH1L; sy= sigH2L; sxy=sigH4L;
ps = eigH@sx,sxy; sxy,syDL;
se = @se, sqrtHHpsH1L - psH2LL^2 + HpsH2L - sigH3LL^2 + ...
HsigH3L - psH1LL^2LêsqrtH2LD;
end

à Example 3.2 p. 135


Steel and aluminum assembly solution using 3 axisymmetric elements for half of the assembly

70 mm z 7 8
40

80 mm 4 5 6
15
1 2
1 2 3
0 r
10 20 35

MatlabFiles\Chap03\AxiQuad4Ex.m

% half of the assembly HFig 3.9L


% Steel and aluminum assembly solution using 3 axisymmetric elements for

a = 15; b = 40; ri = 10; ro = 20; rr = 35;


nodes = @ri, 0; ro, 0; rr, 0; ri, a; ro, a; rr, a; ri, b; ro, bD;
conn = @1, 2, 5, 4; 2, 3, 6, 5; 4, 5, 8, 7D;
e1 = 70000; nu1 = .33; alpha1 = 23*10^H-6L;
e2 = 200000; nu2 = .3; alpha2 = 12*10^H-6L; deltaT = -75;
bx=0; by=0;
nel=sizeHconn,1L; dof=2*sizeHnodes,1L;
lmm=@D;
13

for i=1:nel
lm=@D;

lm=@lm, @2*connHi,jL-1,2*connHi,jLDD;
for j=1:4

end
lmm=@lmm; lmD;
end
K=zerosHdofL; R = zerosHdof,1L;
% Generate equations for each element and assemble them.
for i=1:2:3
con = connHi,:L;
lm = lmmHi,:L;
@k, rD = AxiQuad4ElementHe1, nu1, alpha1, deltaT, ...
bx, by, nodesHcon,:LL;
KHlm, lmL = KHlm, lmL + k;
RHlmL = RHlmL + r;
end
for i=2:2
con = connHi,:L;
lm = lmmHi,:L;
@k, rD = AxiQuad4ElementHe2, nu2, alpha2, deltaT, ...
bx, by, nodesHcon,:LL;
KHlm, lmL = KHlm, lmL + k;
RHlmL = RHlmL + r;
end

debc = @2,4,6D; ebcVals=zerosHlengthHdebcL,1L;


% Nodal solution and reactions

@d, reactionsD = NodalSolnHK, R, debc, ebcValsL


for i=1:2:3
fprintfH1,'Results for element %3.0g \n',iL
EffectiveStress=AxiQuad4ResultsHe1, nu1, alpha1, deltaT, ...
nodesHconnHi,:L,:L, dHlmmHi,:LLL
end
for i=2:2
fprintfH1,'Results for element %3.0g \n',iL
EffectiveStress=AxiQuad4ResultsHe2, nu2, alpha2, deltaT, ...
nodesHconnHi,:L,:L, dHlmmHi,:LLL
end
14

>> AxiQuad4Ex

d=

-0.0035
0
-0.0240
0
-0.0358
0
-0.0096
-0.0272
-0.0278
-0.0168
-0.0382
-0.0117
-0.0230
-0.0674
-0.0390
-0.0641

reactions =

1.0e+004 *

-1.9516
2.5522
-0.6006

Results for element 1

sig =

24.0176
48.9207
69.1107
5.0196

ps =

23.0439
49.8944
15

EffectiveStress =

40.0773

Results for element 3

sig =

3.8881
1.6395
6.6254
5.0021

ps =

-2.3631
7.8906

EffectiveStress =

9.6833

Results for element 2

sig =

8.9576
-23.3645
-53.1798
-2.6434

ps =

-23.5793
9.1723

EffectiveStress =

54.0215
16

MATLAB implementation 3.3: General loading on


Axisymmetric structures

A circular pipe section is subjected to pressure p over a quarter of its circumference, as shown in the
figure. The pipe is fixed at the base. Determine tip deflection and maximum von-Mises stress.

p
q
r
p

Outer radius = 100 mm; Inner radius = 50 mm; Height = 1 m

E = 200 GPa; n = 0.25; p = 5 MPa

Implementation for Symmetric terms

Mapping
17

rHs , tL = NHs , tLT rn ; zHs , tL = NT zn

NT = : ÅÅÅÅÅ H1 - s L H1 - tL, ÅÅÅÅÅ Hs + 1L H1 - tL, ÅÅÅÅÅ Hs + 1L Ht + 1L, ÅÅÅÅÅ H1 - s L Ht + 1L>


1 1 1 1
4 4 4 4

∑NT ê∑s = : ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ , ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ , ÅÅÅÅÅÅÅÅÅÅÅÅÅÅ Å , ÅÅÅÅÅ H-t - 1L>


t-1 1-t t+1 1
4 4 4 4

∑NT ê∑t = : ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ , ÅÅÅÅÅ H-s - 1L, ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ , ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ >


s -1 1 s +1 1-s
4 4 4 4
∑Ni
ÅÅÅÅ 1
ÅÅÅ IJ22 ÅÅÅÅ
ÅÅÅÅÅ = ÅÅÅÅÅÅÅÅ
∑r detJ
∑Ni
ÅÅÅÅÅ M
∑Ni
ÅÅÅÅÅ - J21 ÅÅÅÅ
∑s ∑t

∑Ni
ÅÅÅÅ 1
ÅÅÅ I-J12 ÅÅÅÅ
ÅÅÅÅÅ = ÅÅÅÅÅÅÅÅ
∑z detJ
∑Ni
ÅÅÅÅÅ M
∑Ni
ÅÅÅÅÅ + J11 ÅÅÅÅ
∑s ∑t

ij ÅÅÅÅ ÅÅ y i J11 J12


∑t z yz
J = jjjj zz = jj z; detJ = » ÅÅÅÅ ÅÅ ÅÅÅÅÅÅ »
∑z z
∑r ∑r

z k J21 J22
ÅÅ ÅÅÅÅ
{
∑s

k ÅÅÅÅ ∑t {
∑r ∑z ∑r ∑z
ÅÅ ÅÅÅÅÅÅ - ÅÅÅÅ
∑s ∑t ∑t ∑s
∑z
∑s
ÅÅ ÅÅÅÅ
Å Å

Assumed solution

ij usn1 yz
j zz
ij usn Hr, zL cosHnq L yz ij N1 cosHnq L N2 cosHnq L … y jjjj vsn1 zz
zz
jj zz jj zz jj zz
jj vsn Hr, zL sinHnq L zz = jj N1 sinHnq L … zzzz jjj wsn1 zz
0 0
jjj zzz jjj zz jj zz
k wsn Hr, zL cosHnq L { k N1 cosHnq L … { jjjj usn2 zz
zz
0 0 0

jj zz
k ª {
0 0 0

usn ª NT dsn

d = H u1 v1 w1 u2 v2 w2 … LT

Radial, circumferential and axial displacements are the degrees of freedom at each node

Element strains
18

ij ÅÅÅÅ ÅÅÅÅÅÅ cosHnq L ÅÅÅÅÅÅ cosHnq L … yz


jj ∑r zz
jj zz
∑N1 ∑N2

ij er yz
ÅÅÅÅ
jj … zzzz
0 0

jj zz ÅÅÅÅÅÅ cos Hnq L


∑r

jj ez zz jj
jj zz jj zz
∑N1

j z
ÅÅÅÅ
jj zz jj ÅÅÅÅ1 N cosHnq L … zzzz
0 0 0

j ÅÅÅÅnr Å N1 cos Hnq L ÅÅÅÅ1r N2 cos Hnq L


∑z

jj eq zz
jj zz = BT dsn ; BT = jjj r zz
jj g zz jj ∑N1 z
… zzzz
0
jj rz zz jj ÅÅÅÅÅÅÅÅÅÅ cos Hnq L ÅÅÅÅÅÅ cos Hnq L ÅÅÅÅÅÅ cos Hnq L
1

jj zz jj ∑z zz
jj g zz jj zz
∑N1 ∑N2
ÅÅÅÅ ÅÅÅÅ
jj zq zz jj
0

j z jj ÅÅÅÅÅÅ sinHnq L - ÅÅÅÅnrÅ N1 sinHnq L … zzz


∑r ∑z

k gqr { jj zz
jj n zz
∑N1
0 ÅÅÅÅ 0

k - ÅÅÅÅrÅ N1 sinHnq L I ÅÅÅÅ∑rÅÅÅÅÅÅ - ÅÅÅÅr N1 M sinHnq L - ÅÅÅÅnrÅ N2 sin Hnq L


∑z
∑N1 1
0 …{

Element stiffness matrix: ksn = Ÿ Ÿ B C B r p dr dz


êêê êêêT
r,z

ij ÅÅÅÅ … yz
jj ∑r zz
jj zz
∑N1 ∑N2
ÅÅÅÅÅÅ ÅÅÅÅ ÅÅÅÅÅÅ
jj … zzzz
0 0 ∑r

jj
jj zz
∑N1

jj 1 z
ÅÅÅÅ ÅÅÅÅÅÅ

… zzzz
0 0 0

êêêT jjjj ÅÅÅÅr N1


∑z

B = jj ∑N zz
z
ÅÅÅÅnrÅ N1 ÅÅÅÅ1r N2
jj ÅÅÅÅÅÅÅÅ1ÅÅ … zzzz
0

jj ∑z
jj zz
jj zz
∑N1 ∑N2
0 ÅÅÅÅ ÅÅÅÅÅÅ ÅÅÅÅ ÅÅÅÅÅÅ
jj … zzz
∑r ∑z

jj zz
jj zz
∑N1
- ÅÅÅÅnr Å N1
j n
0 ÅÅÅÅ ÅÅÅÅÅÅ 0

k - ÅÅÅÅrÅ N1 I ÅÅÅÅ∑rÅÅÅÅÅÅ - ÅÅÅÅr N1 M


∑z
∑N1 1
0 - ÅÅÅÅnrÅ N2 …{

ij 1 - n yz
jj z
jj n 0 zzzz
n n 0 0 0
jj zz
jj
jj n 0 zzz
1-n n 0 0

jj zz
ÅÅÅÅÅÅÅÅÅÅÅÅÅÅ j 0 j z
0 zzzz
n 1-n
H1-2 nL H1+nL j
0 0
jj
jj zz
E
C = ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ
jj z
1-2 n
ÅÅÅÅÅÅÅÅ
ÅÅÅÅÅ
0 zzzz
0 0 0
jj 0
2

jj zz
jj 1-2 n z
1-2 n
0 0 0 ÅÅÅÅÅÅÅÅ
ÅÅÅÅÅ

k 0 {
2

0 0 0 0 ÅÅÅÅÅÅÅÅ
2
Å ÅÅÅ
Å

Equivalent load vector: rTsn = ŸS N T sn r p dS


êêê êêê

i N1 0 0 N2 … yz
êêê jjj z
N = jjj 0 N1 0 0 … zzzz
jj zz
k 0 0 N1 0 … {
19

ij Trsn Hr, zL yz
j z
T sn Hr, zL = jjjj Tqsn Hr, zL zzzz
jj zz
êêê

k Tzsn Hr, zL {

MatlabFiles\Chap03\SymmetricQuad4Element.m

function @k, rD = SymmetricQuad4ElementHj, e, nu, coordL


% @k, rD = SymmetricQuad4ElementHj, e, nu, coordL
% Generates equations for symmetric terms for general loads on
% axisymmetric structures
% e = Modulus of elasticity
% nu = Poisson's ratio
% coord = coordinates at the element ends
c = eêHH1 + nuL*H1 - 2*nuLL*@1 - nu, nu, nu, 0, 0, 0;
nu, 1 - nu, nu, 0, 0, 0;
nu, nu, 1 - nu, 0, 0, 0;
0, 0, 0, H1 - 2*nuLê2, 0, 0;
0, 0, 0, 0, H1 - 2*nuLê2, 0;
0, 0, 0, 0, 0, H1 - 2*nuLê2D;
% Use 2x2 integration. Gauss point locations and weights

gpLocs = @-pt,-pt; -pt,pt; pt,-pt; pt,ptD;


pt=1êsqrtH3L;

gpWts = @1,1,1,1D;
k=zerosH12L; r=zerosH12,1L;
for i=1:lengthHgpWtsL
s = gpLocsHi, 1L; t = gpLocsHi, 2L; w = gpWtsHiL;
n = @H1ê4L*H1 - sL*H1 - tL, H1ê4L*Hs + 1L*H1 -tL, ...
H1ê4L*Hs + 1L*Ht + 1L, H1ê4L*H1 - sL*Ht + 1LD;
dns=@H-1 + tLê4, H1 - tLê4, H1 + tLê4, H-1 - tLê4D;
dnt=@H-1 + sLê4, H-1 - sLê4, H1 + sLê4, H1 - sLê4D;
x = n*coordH:,1L; y = n*coordH:,2L;
dxs = dns*coordH:,1L; dxt = dnt*coordH:,1L;

J = @dxs, dxt; dys, dytD; detJ = detHJL;


dys = dns*coordH:,2L; dyt = dnt*coordH:,2L;

dnx = HJH2, 2L*dns - JH2, 1L*dntLêdetJ;


dny = H-JH1, 2L*dns + JH1, 1L*dntLêdetJ;
b = @dnxH1L, 0, 0, dnxH2L, 0, 0, dnxH3L, 0, 0, dnxH4L, 0, 0;
20

0, 0, dnyH1L, 0, 0, dnyH2L, 0, 0, dnyH3L, 0, 0, dnyH4L;


nH1Lêx, j*nH1Lêx, 0, nH2Lêx, j*nH2Lêx, 0, ...
nH3Lêx, j*nH3Lêx, 0, nH4Lêx, j*nH4Lêx, 0;
dnyH1L, 0, dnxH1L, dnyH2L, 0, dnxH2L, dnyH3L, 0, dnxH3L, ...
dnyH4L, 0, dnxH4L;
0, dnyH1L, -j*nH1Lêx, 0, dnyH2L, -j*nH2Lêx,...

H-j*nH1LêxL, dnxH1L-HnH1LêxL, 0, ...


0, dnyH3L, -j*nH3Lêx, 0, dnyH4L, -j*nH4Lêx;

H-j*nH2LêxL, dnxH2L-HnH2LêxL, 0,...


H-j*nH3LêxL, dnxH3L-HnH3LêxL, 0,...
H-j*nH4LêxL, dnxH4L-HnH4LêxL, 0D;
k = k + pi*x*detJ*w* b'*c*b;
end

MatlabFiles\Chap03\SymmetricQuad4Load.m
21

function rq = SymmetricQuad4LoadHside, Tr, Ttheta, Tz, coordL


% rq = SymmetricQuad4LoadHside, Tr, Ttheta, Tz, coordL
% Generates equivalent load vector
% side = side over which the load is specified
% Tr, Ttheta, Tz = load components
% coord = coordinates at the element ends
% Use 2 point integration. Gauss point locations and weights

gpLocs = @-pt, ptD;


pt=-1êsqrtH3L;

gpWts = @1,1D;
rq=zerosH12,1L;
for i=1:lengthHgpWtsL
a = gpLocsHiL; w = gpWtsHiL;
switch HsideL

n = @H1 - aLê2, H1 + aLê2, 0, 0D;


case 1

dna = @-1ê2, 1ê2, 0, 0D;

n = @0, H1 - aLê2, H1 + aLê2, 0D;


case 2

dna = @0, -1ê2, 1ê2, 0D;

n = @0, 0, H1 - aLê2, H1 + aLê2D;


case 3

dna = @0, 0, -1ê2, 1ê2D;

n = @H1 + aLê2, 0, 0, H1 - aLê2D;


case 4

dna = @1ê2, 0, 0, -1ê2D;


end
x = n*coordH:,1L;
dxa = dna*coordH:,1L; dya = dna*coordH:,2L;
Jc=sqrtHdxa^2 + dya^2L;
nx = dyaêJc; ny = -dxaêJc;
n = @nH1L,0,0, nH2L,0,0, nH3L,0,0, nH4L,0,0;
0,nH1L,0, 0,nH2L,0, 0,nH3L,0, 0,nH4L,0;
0,0,nH1L, 0,0,nH2L, 0,0,nH3L, 0,0,nH4LD;
rq = rq + pi*x*Jc*w*n'*@Tr; Ttheta; TzD;
end
22

MatlabFiles\Chap03\SymmetricQuad4Results.m

function se = SymmetricQuad4ResultsHj, theta, e, nu, coord, dnL


% se = SymmetricQuad4ResultsHe, nu, coord, dnL
% Computes element solution
% e = modulus of elasticity
% nu = Poisson's ratio
% coord = nodal coordinates
% dn = nodal displacements
c = eêHH1 + nuL*H1 - 2*nuLL*@1 - nu, nu, nu, 0, 0, 0;
nu, 1 - nu, nu, 0, 0, 0;
nu, nu, 1 - nu, 0, 0, 0;
0, 0, 0, H1 - 2*nuLê2, 0, 0;
0, 0, 0, 0, H1 - 2*nuLê2, 0;
0, 0, 0, 0, 0, H1 - 2*nuLê2D;
s = 0; t = 0;

solPts = @-pt,-pt,theta; -pt,pt,theta; pt,-pt,theta; pt,pt,thetaD;


pt=1êsqrtH3L;

se=@D;
for i=1:lengthHsolPtsL
s = solPtsHi, 1L; t = solPtsHi, 2L;

n = @H1ê4L*H1 - sL*H1 - tL, H1ê4L*Hs + 1L*H1 -tL, ...


cn = cosHthetaL; sn = sinHthetaL;

H1ê4L*Hs + 1L*Ht + 1L, H1ê4L*H1 - sL*Ht + 1LD;


dns=@H-1 + tLê4, H1 - tLê4, H1 + tLê4, H-1 - tLê4D;
dnt=@H-1 + sLê4, H-1 - sLê4, H1 + sLê4, H1 - sLê4D;
x = n*coordH:,1L;
y = n*coordH:,2L;
dxs = dns*coordH:,1L; dxt = dnt*coordH:,1L;
dys = dns*coordH:,2L; dyt = dnt*coordH:,2L;
J = @dxs, dxt; dys, dytD; detJ = detHJL;
dnx = HJH2, 2L*dns - JH2, 1L*dntLêdetJ;
dny = H-JH1, 2L*dns + JH1, 1L*dntLêdetJ;
b = @cn*dnxH1L, 0, 0, cn*dnxH2L, 0, 0, cn*dnxH3L, 0, 0, ...
cn*dnxH4L, 0, 0;
0, 0, cn*dnyH1L, 0, 0, cn*dnyH2L, 0, 0, cn*dnyH3L,...
0, 0, cn*dnyH4L;
23

cn*nH1Lêx, cn*j*nH1Lêx, 0, cn*nH2Lêx, cn*j*nH2Lêx, 0, ...


cn*nH3Lêx, cn*j*nH3Lêx, 0, cn*nH4Lêx, cn*j*nH4Lêx, 0;
cn*dnyH1L, 0, cn*dnxH1L, cn*dnyH2L, 0, cn*dnxH2L, ...
cn*dnyH3L, 0, cn*dnxH3L, cn*dnyH4L, 0, cn*dnxH4L;
0, sn*dnyH1L, -sn*j*nH1Lêx, 0, sn*dnyH2L, -sn*j*nH2Lêx,...
0, sn*dnyH3L, -sn*j*nH3Lêx, 0, sn*dnyH4L, -sn*j*nH4Lêx;
H-sn*j*nH1LêxL, sn*HdnxH1L-HnH1LêxLL, 0, ...
H-sn*j*nH2LêxL, sn*HdnxH2L-HnH2LêxLL, 0,...
H-sn*j*nH3LêxL, sn*HdnxH3L-HnH3LêxLL, 0,...
H-sn*j*nH4LêxL, sn*HdnxH4L-HnH4LêxLL, 0D;
eps = b*dn;
sig = c*HepsL;
ps = eigH@sigH1L, sigH4L, sigH6L;
sigH4L, sigH2L, sigH5L;

se = @se, sqrtHHHpsH1L - psH2LL^2 + HpsH2L - psH3LL^2 +...


sigH6L, sigH5L, sigH3LDL;

HpsH3L - psH1LL^2Lê2LD;
end

Implementation for Antisymmetric terms

Mapping: same as that for the symmetric term

Assumed solution

ij uan1 yz
j z
u Hr, zL sinHnqL y i N1 sinHnqL N2 sinHnqL … y jjjj van1 zzzz
jij an zz jj zz jj zz
jj -v Hr, zL cosHnqL zz = jj … zzzz jjj wan1 zzz
jj an zz jj
0 0

jj zz jj zz jj zz
… { jjjj uan2 zzzz
-N1 cosHnqL
k wan Hr, zL sinHnqL { k
0 0 0

jj zz
k ª {
0 0 N1 sinHnqL 0

usn ª NT dsn

d = H u1 v1 w1 u2 v2 w2 … L
T

Radial, circumferential and axial displacements are the degrees of freedom at each node

Element strains (Red term indicates a typo in the printed text)


24

ij ÅÅÅÅÅÅ sinHnq L … yz
ÅÅÅÅÅÅ sinHnq L
jj zz
jj zz
∑N1 ∑N2

ij er yz
ÅÅÅÅ ÅÅÅÅ
jj … zzzz
0 0

jj zz ÅÅÅÅ∑zÅÅÅÅÅÅ sinHnq L
∑r ∑r

jj ez zz jj
jj zz jj zz
∑N1

jj z
jj zz ÅÅÅÅ1r N2 sinHnq L … zzzz
0 0 0

jj eq zz jj ÅÅÅÅ1r N1 sinHnq L ÅÅÅÅnrÅ N1 sinHnq L


jj zz = B dsn ; B = jjj zz
jj g zz jj z
Å∑zÅÅÅÅÅ sinHnq L … zzzz
0
jj rz zz jj Å∑zÅÅÅÅÅ sinHnq L Å∑rÅÅÅÅÅ sinHnq L
jj zz jj
T T

jj g zz jj zz
zz
∑N1 ∑N1 ∑N2
ÅÅÅÅ ÅÅÅÅ ÅÅÅÅ
jj zq zz jj
0

j z jj - ÅÅÅÅ∑zÅÅÅÅÅÅ cosHnq L ÅÅrÅÅ N1 cosHnq L … zzz


k gqr { jj zz
jj zz
∑N1 n
0 0

k ÅÅÅÅr Å N1 cosHnq L I- ÅÅÅÅ∑rÅÅÅÅÅÅ + ÅÅÅÅr N1 M cosHnq L


n ∑N1 1
0 ÅÅrÅÅ N2 cosHnq L … {
n

Element stiffness matrix: ksn = Ÿ Ÿ B C B r p dr dz


êêê êêêT
r,z

ij … yz
jj zz
jj zz
∑N1 ∑N2
ÅÅÅÅ
ÅÅÅÅÅÅ ÅÅÅÅ
ÅÅÅÅÅÅ
jj … zzzz
∑r
0 0 ∑r

jj
jj zz
∑N1

jj z
ÅÅÅÅ
ÅÅÅÅÅÅ

… zzzz
0 0 0

êêêT jjjj
∑z

B = jj zz
z
ÅÅÅÅ1r N1 ÅÅÅÅnrÅ N1 ÅÅÅÅ1r N2
jj … zzzz
0

jj
jj zz
jj zz
∑N1 ∑N1 ∑N2
ÅÅÅÅ
ÅÅÅÅÅÅ 0 ÅÅÅÅ
ÅÅÅÅÅÅ ÅÅÅÅ
ÅÅÅÅÅÅ
jj … zzz
∑z ∑r ∑z

jj zz
jj zz
∑N1
ÅÅÅÅnr Å N1
j
0 - ÅÅÅÅ
ÅÅÅÅÅÅ 0

ÅÅÅÅnrÅ N1 I- ÅÅÅÅ
ÅÅÅÅÅÅ + ÅÅÅÅ1r N1 M
∑z

k …{
∑N1
∑r
0 ÅÅÅÅnrÅ N2

ij 1 - n yz
jj z
jj n 0 zzzz
n n 0 0 0
jj zz
jj
jj n 0 zzz
1-n n 0 0

jj zz
ÅÅÅÅÅÅÅÅÅÅÅÅÅÅ j 0 j z
0 zzzz
n 1-n
H1-2 nL H1+nL j
0 0
jj
jj zz
E
C = ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ
jj z
1-2 n
ÅÅÅÅÅÅÅÅ
ÅÅÅÅÅ
0 zzzz
0 0 0
jj 0
2

jj zz
jj 1-2 n z
1-2 n
0 0 0 ÅÅÅÅÅÅÅÅ
ÅÅÅÅÅ

k 0 {
2

0 0 0 0 ÅÅÅÅÅÅÅÅ
2
Å ÅÅÅ
Å

Equivalent load vector: rTsn = ŸS N T sn r p dS


êêê êêê

i N1 0 N2 … y
êêê jjj zz
N = jj 0 -N1 0 0 … zzzz
j
0

jj zz
k 0 0 N1 0 … {
25

ij Trsn Hr, zL yz
j z
T sn Hr, zL = jjjj Tqsn Hr, zL zzzz
jj zz
êêê

k Tzsn Hr, zL {

Computes element matrices and results for "nth" antisymmetric set. The results function returen solution
at Gauss point locations for qiven q coordinate.

MatlabFiles\Chap03\AntisymmetricQuad4Element.m

function @k, rD = AntisymmetricQuad4ElementHj, e, nu, coordL


% @k, rD = AntisymmetricQuad4ElementHj, e, nu, coordL
% Generates equations for symmetric terms for general loads on
% axisymmetric structures
% e = Modulus of elasticity
% nu = Poisson's ratio
% coord = coordinates at the element ends
c = eêHH1 + nuL*H1 - 2*nuLL*@1 - nu, nu, nu, 0, 0, 0;
nu, 1 - nu, nu, 0, 0, 0;
nu, nu, 1 - nu, 0, 0, 0;
0, 0, 0, H1 - 2*nuLê2, 0, 0;
0, 0, 0, 0, H1 - 2*nuLê2, 0;
0, 0, 0, 0, 0, H1 - 2*nuLê2D;
% Use 2x2 integration. Gauss point locations and weights

gpLocs = @-pt,-pt; -pt,pt; pt,-pt; pt,ptD;


pt=1êsqrtH3L;

gpWts = @1,1,1,1D;
k=zerosH12L; r=zerosH12,1L;
for i=1:lengthHgpWtsL
s = gpLocsHi, 1L; t = gpLocsHi, 2L; w = gpWtsHiL;
n = @H1ê4L*H1 - sL*H1 - tL, H1ê4L*Hs + 1L*H1 -tL, ...
H1ê4L*Hs + 1L*Ht + 1L, H1ê4L*H1 - sL*Ht + 1LD;
dns=@H-1 + tLê4, H1 - tLê4, H1 + tLê4, H-1 - tLê4D;
dnt=@H-1 + sLê4, H-1 - sLê4, H1 + sLê4, H1 - sLê4D;
x = n*coordH:,1L; y = n*coordH:,2L;
dxs = dns*coordH:,1L; dxt = dnt*coordH:,1L;

J = @dxs, dxt; dys, dytD; detJ = detHJL;


dys = dns*coordH:,2L; dyt = dnt*coordH:,2L;
26

dnx = HJH2, 2L*dns - JH2, 1L*dntLêdetJ;


dny = H-JH1, 2L*dns + JH1, 1L*dntLêdetJ;
b = @dnxH1L, 0, 0, dnxH2L, 0, 0, dnxH3L, 0, 0, dnxH4L, 0, 0;
0, 0, dnyH1L, 0, 0, dnyH2L, 0, 0, dnyH3L, 0, 0, dnyH4L;
nH1Lêx, j*nH1Lêx, 0, nH2Lêx, j*nH2Lêx, 0, ...
nH3Lêx, j*nH3Lêx, 0, nH4Lêx, j*nH4Lêx, 0;
dnyH1L, 0, dnxH1L, dnyH2L, 0, dnxH2L, dnyH3L, 0, dnxH3L, ...
dnyH4L, 0, dnxH4L;
0, -dnyH1L, j*nH1Lêx, 0, -dnyH2L, j*nH2Lêx,...
0, -dnyH3L, j*nH3Lêx, 0, -dnyH4L, j*nH4Lêx;
Hj*nH1LêxL, -dnxH1L+HnH1LêxL, 0, ...
Hj*nH2LêxL, -dnxH2L+HnH2LêxL, 0,...
Hj*nH3LêxL, -dnxH3L+HnH3LêxL, 0,...
Hj*nH4LêxL, -dnxH4L+HnH4LêxL, 0D;
k = k + pi*x*detJ*w* b'*c*b;
end

MatlabFiles\Chap03\AntisymmetricQuad4Load.m
27

function rq = AntisymmetricQuad4LoadHside, Tr, Ttheta, Tz, coordL


% rq = AntisymmetricQuad4LoadHside, Tr, Ttheta, Tz, coordL
% Generates equivalent load vector
% side = side over which the load is specified
% Tr, Ttheta, Tz = load components
% coord = coordinates at the element ends
% Use 2 point integration. Gauss point locations and weights

gpLocs = @-pt, ptD;


pt=-1êsqrtH3L;

gpWts = @1,1D;
rq=zerosH12,1L;
for i=1:lengthHgpWtsL
a = gpLocsHiL; w = gpWtsHiL;
switch HsideL

n = @H1 - aLê2, H1 + aLê2, 0, 0D;


case 1

dna = @-1ê2, 1ê2, 0, 0D;

n = @0, H1 - aLê2, H1 + aLê2, 0D;


case 2

dna = @0, -1ê2, 1ê2, 0D;

n = @0, 0, H1 - aLê2, H1 + aLê2D;


case 3

dna = @0, 0, -1ê2, 1ê2D;

n = @H1 + aLê2, 0, 0, H1 - aLê2D;


case 4

dna = @1ê2, 0, 0, -1ê2D;


end
x = n*coordH:,1L;
dxa = dna*coordH:,1L; dya = dna*coordH:,2L;
Jc=sqrtHdxa^2 + dya^2L;
nx = dyaêJc; ny = -dxaêJc;
n = @nH1L,0,0, nH2L,0,0, nH3L,0,0, nH4L,0,0;
0,-nH1L,0, 0,-nH2L,0, 0,-nH3L,0, 0,-nH4L,0;
0,0,nH1L, 0,0,nH2L, 0,0,nH3L, 0,0,nH4LD;
rq = rq + pi*x*Jc*w*n'*@Tr; Ttheta; TzD;
end
28

MatlabFiles\Chap03\AntisymmetricQuad4Results.m

function se = AntisymmetricQuad4ResultsHj, theta, e, nu, coord, dnL


% se = AntisymmetricQuad4ResultsHe, nu, coord, dnL
% Computes element solution
% e = modulus of elasticity
% nu = Poisson's ratio
% coord = nodal coordinates
% dn = nodal displacements
c = eêHH1 + nuL*H1 - 2*nuLL*@1 - nu, nu, nu, 0, 0, 0;
nu, 1 - nu, nu, 0, 0, 0;
nu, nu, 1 - nu, 0, 0, 0;
0, 0, 0, H1 - 2*nuLê2, 0, 0;
0, 0, 0, 0, H1 - 2*nuLê2, 0;
0, 0, 0, 0, 0, H1 - 2*nuLê2D;
s = 0; t = 0;

solPts = @-pt,-pt,theta; -pt,pt,theta; pt,-pt,theta; pt,pt,thetaD;


pt=1êsqrtH3L;

se=@D;
for i=1:lengthHsolPtsL
s = solPtsHi, 1L; t = solPtsHi, 2L;

n = @H1ê4L*H1 - sL*H1 - tL, H1ê4L*Hs + 1L*H1 -tL, ...


cn = cosHthetaL; sn = sinHthetaL;

H1ê4L*Hs + 1L*Ht + 1L, H1ê4L*H1 - sL*Ht + 1LD;


dns=@H-1 + tLê4, H1 - tLê4, H1 + tLê4, H-1 - tLê4D;
dnt=@H-1 + sLê4, H-1 - sLê4, H1 + sLê4, H1 - sLê4D;
x = n*coordH:,1L;
y = n*coordH:,2L;
dxs = dns*coordH:,1L; dxt = dnt*coordH:,1L;
dys = dns*coordH:,2L; dyt = dnt*coordH:,2L;
J = @dxs, dxt; dys, dytD; detJ = detHJL;
dnx = HJH2, 2L*dns - JH2, 1L*dntLêdetJ;
dny = H-JH1, 2L*dns + JH1, 1L*dntLêdetJ;
b = @sn*dnxH1L, 0, 0, sn*dnxH2L, 0, 0, sn*dnxH3L, 0, 0, ...
sn*dnxH4L, 0, 0;
0, 0, sn*dnyH1L, 0, 0, sn*dnyH2L, 0, 0, sn*dnyH3L,...
0, 0, sn*dnyH4L;
29

sn*nH1Lêx, sn*j*nH1Lêx, 0, sn*nH2Lêx, sn*j*nH2Lêx, 0, ...


sn*nH3Lêx, sn*j*nH3Lêx, 0, sn*nH4Lêx, sn*j*nH4Lêx, 0;
sn*dnyH1L, 0, sn*dnxH1L, sn*dnyH2L, 0, sn*dnxH2L, ...
sn*dnyH3L, 0, sn*dnxH3L, sn*dnyH4L, 0, sn*dnxH4L;
0, -cn*dnyH1L, cn*j*nH1Lêx, 0, -cn*dnyH2L, cn*j*nH2Lêx,...
0, -cn*dnyH3L, cn*j*nH3Lêx, 0, -cn*dnyH4L, cn*j*nH4Lêx;
Hcn*j*nH1LêxL, -cn*HdnxH1L-HnH1LêxLL, 0, ...
Hcn*j*nH2LêxL, -cn*HdnxH2L-HnH2LêxLL, 0,...
Hcn*j*nH3LêxL, -cn*HdnxH3L-HnH3LêxLL, 0,...
Hcn*j*nH4LêxL, -cn*HdnxH4L-HnH4LêxLL, 0D;
eps = b*dn;
sig = c*HepsL;
ps = eigH@sigH1L, sigH4L, sigH6L;
sigH4L, sigH2L, sigH5L;

se = @se, sqrtHHHpsH1L - psH2LL^2 + HpsH2L - psH3LL^2 +...


sigH6L, sigH5L, sigH3LDL;

HpsH3L - psH1LL^2Lê2LD;
end

à Numerical solution

Model data

Fourier coefficients for the given 1/4 circle load

% Load fourier coefficients

p=-5;

a0 = p/4; an=[p/pi, 0, -p/(3*pi)]; bn=[p/pi, p/pi, p/(3*pi)];

Finite element model


30

z 11 12
1000
5
9 10
800
4
7 8
600
3
5 6
400
2
3 4
200
1
1 2
0 r
50 100

MatlabFiles\Chap03\CnstTermPipeColumn.m
31

function @nsol, esolD = CnstTermPipeColumnHa0, e, nu, nodes, connL


debc = @1,2,3,4D; ebcVals=zerosHlengthHdebcL,1L;
alpha = 0; deltaT = 0 ; bx=0; by=0;
nel=sizeHconn,1L; dof=2*sizeHnodes,1L;
lmm=@D;
for i=1:nel
lm=@D;

lm=@lm, @2*connHi,jL-1,2*connHi,jLDD;
for j=1:4

end
lmm=@lmm; lmD;
end
K=zerosHdofL; R = zerosHdof,1L;
% Generate equations for each element and assemble them.
for i=1:nel
con = connHi,:L;
lm = lmmHi,:L;
@k, rD = AxiQuad4ElementHe, nu, alpha, deltaT, ...
bx, by, nodesHcon,:LL;
r = r + AxiQuad4LoadH2, a0, 0, nodesHcon,:LL;
KHlm, lmL = KHlm, lmL + k;
RHlmL = RHlmL + r;
end

@d, reactionsD = NodalSolnHK, R, debc, ebcValsL;


% Nodal solution and reactions

nsol = @D;

nsol = @nsol,@dHiL, 0, dHi+1LDD;


for i=1:2:dof

end
esol=@D;
for i=1:nel
EffectiveStress=AxiQuad4ResultsHe, nu, alpha, deltaT, ...

esol = @esol, EffectiveStressD;


nodesHconnHi,:L,:L, dHlmmHi,:LLL;

end
32

MatlabFiles\Chap03\SymmetricTermsPipeColumn.m
33

function @nsol, esolD = SymmetricTermsPipeColumnHnj, aj, ...

debc = @1,2,3,4,5,6D; ebcVals=zerosHlengthHdebcL,1L;


e, nu, nodes, connL

nel=sizeHconn,1L; dof=3*sizeHnodes,1L;
lmm=@D;
for i=1:nel
lm=@D;

lm=@lm, @3*connHi,jL-2, 3*connHi,jL-1, 3*connHi,jLDD;


for j=1:4

end
lmm=@lmm; lmD;
end
K=zerosHdofL; R = zerosHdof,1L;
% Generate equations for each element and assemble them.
for i=1:nel
con = connHi,:L;
lm = lmmHi,:L;
@k, rD = SymmetricQuad4ElementHnj, e, nu, nodesHcon,:LL;
r = r + SymmetricQuad4LoadH2, aj, 0, 0, nodesHcon,:LL;
KHlm, lmL = KHlm, lmL + k;
RHlmL = RHlmL + r;
end

@d, reactionsD = NodalSolnHK, R, debc, ebcValsL;


% Nodal solution and reactions

theta = 0;
cs = cosHthetaL; sn = sinHthetaL;
nsol = @D;

nsol = @nsol,@dHiL*cs, dHi+1L*sn, dHi+2L*csDD;


for i=1:3:dof

end
esol=@D;
for i=1:nel
EffectiveStress=SymmetricQuad4ResultsHnj, theta, e, nu, ...

esol = @esol, EffectiveStressD;


nodesHconnHi,:L,:L, dHlmmHi,:LLL;

end
34

MatlabFiles\Chap03\AntisymmetricTermsPipeColumn.m
35

function @nsol, esolD = AntisymmetricTermsPipeColumnHnj, bj, ...

debc = @1,2,3,4,5,6D; ebcVals=zerosHlengthHdebcL,1L;


e, nu, nodes, connL

nel=sizeHconn,1L; dof=3*sizeHnodes,1L;
lmm=@D;
for i=1:nel
lm=@D;

lm=@lm, @3*connHi,jL-2, 3*connHi,jL-1, 3*connHi,jLDD;


for j=1:4

end
lmm=@lmm; lmD;
end
K=zerosHdofL; R = zerosHdof,1L;
% Generate equations for each element and assemble them.
for i=1:nel
con = connHi,:L;
lm = lmmHi,:L;
@k, rD = AntisymmetricQuad4ElementHnj, e, nu, nodesHcon,:LL;
r = r + AntisymmetricQuad4LoadH2, bj, 0, 0, nodesHcon,:LL;
KHlm, lmL = KHlm, lmL + k;
RHlmL = RHlmL + r;
end

@d, reactionsD = NodalSolnHK, R, debc, ebcValsL;


% Nodal solution and reactions

theta = 0;
cn = cosHthetaL; sn = sinHthetaL;
nsol = @D;

nsol = @nsol,@dHiL*sn, -dHi+1L*cn, dHi+2L*snDD;


for i=1:3:dof

end
esol=@D;
for i=1:nel
EffectiveStress=AntisymmetricQuad4ResultsHnj, theta, e, nu, ...

esol = @esol, EffectiveStressD;


nodesHconnHi,:L,:L, dHlmmHi,:LLL;

end
36

MatlabFiles\Chap03\printResults.m

function printResultsHns, es, nnodes, nelemsL

fprintfH' Node Radial HuL Circumferential HvL Axial HzL\n'L


fprintfH' Nodal displacements \n'L

fprintfH' ==== ========== =================== =========\n'L


for i=1:nnodes
fprintfH' %2d %11.4f %18.4f %18.4f \n', i, nsH3*i-2L, nsH3*i-1L, nsH3*iLL
end
fprintfH'\n\n vonMises stresses at element Gauss points\n'L
fprintfH' Element von Mises Stresses\n'L
fprintfH' ======= ============================================\n'L
for i=1:nelems
fprintfH' %5d %11.4f %11.4f %11.4f %11.4f \n', i, esH4*i-3:4*iLL
end

MatlabFiles\Chap03\PipeColumnEx.m

% Pipe column example


% Load fourier coefficients
p=-5;
a0 = pê4; an=@pêpi, 0, -pêH3*piLD; bn=@pêpi, pêpi, pêH3*piLD;
e = 200000; nu = .25; p = -5;

nodes = @ri, 0; ro, 0; ri, hê5; ro, hê5;...


h = 1000; ri = 50; ro = 100;

ri, H2*hLê5; ro, H2*hLê5; ri, H3*hLê5; ...


ro, H3*hLê5; ri, H4*hLê5; ro, H4*hLê5; ri, h; ro, hD;
conn = @1, 2, 4, 3; 3, 4, 6, 5; 5, 6, 8, 7; ...
7, 8, 10, 9; 9, 10, 12, 11D;
nnodes = lengthHnodesL; nelems = lengthHconnL;
fprintfH1,'\n\n=============================\n'L
fprintfH1,'Results for axisymmetric term\n'L

@nsol, esolD = CnstTermPipeColumnHa0, e, nu, nodes, connL;


fprintfH1,'=============================\n'L

printResultsHnsol, esol, nnodes, nelemsL


37

for j=1:lengthHanL
fprintfH1,'\n\n===============================\n'L
fprintfH1,'Results for symmetric term %3.0g \n',jL

@ns, esD = SymmetricTermsPipeColumnHj, anHjL, e, nu, nodes, connL;


fprintfH1,'===============================\n'L

nsol = @nsol; nsD;


printResultsHns, es, nnodes, nelemsL

esol = @esol; esD;


end
for j=1:lengthHbnL
fprintfH1,'\n\n====================================\n'L
fprintfH1,'Results for antisymmetric term %3.0g \n',jL

@ns, esD = AntisymmetricTermsPipeColumnHj, bnHjL, e, nu, nodes, connL;


fprintfH1,'====================================\n'L

nsol = @nsol; nsD;


printResultsHns, es, nnodes, nelemsL

esol = @esol; esD;

@n,mD = sizeHnsolL;
end

ns = nsolH1,:L;
es = esolH1,:L;
for i=2:n
ns = ns+nsolHi,:L;
es = es+esolHi,:L;
end
fprintfH1,'\n\n===============================\n'L
fprintfH' Combined results \n'L
fprintfH1,'===============================\n'L
printResultsHns, es, nnodes, nelemsL

Results

>> PipeColumnEx

=============================
Results for axisymmetric term
=============================
Nodal displacements
Node Radial (u) Circumferential (v) Axial (z)
==== ========== =================== =========
38

1 0.0000 0.0000 0.0000


2 0.0000 0.0000 0.0000
3 -0.0009 0.0000 0.0004
4 -0.0010 0.0000 0.0006
5 -0.0008 0.0000 0.0014
6 -0.0009 0.0000 0.0013
7 -0.0008 0.0000 0.0022
8 -0.0008 0.0000 0.0022
9 -0.0008 0.0000 0.0030
10 -0.0009 0.0000 0.0030
11 -0.0008 0.0000 0.0039
12 -0.0009 0.0000 0.0039

vonMises stresses at element Gauss points


Element von Mises Stresses
======= ============================================
1 0.9031 2.0163 0.8877 1.5816
2 2.7725 2.6100 2.0881 1.9445
3 2.4456 2.4045 1.9066 1.8855
4 2.4231 2.4562 1.8756 1.8936
5 2.4631 2.4377 1.8918 1.8776

===============================
Results for symmetric term 1
===============================
Nodal displacements
Node Radial (u) Circumferential (v) Axial (z)
==== ========== =================== =========
1 0.0000 0.0000 0.0000
2 0.0000 0.0000 0.0000
3 -0.2435 0.0000 0.0806
4 -0.2541 0.0000 0.1858
5 -0.7850 0.0000 0.1483
6 -0.7886 0.0000 0.3066
7 -1.4918 0.0000 0.1804
8 -1.4940 0.0000 0.3689
9 -2.2738 0.0000 0.1948
10 -2.2745 0.0000 0.3934
11 -3.0731 0.0000 0.1988
12 -3.0733 0.0000 0.3990

vonMises stresses at element Gauss points


Element von Mises Stresses
39

======= ============================================
1 139.8890 120.4409 178.3857 167.5930
2 101.9176 85.6570 127.5479 112.5932
3 53.4523 41.5526 66.6724 56.5126
4 23.0822 16.8909 27.8275 22.2189
5 6.4043 5.3500 7.3944 6.2639

===============================
Results for symmetric term 2
===============================
Nodal displacements
Node Radial (u) Circumferential (v) Axial (z)
==== ========== =================== =========
1 0.0000 0.0000 0.0000
2 0.0000 0.0000 0.0000
3 0.0000 0.0000 0.0000
4 0.0000 0.0000 0.0000
5 0.0000 0.0000 0.0000
6 0.0000 0.0000 0.0000
7 0.0000 0.0000 0.0000
8 0.0000 0.0000 0.0000
9 0.0000 0.0000 0.0000
10 0.0000 0.0000 0.0000
11 0.0000 0.0000 0.0000
12 0.0000 0.0000 0.0000

vonMises stresses at element Gauss points


Element von Mises Stresses
======= ============================================
1 0.0000 0.0000 0.0000 0.0000
2 0.0000 0.0000 0.0000 0.0000
3 0.0000 0.0000 0.0000 0.0000
4 0.0000 0.0000 0.0000 0.0000
5 0.0000 0.0000 0.0000 0.0000

===============================
Results for symmetric term 3
===============================
Nodal displacements
Node Radial (u) Circumferential (v) Axial (z)
==== ========== =================== =========
1 0.0000 0.0000 0.0000
2 0.0000 0.0000 0.0000
40

3 0.0003 0.0000 0.0000


4 0.0003 0.0000 -0.0000
5 0.0002 0.0000 -0.0000
6 0.0003 0.0000 0.0000
7 0.0002 0.0000 0.0000
8 0.0003 0.0000 -0.0000
9 0.0002 0.0000 -0.0000
10 0.0003 0.0000 0.0000
11 0.0002 0.0000 0.0000
12 0.0003 0.0000 -0.0000

vonMises stresses at element Gauss points


Element von Mises Stresses
======= ============================================
1 0.2549 0.6800 0.2244 0.3098
2 0.8163 0.7241 0.3050 0.2602
3 0.6982 0.7120 0.2705 0.2754
4 0.7131 0.7047 0.2696 0.2684
5 0.7084 0.7269 0.2862 0.2952

====================================
Results for antisymmetric term 1
====================================
Nodal displacements
Node Radial (u) Circumferential (v) Axial (z)
==== ========== =================== =========
1 0.0000 0.0000 0.0000
2 0.0000 0.0000 0.0000
3 0.0000 -0.2394 0.0000
4 0.0000 -0.2302 0.0000
5 0.0000 -0.7817 0.0000
6 0.0000 -0.7768 0.0000
7 0.0000 -1.4905 0.0000
8 0.0000 -1.4880 0.0000
9 0.0000 -2.2730 0.0000
10 0.0000 -2.2719 0.0000
11 0.0000 -3.0724 0.0000
12 0.0000 -3.0717 0.0000

vonMises stresses at element Gauss points


Element von Mises Stresses
======= ============================================
1 114.8035 21.6387 107.2646 39.2853
41

2 103.1130 3.2267 88.8355 9.5813


3 57.0727 6.4167 50.9468 1.4677
4 30.5953 8.7690 25.7437 5.7813
5 10.1958 4.3807 7.9014 3.1882

====================================
Results for antisymmetric term 2
====================================
Nodal displacements
Node Radial (u) Circumferential (v) Axial (z)
==== ========== =================== =========
1 0.0000 0.0000 0.0000
2 0.0000 0.0000 0.0000
3 0.0000 -0.0033 0.0000
4 0.0000 -0.0006 0.0000
5 0.0000 -0.0037 0.0000
6 0.0000 -0.0007 0.0000
7 0.0000 -0.0035 0.0000
8 0.0000 -0.0006 0.0000
9 0.0000 -0.0034 0.0000
10 0.0000 -0.0006 0.0000
11 0.0000 -0.0037 0.0000
12 0.0000 -0.0007 0.0000

vonMises stresses at element Gauss points


Element von Mises Stresses
======= ============================================
1 1.9987 3.5892 0.8100 2.3134
2 4.1918 4.5397 3.1022 3.1139
3 4.5999 4.3953 3.1298 3.0361
4 4.2972 4.2311 2.9845 2.9350
5 4.2841 4.5047 2.9685 3.1196

====================================
Results for antisymmetric term 3
====================================
Nodal displacements
Node Radial (u) Circumferential (v) Axial (z)
==== ========== =================== =========
1 0.0000 0.0000 0.0000
2 0.0000 0.0000 0.0000
3 0.0000 -0.0002 0.0000
4 0.0000 0.0000 0.0000
42

5 0.0000 -0.0002 0.0000


6 0.0000 0.0000 0.0000
7 0.0000 -0.0002 0.0000
8 0.0000 0.0000 0.0000
9 0.0000 -0.0002 0.0000
10 0.0000 0.0000 0.0000
11 0.0000 -0.0002 0.0000
12 0.0000 0.0000 0.0000

vonMises stresses at element Gauss points


Element von Mises Stresses
======= ============================================
1 0.2217 0.6856 0.1626 0.6056
2 0.8263 0.7522 0.7396 0.6568
3 0.7268 0.7326 0.6322 0.6446
4 0.7317 0.7232 0.6462 0.6379
5 0.7270 0.7462 0.6406 0.6587

===============================
Combined results
===============================
Nodal displacements
Node Radial (u) Circumferential (v) Axial (z)
==== ========== =================== =========
1 0.0000 0.0000 0.0000
2 0.0000 0.0000 0.0000
3 -0.2441 -0.2429 0.0810
4 -0.2547 -0.2308 0.1864
5 -0.7855 -0.7856 0.1497
6 -0.7891 -0.7775 0.3079
7 -1.4923 -1.4942 0.1826
8 -1.4946 -1.4887 0.3711
9 -2.2744 -2.2766 0.1978
10 -2.2750 -2.2725 0.3964
11 -3.0736 -3.0763 0.2027
12 -3.0738 -3.0724 0.4028

vonMises stresses at element Gauss points


Element von Mises Stresses
======= ============================================
1 258.0708 149.0507 287.7350 211.6886
2 213.6375 97.5097 222.6183 128.1499
3 118.9955 56.2138 123.5582 63.8218
43

4 61.8426 33.7750 59.3471 33.7351


5 24.7828 18.1463 21.0830 15.4032

Ansys solution: 5 Plane25 element solution


NODE UX UY UZ
1 0 0 0
2 0 0 0
3 -0.24467 8.10E-02 -0.24314
4 -0.25539 0.18643 -0.23076
5 -0.78601 0.14969 -0.78581
6 -0.78971 0.30792 -0.77749
7 -1.4928 0.18256 -1.4944
8 -1.4952 0.37113 -1.4887
9 -2.2749 0.1978 -2.2768
10 -2.2756 0.3964 -2.2725
11 -3.0741 0.20272 -3.0765
12 -3.0744 0.40283 -3.0724
44

ELEMENT= 1 PLANE25
NODE S1 S2 S3 SINT SEQV
1 175.95 28.908 -28.963 204.91 182.98
2 233.74 51.657 5.0279 228.72 209.33
4 177.61 13.216 -3.7913 181.40 173.52
3 111.94 -0.77039 -18.854 130.79 122.75

ELEMENT= 2 PLANE25
NODE S1 S2 S3 SINT SEQV
3 105.90 -21.376 -53.077 158.98 145.74
4 123.40 -13.619 -46.972 170.37 156.39
6 116.65 7.1954 -3.1359 119.79 114.97
5 83.612 -0.78159 -6.4622 90.074 87.372

ELEMENT= 3 PLANE25
NODE S1 S2 S3 SINT SEQV
5 56.315 -5.9226 -32.637 88.952 79.056
6 69.116 -1.3147 -26.018 95.134 85.502
8 59.142 4.1794 -2.4654 61.608 58.569
7 40.594 -1.2669 -4.7230 45.317 43.692

ELEMENT= 4 PLANE25
NODE S1 S2 S3 SINT SEQV
7 25.135 -4.3072 -19.638 44.773 39.411
8 27.048 -3.5608 -17.569 44.618 39.521
10 23.325 1.6016 -4.3189 27.644 25.211
9 17.962 0.21677 -5.3599 23.322 21.094

ELEMENT= 5 PLANE25
NODE S1 S2 S3 SINT SEQV
9 6.0362 -1.6270 -10.337 16.373 14.189
10 5.2902 -2.1170 -9.7773 15.067 13.049
12 4.6963 -0.51225 -6.7373 11.434 9.9148
11 4.6681 -0.42324E-01 -7.2001 11.868 10.351
45

Ansys data file using Plane25 element

/PREP7

!*

*set,pi,3.14159

ET,1,PLANE25

KEYOPT,1,1,0

KEYOPT,1,2,1

!*

!*

MPTEMP,,,,,,,,

MPTEMP,1,0

MPDATA,EX,1,,200000
46

MPDATA,PRXY,1,,0.25

*set,ri,50

*set,ro,100

*set,h,1000

*set,p,5

N,1,ri,0

N,2,ro,0

N,3,ri,h/5

N,4,ro,h/5

N,5,ri,2*h/5

N,6,ro,2*h/5

N,7,ri,3*h/5

N,8,ro,3*h/5

N,9,ri,4*h/5

N,10,ro,4*h/5

N,11,ri,5*h/5

N,12,ro,5*h/5

e,1, 2, 4, 3

e,3, 4, 6, 5

e,5, 6, 8, 7

e,7, 8, 10, 9

e,9, 10, 12, 11

FINISH

/SOL

ERESX,NO
47

d,1,All

d,2,all

*do, i, 1,5,1

SFE,i,2,PRES, ,p/4, , ,

*enddo

MODE,0,

LSWRITE,1,

!*

*do, i, 1,5,1

SFEDELE,i,2,PRES

SFE,i,2,PRES, ,p/pi, , ,

*enddo

MODE,1,1

ERESX,NO

LSWRITE,2,

!*

*do, i, 1,5,1

SFEDELE,i,2,PRES

SFE,i,2,PRES, ,p/pi, , ,

*enddo

MODE,1,-1

ERESX,NO

LSWRITE,3,

!*

!*
48

*do, i, 1,5,1

SFEDELE,i,2,PRES

SFE,i,2,PRES, ,p/pi, , ,

*enddo

MODE,2,-1

ERESX,NO

LSWRITE,4,

!*

*do, i, 1,5,1

SFEDELE,i,2,PRES

SFE,i,2,PRES, ,p/(3*pi), , ,

*enddo

MODE,3,1

ERESX,NO

LSWRITE,5,

!*

!*

*do, i, 1,5,1

SFEDELE,i,2,PRES

SFE,i,2,PRES, ,p/(3*pi), , ,

*enddo

MODE,3,-1

ERESX,NO

LSWRITE,6,

!*
49

/STATUS,SOLU

/SOL

LSSOLVE,1,6,1,

FINISH

/POST1

*do, i, 1,6,1

LCDEF,i,i,,

*enddo

LCFILE,7,'ld7',' ',' '

*do, i, 1,6,1

LCASE,i,

*enddo

*do, i, 1,6,1

LCOPER,ADD,i, , ,

*enddo

!*

PRNSOL,U,X

Ansys solution using Plane25 element with finer mesh


50

von Mises stresses

Ansys data file using Plane25 element


51

/PREP7

!*

*set,pi,3.14159

ET,1,PLANE25

KEYOPT,1,1,0

KEYOPT,1,2,1

!*

!*

MPTEMP,,,,,,,,

MPTEMP,1,0

MPDATA,EX,1,,200000

MPDATA,PRXY,1,,0.25

*set,ri,50

*set,ro,100

*set,rm,75

*set,h,1000

*set,p,5

k,1,ri,0

k,2,ro,0

k,3,ri,h

k,4,ro,h

a,1,2,4,3

ESIZE,10,0,

CM,_Y,AREA

ASEL, , , , 1
52

CM,_Y1,AREA

CHKMSH,'AREA'

CMSEL,S,_Y

!*

MSHKEY,1

AMESH,_Y1

MSHKEY,0

!*

CMDELE,_Y

CMDELE,_Y1

CMDELE,_Y2

!*

DL,1, ,ALL,

FINISH

/SOL

ERESX,NO

SFL,2,PRES,p/4,

MODE,0,

LSWRITE,1,

!*

SFLDELE, 2,PRES

SFL,2,PRES,p/pi,

MODE,1,1

ERESX,NO

LSWRITE,2,
53

!*

SFLDELE, 2,PRES

SFL,2,PRES,p/pi,

MODE,1,-1

ERESX,NO

LSWRITE,3,

!*

!*

SFLDELE, 2,PRES

SFL,2,PRES,p/pi,

MODE,2,-1

ERESX,NO

LSWRITE,4,

!*

SFLDELE, 2,PRES

SFL,2,PRES,-p/(3*pi),

MODE,3,1

ERESX,NO

LSWRITE,5,

!*

!*

SFLDELE, 2,PRES

SFL,2,PRES,p/(3*pi),

MODE,3,-1

ERESX,NO
54

LSWRITE,6,

!*

/STATUS,SOLU

/SOL

LSSOLVE,1,6,1,

FINISH

/POST1

LCDEF,1,1,,

LCDEF,2,2,,

LCDEF,3,3,,

LCDEF,4,4,,

LCDEF,5,5,,

LCDEF,6,6,,

LCFILE,7,'ld7',' ',' '

LCASE,1,

LCASE,2,

LCASE,3,

LCASE,4,

LCASE,5,

LCASE,6,

LCOPER,ADD,1, , ,

LCOPER,ADD,2, , ,

LCOPER,ADD,3, , ,

LCOPER,ADD,4, , ,

LCOPER,ADD,5, , ,
55

LCOPER,ADD,6, , ,

!*

PRNSOL,U,X

Ansys solution using solid 3D elements

von Mises stresses


56

Ansys data file using Solid45 element


57

/PREP7

!*

ET,1,SOLID45

!*

!*

MPTEMP,,,,,,,,

MPTEMP,1,0

MPDATA,EX,1,,200000

MPDATA,PRXY,1,,0.25

CYL4,0,0,50, ,100

ADELE, 1

LSTR, 4, 5

LSTR, 1, 6

LSTR, 8, 2

LSTR, 7, 3

FLST,2,4,4

FITEM,2,4

FITEM,2,10

FITEM,2,5

FITEM,2,9

AL,P51X

FLST,2,4,4

FITEM,2,1

FITEM,2,11

FITEM,2,8
58

FITEM,2,10

AL,P51X

VOFFST,1,1000, ,

!*

VOFFST,2,1000, ,

FLST,3,1,6,ORDE,1

FITEM,3,1

VSYMM,X,P51X, , , ,0,0

VPLOT

FLST,3,1,6,ORDE,1

FITEM,3,2

VSYMM,X,P51X, , , ,0,0

VPLOT

FLST,2,4,6,ORDE,2

FITEM,2,1

FITEM,2,-4

VGLUE,P51X

DA,1,All

DA,2,All

DA,28,All

DA,32,All

SFA,4,1,PRES,5

!*

MSHKEY,0

MSHAPE,1,3d
59

FLST,5,4,6,ORDE,3

FITEM,5,1

FITEM,5,5

FITEM,5,-7

CM,_Y,VOLU

VSEL, , , ,P51X

CM,_Y1,VOLU

CHKMSH,'VOLU'

CMSEL,S,_Y

!*

VMESH,_Y1

!*

CMDELE,_Y

CMDELE,_Y1

CMDELE,_Y2

FINISH

/SOL

/STATUS,SOLU

SOLVE

FINISH

/POST1

PLDISP,2

/VIEW, 1 ,,-1

/ANG, 1

/REP,FAST
60

!*

!*

/EFACET,1

PLNSOL, S,EQV, 0,1.0

/VIEW, 1 ,,1

/ANG, 1

/REP,FAST

/VIEW, 1 ,,,1

/ANG, 1

/REP,FAST

/VIEW, 1 ,,,-1

/ANG, 1

/REP,FAST

!*

/EFACET,1

PLNSOL, S,X, 0,1.0

You might also like