Calculus: Vector Calculus in Cylindrical Coordinate Systems
Introduction
Polar Coordinate System
Consider the representation of a geometric plane using with a chosen but arbitrary origin. The directions at every point in the plane are defined using the basis vectors and (Fig 1 left). In certain situations, it is more convenient to define directions or basis vectors at every point such that the first direction (first basis vector) points away from the origin (blue arrows in Fig 1 right) and the second direction is perpendicular to the first direction while maintaining the right hand rule (yellow arrows in Fig 1 right). Given that the coordinates of a point in the geometric plane are given by and , then, we can define at every point the following relations:
with the inverse relationship:
taking into consideration the quadrant of and . It is important to note that the function is not defined at the origin. It is also important to note that and are themselves vector fields. represents a vector field of unit vectors that are pointing away from the origin and represents a vector field of unit vectors perpendicular to the vectors of the vector field maintaining the right hand orientation (Fig 1 left). Using a simple change of coordinates, the new basis set at a point represented by the coordinates and (or the corresponding r and \theta) can be related to the Cartesian basis and using the relationships:
Therefore, the coordinate transformation from the Cartesian basis to the polar coordinate system is described at every point using the matrix :
As the vector fields and are functions of the two real numbers , and , then, we can find the derivatives of and as follows:
It is also useful to find the derivatives of the position vector of a point with respect to the independent variables and . The position of a point in the plane is given by:
The derivatives of the position vector with respect to and are given by:
These derivatives will be used to calculate the derivatives of other quantities in a polar coordinate system.
Cylindrical Coordinate System:
A cylindrical coordinate system is a system used for directions in \mathbb{R}^3 in which a polar coordinate system is used for the first plane (Fig 2 and Fig 3). The coordinate system directions can be viewed as three vector fields , and such that:
with and related to the coordinates and using the polar coordinate system relationships. The coordinate transformation from the Cartesian basis to the cylindrical coordinate system is described at every point using the matrix :
The vector fields and are functions of and their derivatives with respect to and follow from the polar coordinate system. on the other hand is independent of and .
Fields in Cylindrical Coordinate System
Let be a subset of . If , , and are smooth scalar, vector and second-order tensor fields, then they can be chosen to be functions of either the Cartesian coordinates , and , or the corresponding real numbers , , and . Also, and can have their components expressed in either the fixed orthonormal basis set , or can be expressed using the cylindrical coordinate system directions at every point. In other words, , as a vector field, can have the one of the following forms:
where , and are scalar fields. Similarly, , as a tensor field, can have one of the following forms:
where , and are scalar fields.
Field Derivatives in Cylindrical Coordinate Systems
Gradient of a Scalare Field
Let be a scalar field such that . The gradient of in a cylindrical coordinate system can be obtained using one of two ways. The first way is to find as a function of , and by simply replacing ,, and . Then, finding the gradient of in the Cartesian coordinate system and then utilizing the relationship . After that, the variables , and can be replaced with , and . Alternative, the gradient of can be obtained directly in the cylindrical coordinate system. In order to find the expression for the gradient, recall that a scalar field is differentiable if there exists such that ,
Using this definition, we will aim to find the representation of in a cylindrical coordinate system. Let . We will strategically choose particular expressions for hn to obtain the required expression for the vector . First, we will choose hn such that it is equivalent to a path increment caused by a change \Delta r, i.e., hn=\Delta r \frac{\partial x}{\partial r}=\Delta r e_r (Fig. 4). Then:
Therefore:
Therefore:
Similarly, can be chosen to be equivalent to a path increment caused by , i.e., (Fig. 4). Therefore:
Therefore:
Therefore:
Therefore,
The third component is straightforward and is equal to:
Therefore, the gradient of in a cylindrical coordinate system has the form:
Gradient of a Vector Field
Let be a smooth vector field. The components of the tensor field in a cylindrical coordinate system can be obtained by a simple coordinate transformation using the components in the Cartesian coordinate system and the matrix of transformation . I.e., . Alternatively, if is already expressed in a cylindrical coordinate system, then, notice that the derivatives of with respect to , , and are given by:
We can now assume assume that, in the cylindrical coordinate system, has the following form:
Notice that:
Recall that a vector field is differentiable if there exists a tensor field denoted such that :
Therefore, the component can be obtained by setting in the above relationship and taking the dot product with as follows:
I.e.
Therefore:
The component can be obtained by setting in the above relationship and taking the dot product with as follows:
I.e.
Therefore:
Similarly,
Therefore, has the following form:
Divergence of a Vector Field
If is given similar to the previous section, then, the divergence of in a cylindrical coordinate system is given by:
Gradient of a Tensor Field
Let be a tensor field with components with . First, we use the tensor product representation of the tensor field to find the derivatives of with respect to , and . The derivatives with respect to and are straightforward since , and are independent of and :
Similarly,
However, the dependence of and on leads to the following derivative of with respect to :
Using the general definition of the gradient of a tensor field, the components of the gradient of denoted by in the cylindrical coordinate system can be obtained in a manner similar to the previous section. Let the components be with . Then, it is straightforward (but with lots of details) to show that when or :
Therefore:
However, the components when \gamma=\theta have the following form:
Divergence of a Tensor Field
Let be a tensor field with the cylindrical coordinate system components with .
Using the general definition of the divergence of a tensor field, the components of \mathrm{div}{(T)} in a cylindrical coordinate system can be obtained as follows:
where , and are fixed in space at a particular point. I.e., the operator only applies to . The procedure used in the gradient of a vector in a cylindrical coordinate system section combined with the derivatives of shown in the previous section can be used to reach the following formulas for the components of the divergence of in a cylindrical coordinate system:
Therefore:
Curl of a Vector Field
Using the general definition of the Curl, if is a vector field given in terms of , and and represented in a cylindrical coodrinate system, then, the components of the curl of are given by:
with the \nabla operator applied to u and not to the vectors , and . Therefore in a cylindrical coordinate system:
Laplacian of a Scalar Field
Using the general definition of the Laplacian, if is a scalar function given in terms of , and , then, the Laplacian of is given by:
Example
Let be given by . Find the gradient of in the current coordinate system. Find the expression for and the gradient of in a polar coordinate system.
SOLUTION
In the Cartesian coordinate system, the gradient of has the form:
Note that and can be represented in the Cartesian coordinate system using and instead of and as follows:
It is important to note that this is a mere change of variables, but the components of and are still represented using the Cartesian coordinate system. The values themselves are just obtained using and , rather than and .
If , and are the basis vectors in the Cartesian coordinate system, and if and are the basis vectors in the cylindrical coordinate system, then the matrix of transformation from the Cartesian to the cylindrical coordinate system at a particular point depends on the value of theta at that particular point and is given by:
If is the expression of in the polar coordinate system, it has the form:
The representation in the cylindrical coordinate system can be obtained using the change of coordinates formula:
Alternatively, the gradient of u in the cylindrical coordinate system can be obtained directly using the components and :
Noting that , the two methods produce identical results for the components of the gradient in the polar coordinate system.
The following figure shows the directions at an arbitrary point in a Cartesian coordinate system (left) and the representation of and in that coordinate system. On the right, the polar coordinate system directions are shown along with the representation and .
View Mathematica Code
Q={{Cos[th],Sin[th]},{-Sin[th],Cos[th]}}; u={x1^2+x2^2,x1*x2}; x={x1,x2} rule={x1->r*Cos[th],x2->r*Sin[th]} urth=FullSimplify[u/.rule] Gu=Table[D[u[[i]],x[[j]]],{i,1,2},{j,1,2}] Gurth=FullSimplify[Gu/.rule] up=FullSimplify[Q.urth] Gup=FullSimplify[Q.Gurth.Transpose[Q]] Gup//MatrixForm Guformula=FullSimplify[{{D[up[[1]],r],D[up[[1]],th]/r-up[[2]]/r},{D[up[[2]],r],up[[1]]/r+D[up[[2]],th]/r}}]; Guformula//MatrixForm FullSimplify[Guformula-Gup]
View Python Code
import sympy as sp from sympy import diff, simplify from sympy.matrices import Matrix sp.init_printing(use_latex = "mathjax") x1,x2 = sp.symbols('x_1 x_2') r, theta = sp.symbols('r \u03B8') u1 = x1**2+x2**2 u2 = x1*x2 # cartesian coordinate system u = Matrix([u1,u2]) display("u =",u) x=Matrix([x1,x2]) # gradient grad_u=Matrix([[diff(ui,xj) for xj in x] for ui in u]) display("\u2207u =",grad_u) # Change of variables display("The following is a simple change of variables but the components are still in the cartesian coordinate system") urth = u.subs([(x1, r*sp.cos(theta)), (x2, r*sp.sin(theta))]) display("u_r_\u03B8 =",urth,simplify(urth)) # gradient grad_u_rth = grad_u.subs([(x1, r*sp.cos(theta)), (x2, r*sp.sin(theta))]) display("\u2207u_r_\u03B8 =",grad_u_rth) # rot matrix Q = Matrix([[sp.cos(theta),sp.sin(theta)],[-sp.sin(theta),sp.cos(theta)]]) display("Q =",Q) # Change of coordinates display("The following representation is in the radial coordinate system") upolar=simplify(Q*urth) grad_u_polar=simplify(Q*grad_u_rth*Q.T) display("u' = Q*u =",upolar) display("\u2207u' = Q*\u2207u*Q^T =",grad_u_polar) # Gradient formula in the polar coordinate system display("The gradient can also be calculated using the gradient formula") grad_u_formula=Matrix([[diff(upolar[0],r),diff(upolar[0],theta)/r-upolar[1]/r], [diff(upolar[1],r),upolar[0]/r+diff(upolar[1],theta)/r]]) grad_u_formula=simplify(grad_u_formula) display(grad_u_formula)