Let us solve for the ßow around a circular cylinder in the region|ζ| ≥ 1, ζ = ξ+iη with the requirement that the velocity components at inÞnity have constant values where φ is a harmonic
Trang 186: print(’Input data are incorrect The ’);
87: print(’following r values lie outside the ’);
88: print(’unit circle:’); disp(rvec(kout)’);
89: return
90: end
91:
92: if bvtyp==1 % Solve a Dirichlet problem
93: % Check for points on the boundary where
94: % function values are known Interpolate
122: disp(’CORRECT THE INPUT DATA AND RERUN.’);
Trang 2131: surf(r.*cos(th),r.*sin(th),u);
132: xlabel(’x axis’); ylabel(’y axis’);
133: zlabel(’function u’); title(titl);
134: colormap(’default’);
135: grid on; figure(gcf);
136: % print -deps dirich
6: % This function solves a mixed boundary
7: % value problem for the interior of a circle
8: % by numerically evaluating a Cauchy integral
9: %
12: % nquad - order of Gauss quadrature used to
Trang 328: fb=cos(th)./fb; fb(1)=0; fb(end)=0;
29: F=cauchint(fb,zb,z,nquad);
30: F=F.*sqrt(z-i).*sqrt(z+i); u=2*real(F);
31:
32: surf(real(z),imag(z),u); xlabel(’x axis’);
33: ylabel(’y axis’); zlabel(’Solution Value’)
34: title([’Approximate Solution to ’,
36: grid on; figure(gcf); %grặ4);
37: fprintf(’\nPress [Enter] to solution error\n’);
46: grid on; figure(gcf); %grặ4)
47: %print -deps caucher2
56: % This function determines a function which is
57: % harmonic for abs(z)<1 and satisfies at r=1,
58: % u=cos(theta), -pi/2<theta<pi/2
59: % du/dr=0, pi/2<theta<3*pi/2
60: % The solution only applies for points inside
61: % or on the unit circlẹ
62: %
65: % noplot - option set to one if no plot is
68: %
71: %
72: % User m functions called: none
Trang 488: title([’Mixed Boundary Value Problem ’,
90: grid; figure(gcf); %grặ4), pause
91: %print -deps mbvtest
101: % This function numerically evaluates a Cauchy
102: % integral of the form:
103: %
104: % F(z)=1/(2*pi*i)*Integral(f(t)/(t-z)*dt)
105: %
106: % where t denotes points on a curve in the
107: % complex planẹ The boundary curve is defined
108: % by spline interpolation through data points
109: % zb lying on the curvẹ The values of f(t)
110: % are also specified by spline interpolation
111: % through values fb corresponding to the
112: % points zb Numerical evaluation of the
113: % integral is performed using a composite
114: % Gauss formula of arbitrary order
115: %
116: % fb - values of density function f
Trang 5118: % zb - points where fb is given The
128: % nquad - the order of Gauss quadrature
131: %
153: disp([’WARNING! SOME DATA VALUES ARE ’,
155: disp([’THE BOUNDARY COMPUTED RESULTS ’,
Trang 612.12 Inviscid Fluid Flow around an Elliptic Cylinder
This section analyzes inviscid ßow around an elliptic cylinder in an inÞnite Þeld Flow around a circular cylinder is treated Þrst Then the function conformally map- ping the exterior of a circle onto the exterior of an ellipse is used in conjunction with the invariance of harmonic functions under a conformal transformation Results de- scribing the elliptic cylinder ßow Þeld for uniform velocity components at inÞnity are presented.
Let us solve for the ßow around a circular cylinder in the region|ζ| ≥ 1, ζ = ξ+iη
with the requirement that the velocity components at inÞnity have constant values
where φ is a harmonic function The velocity normal to the cylinder boundary must
be zero This requires that the function ψ, the harmonic conjugate of φ, must be
con-stant on the boundary The concon-stant can be taken as zero without loss of generality.
In terms of the complex velocity potential
Trang 7A Laurent series can be used to represent f(ζ) in the form
Now consider ßow about an elliptic cylinder lying in the z-plane If the velocity
at inÞnity has components (U, V ) then we need a velocity potential F (z) such that
where ω(ζ) is the mapping function
Trang 8To get values for a particular choice of z we can use the inverse mapping function
ζ = z +
√
z2− 4mR2
2R
to eliminate ζ or we can compute results in terms of ζ.
To complete our discussion of this ßow problem we will graph the lines
charac-terizing the directions of ßow The velocity potential F = φ + iψ satisÞes
Consequently, the ßow lines are the contours of function ψ, which is called the
stream function The function we want to contour does not exist inside the ellipse,
but we can circumvent this problem by computing ψ in the ellipse exterior and then
setting ψ to zero inside the ellipse The function elipcyl analyzes the cylinder ßow
and produces the accompanying contour plot shown in Figure 12.9
Trang 9x axis
Figure 12.9: Elliptic Cylinder Flow Field for Angle = 30◦
12.12.1 Program Output and Code
6: % This function computes the flow field around
7: % an elliptic cylinder The velocity direction
8: % at infinity is arbitrary
9: %
10: % a - defines the region -a<x<a, -a<y<a
15: % rx,ry - major and minor semi-diameters af the
Trang 1017: % respectively
18: % ang - the angle in degrees which the
21: %
22: % x,y - matrices of points where the velocity
58: hold on; fill(xb,yb,[127/255 1 212/255]);
59: xlabel(’x axis’); ylabel(’y axis’);
60: title([’Elliptic Cylinder Flow Field for ’,
Trang 1162: colormap hsv; figure(gcf); hold off;
63: %print -deps elipcyl
12.13 Torsional Stresses in a Beam Mapped onto a Unit Disk
Torsional stresses in a cylindrical beam can be computed from an integral formula
when the function z = ω(ζ) mapping the unit disk, |ζ| ≤ 1, onto the beam cross
section is known [90] The complex stress function
where γ denotes the unit circle, can be evaluated exactly by contour integration in
some cases However, an approach employing series methods is easy to implement
and gives satisfactory results if enough series terms are taken When ω(ζ) is a nomial, f(ζ) is a polynomial of the same order as ω(ζ) Furthermore, when ω(ζ)
poly-is a rational function, residue calculus can be employed to compute f(ζ) exactly, provided the poles of ω(1/ζ) can be found A much simpler approach is to use the FFT to expand ω(σ)ω(σ) in a complex Fourier series and write
where µ is the shear modulus and ε is the angle of twist per unit length The capital
Z subscript on shear stresses refers to the direction of the beam axis normal to the
xy plane rather than the complex variable z = x + ıy The series expansion gives
Trang 12y distance along the side
Max Shear Stress = 0.67727
Number of Series Terms = 800
Maximum Stress Error = 0.44194%
Stiffness Factor Error = 0.052216%
Radial shear stress Tangential shear stress
Figure 12.10: Torsional Shear Stresses on a Square Cross Section
rational function mapping|ζ| < 1 onto a square deÞned by |x| ≤ 1 and |y| ≤ 1 was
employed Function mapsqr which computes z(ζ) and z (ζ)is used by function
torstres to evaluate stresses in terms of ζ A short driver program runtors evaluates
stresses on the boundary for x = 1, 0 ≤ y ≤ 1 Stresses divided by the side length of
2 are plotted and results produced from a highly accurate solution [90] are compared
with values produced using 800 terms in f(ζ) Results depicted in Figure 12.10 show that the error in maximum shear stress was only 0.44% and the torsional stiff- ness was accurate within 0.05% The numerical solution gives a nonzero stress value for y = 1, which disagree with the exact solution This error is probably due more to
the mapping function giving slightly rounded corners than to slow convergence of the series solution Even though the differentiated series converges slowly, computation time is still small The reader can verify that using 1500 terms reduces the bound- ary stress oscillations to negligible magnitude and produces a maximum stress error
of 0.03% Although taking 1500 terms to achieve accurate results seems excessive,
less than 400 nonzero terms are actually involved because geometrical symmetry plies a series increasing in powers of four For simplicity and generality, no attempt was made to account for geometrical symmetry exhibited by a particular mapping function It appears that a series solution employing a mapping function is a viable computational tool to deal with torsion problems.
Trang 13im-12.13.1 Program Output and Code
5: % Example showing torsional stress computation
6: % for a beam of square cross section using
7: % conformal mapping and a complex stress
19: % Compute stresses using an approximate rational
20: % function mapping function for the square
37: xlabel(’y distance along the side’);
38: ylabel(’shear stresses at the boundary’);
39: title([’Torsional Shear Stresses on a ’,
Trang 1446: [’Maximum Stress Error = ’,num2str(err),’%’]);
47: text(.05,.22,[’Stiffness Factor Error = ’,
48: num2str(ster),’%’]);
49: legend(’Radial shear stress’,
50: ’Tangential shear stress’);
51: figure(gcf);
52: %disp(’Use mouse to locate legend block’);
53: %disp(’Press [Enter] when finished’);
54: %print -deps torsion
65: % This function computes torsional stresses in
66: % a beam such that abs(zeta)<=1 is mapped onto
67: % the beam cross section by a function named
68: % mapfun
69: %
70: % mapfun - a character string giving the name
72: % zeta - values in the zeta plane
75: % ntrms - the number of terms used in the
78: % nft - the number of function values
82: %
83: % trho - torsional stresses in directions
Trang 1586: % should be zero at the boundary
88: % talpha - torsional stresses in directions
108: % Compute boundary values of the mapping
109: % function needed to construct the complex
118: % Compute Fourier coefficients for the complex
119: % stress function and its derivative
128: % trho is the radial shear stress that should
129: % vanish at the boundary
130: trho=real(tcplx);
Trang 16132: % talpha is the circumferential stress which
133: % gives the maximum stress of interest at the
144: % This function maps the interior of a circle
145: % onto the interior of a square using a rational
146: % function of the approximate form:
155: % z,zp - matrices of values of the mapping
172: % Exit if the derivative of z is not needed
173: if nargout==1, return, end
174:
175: % evaluate z’(zeta)
Trang 17176: na=length(a); nb=length(b);
177: pp=polyval(flipud((4*(1:na)’-3).*a),zeta4);
178: qp=4*zeta.^3.*polyval(flipud((1:nb)’.*b),zeta4);
179: zp=(q.*pp-p.*qp)./q.^2;
12.14 Stress Analysis by the Kolosov-Muskhelishvili Method
Two-dimensional problems in linear elastostatics of homogeneous bodies can be analyzed with the use of analytic functions The primary quantities of interest are
cartesian stress components τ xx , τ yy , and τ xy and displacement components u and
v These can be expressed as
τ xx + τ yy = 2[Φ(z) + Φ(z)]
−τ xx + τ yy + 2iτ xy= 2[¯zΦ (z) + Ψ(z)]
2µ(u + iv) = κφ(z) − zΦ(z) − ψ(z) φ(z) =
Φ(z) dz , ψ(z) =
Ψ(z) dz where µ is the shear modulus and κ depends on Poisson’s ratio ν according to
κ = 3 − 4ν for plane strain or κ = (3 − ν)/(1 + ν) for plane stress The above
relations are known as the Kolosov-Muskhelishvili formulas [73] and they have been used to solve many practical problems employing series or integral methods Bod- ies such as a circular disk, a plate with a circular hole, and a circular annulus can
be handled for quite general boundary conditions Solutions can also be developed for geometries where a rational function is known that maps the interior of a circle onto the desired geometry Futhermore, complex variable methods provide the most general techniques available for solving a meaningful class of mixed boundary value problems such as contact problems typiÞed by pressing a rigid punch into a half plane.
Fully understanding all of the analyses presented in [72, 73] requires familiarity with contour integration, conformal mapping, and multivalued functions However, some of the closed form solutions given in these texts can be used without extensive background in complex variable methods or the physical concepts of elasticity the- ory With that perspective let us examine the problem of computing stresses in an
inÞnite plate uniformly stressed at inÞnity and having a general normal stress N(θ) and tangential shear T (θ) applied to the hole We will use the general solution of
Muskhelishvili 1 [72] to evaluate stresses anywhere in the plate with particular est on stress concentrations occurring around the hole The stress functions Ψ and Φ
Trang 18can be represented as follows
where γ denotes counterclockwise contour integration around the boundary of the
hole and the other constants are given by
Parameters α and δ depend only on the components of stress at inÞnity, while β is
determined by the force resultant on the hole caused by the applied loading The
quantity N + ıT is the boundary value of radial stress τ rr and shear stress τ rθ in polar coordinates Hence
N + ıT = τ rr + iτ rθ , |z| = 1
The transformation formulas relating Cartesian stresses τ xx , τ yy , τ xy and polar
co-ordinate stresses τ rr , τ θθ , τ rθare
or we can compute the approximate coefÞcients more readily using the FFT.
The stress function Ψ(z) is related to Φ(z) according to
Ψ = 1
z2Φ
1
¯
− d dz
1
Trang 19which has the form
where the coefÞcients b nare obtainable by comparing coefÞcients of corresponding
powers in the two series Hence, the series expansions of functions Φ(z) and Ψ(z) can be generated in terms of the coefÞcients c n and the stress components at inÞn- ity The stresses can be evaluated by using the stress functions Displacements can also be obtained by integrating Φ and Ψ, but this straightforward calculation is not discussed here.
The program runplate was written to evaluate the above formulas by expanding
N + iT using the FFT Truncating the series for harmonics above some speciÞed
order, say np, gives approximations for Φ(z) and Ψ(z), which exactly represent
the solution corresponding to the boundary loading deÞned by the truncated Fourier
series Using the same approach employed in Chapter 6 we can deÞne N and T as piecewise linear functions of the polar angle θ.
The program utilizes several routines described in the table below.
runplate deÞne N, T , stresses at inÞnity, z-points
where results are requested, and the number
of series terms used.
platecrc computes series coefÞcients deÞning the
stress functions.
strfun evaluates Φ, Ψ, and Φ.
cartstrs evaluates Cartesian stresses for given values
of z and the stress functions.
rec2polr transforms from Cartesian stresses to polar
coordinate stresses.
polßip simpliÞed interface to function polyval.
The program solves two sample problems The Þrst one analyzes a plate having
no loading on the hole, and stresses at inÞnity given by τ ∞
Trang 20Figure 12.11: Stress Concentration around a Circular Hole in a Plate
3, producing a stress concentration factor of three due to the presence of the hole The second problem applies a sinusoidally varying normal stress on the hole while the stresses at inÞnity are zero Taking
Trang 21inves-−2 −1.5 −1 −0.5
0 0.5 1 1.5 2
−2
−1 0 1 2
Trang 2212.14.1 Program Output and Code
5: % Example to compute stresses around a
6: % circular hole in a plate using the
7: % Kolosov-Muskhelishvili method
8: %
9: % User m functions required:
12:
13: if nargin==0
14: titl=[’Stress Concentration Around a ’,
35: fprintf(’\n\nStress components at infinity ’)
36: fprintf(’are: ’); fprintf(’%g ’,ti);
37: fprintf(’\nNormal stresses on the hole are ’)
38: fprintf([’defined by ’,Nn]);
39: fprintf(’\nTangential stresses on the hole ’)
40: fprintf([’are defined by ’,Tt])
Trang 2341: fprintf(’\nElastic constant kappa equals: ’)
49: fprintf(’\nThe Kolosov-Muskhelishvili stress ’);
50: fprintf(’functions have\nthe series forms:’);
51: fprintf(’\nPhi=sum(a(k)*z^(-k+1), k=1:np+1)’);
52: fprintf(’\nPsi=sum(b(k)*z^(-k+1), k=1:np+3)’);
53: fprintf(’\n’);
54: fprintf(’\nCoefficients defining stress ’);
55: fprintf(’function Phi are:\n’);
56: disp(a(:));
57: fprintf(’Coefficients defining stress ’);
58: fprintf(’function Psi are:\n’);
75: [’Maximum Principal Stress = ’,num2str(pmax)]);
76: fprintf(’\nPress [Enter] for a surface ’);
77: fprintf(’plot of the\ncircumferential stress ’);
78: fprintf(’in the plate\n’); input(’’,’s’); clf;
79: close; colormap(’hsv’);
80: surf(x,y,tt); xlabel(’x axis’); ylabel(’y axis’);
81: zlabel(’Circumferential Stress’);
82: title(titl); grid on; view(viewpnt); figure(gcf);
83: %if nargin==0, print -deps strconc1
84: %else, print -deps strconc2; end
85: fprintf(’All Done\n’);
Trang 2494: % This function computes coefficients in the
95: % series expansions that define the
Kolosov-96: % Muskhelishvili stress functions for a plate
97: % having a circular hole of unit radius The
98: % plate is uniformly stressed at infinity On
99: % the surface of the hole, normal and tangential
100: % stress distributions N and T defined as
101: % piecewise linear functions are applied
102: %
103: % N - a two column matrix with each row
117: % T - a two column matrix defining values of
125: % ti - vector of Cartesian stress components
127: % kapa - a constant depending on Poisson’s ratio
128: % nu
Trang 25131: % When the resultant force on the hole
134: % np - the highest power of exp(i*theta) used
137: %
138: % a - coefficients in the series expansion
141: % b - coefficients in the series expansion
168: % Generate a and b coefficients using the
169: % Fourier coefficients of N+i*T
Trang 26192: % This function evaluates the complex
193: % stress functions Phi(z) and Psi(z)
194: % as well as the derivative function Phi’(z)
195: % using series coefficients determined from
196: % function platecrc The calculation also
197: % uses a function polflip defined such that
204: % Phi,Psi - complex stress function values
205: % Phip - derivative Phi’(z)
Trang 27221: %
222: % This function uses values of the complex
223: % stress functions to evaluate Cartesian stress
224: % components relative to the x,y axes
225: %
228: % Phi,Psi - matrices containing complex stress
231: %
232: % tx,ty,txy - values of the Cartesian stress
234: % tp1,tp2 - values of maximum and minimum
252: % This function transforms Cartesian stress
253: % components tx,ty,txy to polar coordinate
254: % stresses tr,tt,trt
255: %
256: % tx,ty,txy - matrices of Cartesian stress
263: %
264: % tr,tt,trt - matrices of polar coordinate
Trang 28283: % This function evaluates polyval(a,x) with
284: % the order of the elements reversed
12.14.2 Stressed Plate with an Elliptic Hole
This chapter is concluded with an example using conformal mapping in elasticity theory We discussed earlier the useful property that harmonic functions remain harmonic under a conformal transformation However, linear elasticity leads to the biharmonic Airy stress function which satisÞes
Trang 29Conse-elasticity This does not preclude use of conformal mapping in elasticity, but we encounter equations of very different structure in the mapped variables We will examine that problem enough to illustrate the kind of differences involved Let a
mapping function z = ω(ζ) deÞne curvilinear coordinate lines in the z-plane A lar coordinate grid corresponding to arg(ζ) = constant and |ζ| = constant maps into
po-curves we term ρ lines and α lines, respectively Plotting of such lines was
demon-strated previously with function gridview (mapping the exterior of a circle onto the
exterior of an ellipse) It can be shown that curvilinear coordinate stresses τ ρρ , τ αα,
τ ραare related to cartesian stresses according to
τ ρρ + τ αα = τ xx + τ yy , −τ ρρ + τ αα + 2iτ ρα = h( −τ xx + τ yy + 2iτ xy) where
z = ω(ζ) = R
ζ + m ζ
When ζ is selected as the primary reference variable, we have to perform chain rule
differentiation and write
in order to compute stresses in terms of the ζ-variable Readers unaccustomed to
using conformal mapping in this context should remember that there is no stress
state in the ζ-plane comparable to the analogous velocity components which can
be envisioned in a potential ßow problem We are simply using ζ as a convenient
reference variable to analyze physical stress and displacement quantities existing
only in the z-plane.
Suppose the inÞnite plate has an elliptic hole deÞned by
x
r x
2+
Trang 30and the hole is free of applied tractions The stress state at inÞnity consists of a
tension p inclined at angle λ with the x-axis The stress functions relating to that
problem are found to be ([72], page 338)
for a plate with a circular hole The function eliphole computes curvilinear
coordi-nate stresses in the z-plane expressed in terms of the ζ-variable When λ = π/2, the plate tension acts along the y-axis and the maximum circumferential stress occurs at
z = r x corresponding to ζ = 1 A surface plot produced by eliphole for the default
data case using r x= 2and r y= 1 is shown in Figure 12.13 It is also interesting to
graph τmax
yy as a function of r x /r y The program elpmaxst produces the plot in
Figure 12.14 showing that the circumferential stress concentration increases linearly according to
Trang 31−2 0 2 4
−3
−2
−1 0 1 2 3
Stress Concentration Around an Elliptical Hole
ratio ( max diameter ) / ( min diameter )
Figure 12.14: Stress Concentration around an Elliptical Hole
Trang 3212.14.3 Program Output and Code
5: % MATLAB example to plot the stress
6: % concentration around an elliptic hole
7: % as a function of the semi-diameter ratio
25: ylabel([’( max circumferential stress ) / ’,
27: grid on; figure(gcf);
28: %print -deps elpmaxst
39: % This function determines curvilinear
40: % coordinate stresses around an elliptic hole
Trang 3341: % in a plate uniformly stressed at infinity.
51: % ifplot - optional parameter that is given
54: %
75: % The complex stress functions and mapping
76: % function have the form
...97 : % having a circular hole of unit radius The
98 : % plate is uniformly stressed at infinity On
99 : % the surface of the hole, normal and. .. class="page_container" data-page="26">
192 : % This function evaluates the complex
193 : % stress functions Phi(z) and Psi(z)
194 : % as well as the derivative... function Phi’(z)
195 : % using series coefficients determined from
196 : % function platecrc The calculation also
197 : % uses a function