Cylindrical Coordinates

DOWNLOAD Mathematica Notebook CylindricalCoordinates

Cylindrical coordinates are a generalization of two-dimensional polar coordinates to three dimensions by superposing a height (z) axis. Unfortunately, there are a number of different notations used for the other two coordinates. Either r or rho is used to refer to the radial coordinate and either phi or theta to the azimuthal coordinates. Arfken (1985), for instance, uses (rho,phi,z), while Beyer (1987) uses (r,theta,z). In this work, the notation (r,theta,z) is used.

The following table summarizes notational conventions used by a number of authors.

(radial, azimuthal, vertical)reference
(r,theta,z)this work, Beyer (1987, p. 212)
(Rr, Ttheta, Zz)SetCoordinates[Cylindrical] in the Wolfram Language package VectorAnalysis`
(rho,phi,z)Arfken (1985, p. 95)
(r,psi,z)Moon and Spencer (1988, p. 12)
(r^',phi,z)Korn and Korn (1968, p. 60)
(xi_1,xi_2,xi_3)Morse and Feshbach (1953)

In terms of the Cartesian coordinates (x,y,z),

r=sqrt(x^2+y^2)
(1)
theta=tan^(-1)(y/x)
(2)
z=z,
(3)

where r in [0,infty), theta in [0,2pi), z in (-infty,infty), and the inverse tangent must be suitably defined to take the correct quadrant of (x,y) into account.

In terms of x, y, and z

x=rcostheta
(4)
y=rsintheta
(5)
z=z.
(6)

Note that Morse and Feshbach (1953) define the cylindrical coordinates by

x=xi_1xi_2
(7)
y=xi_1sqrt(1-xi_2^2)
(8)
z=xi_3,
(9)

where xi_1=r and xi_2=costheta.

The metric elements of the cylindrical coordinates are

g_(rr)=1
(10)
g_(thetatheta)=r^2
(11)
g_(zz)=1,
(12)

so the scale factors are

g_r=1
(13)
g_theta=r
(14)
g_z=1.
(15)

The line element is

 ds=drr^^+rdthetatheta^^+dzz^^,
(16)

and the volume element is

 dV=rdrdthetadz.
(17)

The Jacobian is

 |(partial(x,y,z))/(partial(r,theta,z))|=r.
(18)

A Cartesian vector is given in cylindrical coordinates by

 r=[rcostheta; rsintheta; z].
(19)

To find the unit vectors,

r^^=((dr)/(dr))/(|(dr)/(dr)|)=[costheta; sintheta; 0]
(20)
theta^^=((dr)/(dtheta))/(|(dr)/(dtheta)|)=[-sintheta; costheta; 0]
(21)
z^^=((dr)/(dz))/(|(dr)/(dz)|)=[0; 0; 1].
(22)

Derivatives of unit vectors with respect to the coordinates are

(partialr^^)/(partialr)=0
(23)
(partialr^^)/(partialtheta)=theta^^
(24)
(partialr^^)/(partialz)=0
(25)
(partialtheta^^)/(partialr)=0
(26)
(partialtheta^^)/(partialtheta)=-r^^
(27)
(partialtheta^^)/(partialz)=0
(28)
(partialz^^)/(partialr)=0
(29)
(partialz^^)/(partialtheta)=0
(30)
(partialz^^)/(partialz)=0.
(31)

The gradient operator in cylindrical coordinates is given by

 del =r^^partial/(partialr)+theta^^1/rpartial/(partialtheta)+z^^partial/(partialz),
(32)

so the gradient components become

del _rr^^=0
(33)
del _thetar^^=1/rtheta^^
(34)
del _zr^^=0
(35)
del _rtheta^^=0
(36)
del _thetatheta^^=-1/rr^^
(37)
del _ztheta^^=0
(38)
del _rz^^=0
(39)
del _thetaz^^=0
(40)
del _zz^^=0.
(41)

The Christoffel symbols of the second kind in the definition of Misner et al. (1973, p. 209) are given by

Gamma^r=[0 0 0; 0 -1/r 0; 0 0 0]
(42)
Gamma^theta=[0 1/r 0; 0 0 0; 0 0 0]
(43)
Gamma^z=[0 0 0; 0 0 0; 0 0 0].
(44)

The Christoffel symbols of the second kind in the definition of Arfken (1985) are given by

Gamma^r=[0 0 0; 0 -r 0; 0 0 0]
(45)
Gamma^theta=[0 1/r 0; 1/r 0 0; 0 0 0]
(46)
Gamma^z=[0 0 0; 0 0 0; 0 0 0]
(47)

(Walton 1967; Arfken 1985, p. 164, Ex. 3.8.10; Moon and Spencer 1988, p. 12a).

The covariant derivatives are then given by

 A_(j;k)=1/(g^(kk))(partialA_j)/(partialx_k)-Gamma_(jk)^iA_i,
(48)

are

A_(r;r)=(partialA_r)/(partialr)
(49)
A_(r;theta)=1/r(partialA_r)/(partialtheta)-(A_theta)/r
(50)
A_(r;z)=(partialA_r)/(partialz)
(51)
A_(theta;r)=(partialA_theta)/(partialr)
(52)
A_(theta;theta)=1/r(partialA_theta)/(partialtheta)+(A_r)/r
(53)
A_(theta;z)=(partialA_theta)/(partialz)
(54)
A_(z;r)=(partialA_z)/(partialr)
(55)
A_(z;theta)=1/r(partialA_z)/(partialtheta)
(56)
A_(z;z)=(partialA_z)/(partialz).
(57)

Cross products of the coordinate axes are

r^^xz^^=-theta^^
(58)
theta^^xz^^=r^^
(59)
r^^xtheta^^=z^^.
(60)

The commutation coefficients are given by

 c_(alphabeta)^mue^->_mu=[e^->_alpha,e^->_beta]=del _alphae^->_beta-del _betae^->_alpha,
(61)

But

 [r^^,r^^]=[theta^^,theta^^]=[phi^^,phi^^]=0,
(62)

so c_(rr)^alpha=c_(thetatheta)^alpha=c_(phiphi)^alpha=0, where alpha=r,theta,phi. Also

 [r^^,theta^^]=-[theta^^,r^^]=del _rtheta^^-del _thetar^^=0-1/rtheta^^=-1/rtheta^^,
(63)

so c_(rtheta)^theta=-c_(thetar)^theta=-1/r, c_(rtheta)^r=c_(rtheta)^phi=0. Finally,

 [r^^,phi^^]=[theta^^,phi^^]=0.
(64)

Summarizing,

c^r=[0 0 0; 0 0 0; 0 0 0]
(65)
c^theta=[0 -1/r 0; 1/r 0 0; 0 0 0]
(66)
c^phi=[0 0 0; 0 0 0; 0 0 0].
(67)

Time derivatives of the vector are

r^.=[costhetar^.-rsinthetatheta^.; sinthetar^.+rcosthetatheta^.; z^.]=r^.r^^+rtheta^.theta^^+z^.z^^
(68)
r^..=[-sinthetar^.theta^.+costhetar^..-sinthetar^.theta^.-rcosthetatheta^.^2-rsinthetatheta^..; costhetar^.theta^.+sinthetar^..+costhetar^.theta^.-rsinthetatheta^.^2+rcosthetatheta^..; z^..]
(69)
(70)
=[-2sinthetar^.theta^.+costhetar^..-rcosthetatheta^.^2-rsinthetatheta^..; 2costhetar^.theta^.+sinthetar^..-rsinthetatheta^.^2+rcosthetatheta^..; z^..]
(71)
=(r^..-rtheta^.^2)r^^+(2r^.theta^.+rtheta^..)theta^^+z^..z^^.
(72)

Speed is given by

v=|r^.|
(73)
=sqrt(r^.^2+r^2theta^.^2+z^.^2).
(74)

Time derivatives of the unit vectors are

r^^^.=[-sinthetatheta^.; costhetatheta^.; 0]
(75)
=theta^.theta^^
(76)
theta^^^.=[-costhetatheta^.; -sinthetatheta^.; 0]
(77)
=-theta^.r^^
(78)
z^^^.=[0; 0; 0]
(79)
=0.
(80)

The convective derivative is

(Dr^.)/(Dt)=(partial/(partialt)+r^.·del )r^.
(81)
=(partialr^.)/(partialt)+r^.·del r^..
(82)

To rewrite this, use the identity

 del (A·B)=Ax(del xB)+Bx(del xA)+(A·del )B+(B·del )A
(83)

and set A=B, to obtain

 del (A·A)=2Ax(del xA)+2(A·del )A,
(84)

so

 (A·del )A=del (1/2A^2)-Ax(del xA).
(85)

Then

(Dr^.)/(Dt)=r^..+del (1/2r^.^2)-r^.x(del xr^.)
(86)
=r^..+(del xr^.)xr^.+del (1/2r^.^2).
(87)

The curl in the above expression gives

del xr^.=1/rpartial/(partialr)(r^2theta^.)z^^
(88)
=2theta^.z^^,
(89)

so

-r^.x(del xr^.)=-2theta^.(r^.r^^xz^^+rtheta^.theta^^xz^^)
(90)
=-2theta^.(-r^.theta^^+rtheta^.r^^)
(91)
=2r^.theta^.theta^^-2rtheta^.^2r^^.
(92)

We expect the gradient term to vanish since speed does not depend on position. Check this using the identity del (f^2)=2fdel f,

del (1/2r^.^2)=1/2del (r^.^2+r^2theta^.^2+z^.^2)
(93)
=r^.del r^.+rtheta^.del (rtheta^.)+z^.del z^..
(94)

Examining this term by term,

r^.del r^.=r^.partial/(partialt)del r
(95)
=r^.partial/(partialt)r^^
(96)
=r^.r^^^.
(97)
=r^.theta^.theta^^
(98)
rtheta^.del (rtheta^.)=rtheta^.[rpartial/(partialt)del theta+theta^.del r]
(99)
=rtheta^.[rpartial/(partialt)(1/rtheta^^)+theta^.r^^]
(100)
=rtheta^.[r(-1/(r^2)r^.theta^^+1/rtheta^^^.)+theta^.r^^]
(101)
=-theta^.r^.theta^^+rtheta^.(-theta^.r^^)+rtheta^.^2r^^
(102)
=-theta^.r^.theta^^
(103)
z^.del z^.=z^.partial/(partialt)del z
(104)
=z^.partial/(partialt)z^^
(105)
=z^.z^^^.
(106)
=0,
(107)

so, as expected,

 del (1/2r^.^2)=0.
(108)

We have already computed r^.., so combining all three pieces gives

(Dr^.)/(Dt)=(r^..-rtheta^.^2-2rtheta^.^2)r^^+(2r^.theta^.+2r^.theta^.+rtheta^..)theta^^+z^..z^^
(109)
(110)
=(r^..-3rtheta^.^2)r^^+(4r^.theta^.+rtheta^..)theta^^+z^..z^^.
(111)

The divergence is

del ·A=A_(;r)^r=A_(,r)^r+(Gamma_(rr)^rA^t+Gamma_(thetar)^rA^theta+Gamma_(zr)^rA^z)+A_(,theta)^theta+(Gamma_(rtheta)^thetaA^r+Gamma_(thetatheta)^thetaA^theta+Gamma_(ztheta)^thetaA^z)+A_(,z)^z+(Gamma_(rz)^zA^r+Gamma_(thetaz)^zA^theta+Gamma_(zz)^zA^z)
(112)
=A_(,r)^r+A_(,theta)^theta+A_(,z)^z+(0+0+0)+(1/r+0+0)+(0+0+0)
(113)
=1/(g_r)partial/(partialr)A^r+1/(g_theta)partial/(partialtheta)A^theta+1/(g_z)partial/(partialz)A^z+1/rA^r
(114)
=(partial/(partialr)+1/r)A^r+1/rpartial/(partialtheta)A^theta+partial/(partialz)A^z,
(115)

or, in vector notation

 del ·F=1/rpartial/(partialr)(rF_r)+1/r(partialF_theta)/(partialtheta)+(partialF_z)/(partialz).
(116)

The curl is

del xF=(1/r(partialF_z)/(partialtheta)-(partialF_theta)/(partialz))r^^+((partialF_r)/(partialz)-(partialF_z)/(partialr))theta^^+1/r[partial/(partialr)(rF_theta)-(partialF_r)/(partialtheta)]z^^.
(117)

The scalar Laplacian is

del ^2f=1/rpartial/(partialr)(r(partialf)/(partialr))+1/(r^2)(partial^2f)/(partialtheta^2)+(partial^2f)/(partialz^2)
(118)
=(partial^2f)/(partialr^2)+1/r(partialf)/(partialr)+1/(r^2)(partial^2f)/(partialtheta^2)+(partial^2f)/(partialz^2).
(119)

The vector Laplacian is

 del ^2v=[(partial^2v_r)/(partialr^2)+1/(r^2)(partial^2v_r)/(partialtheta^2)+(partial^2v_r)/(partialz^2)+1/r(partialv_r)/(partialr)-2/(r^2)(partialv_theta)/(partialtheta)-(v_r)/(r^2); (partial^2v_theta)/(partialr^2)+1/(r^2)(partial^2v_theta)/(partialtheta^2)+(partial^2v_theta)/(partialz^2)+1/r(partialv_theta)/(partialr)+2/(r^2)(partialv_r)/(partialtheta)-(v_theta)/(r^2); (partial^2v_z)/(partialr^2)+1/(r^2)(partial^2v_z)/(partialtheta^2)+(partial^2v_z)/(partialz^2)+1/r(partialv_z)/(partialr)].
(120)

The Helmholtz differential equation is separable in cylindrical coordinates and has Stäckel determinant S=1 (for r, theta, z) or S=1/(1-xi_2^2) (for Morse and Feshbach's xi_1, xi_2, and xi_3).

Wolfram Web Resources

Mathematica »

The #1 tool for creating Demonstrations and anything technical.

Wolfram|Alpha »

Explore anything with the first computational knowledge engine.

Wolfram Demonstrations Project »

Explore thousands of free applications across science, mathematics, engineering, technology, business, art, finance, social sciences, and more.

Computerbasedmath.org »

Join the initiative for modernizing math education.

Online Integral Calculator »

Solve integrals with Wolfram|Alpha.

Step-by-step Solutions »

Walk through homework problems step-by-step from beginning to end. Hints help you try the next step on your own.

Wolfram Problem Generator »

Unlimited random practice problems and answers with built-in Step-by-step solutions. Practice online or make a printable study sheet.

Wolfram Education Portal »

Collection of teaching and learning tools built by Wolfram education experts: dynamic textbook, lesson plans, widgets, interactive Demonstrations, and more.

Wolfram Language »

Knowledge-based programming for everyone.