Categories: Mathematics, Physics.

In a 3D coordinate system, the isosurface of a coordinate (i.e. the surface where that coordinate is constant while the others vary) is known as a **coordinate surface**, and the intersections of the surfaces of different coordinates are called **coordinate lines**.

A **curvilinear** coordinate system is one where at least one of the coordinate surfaces is curved, e.g. in cylindrical coordinates the line between \(r\) and \(z\) is a circle. If the coordinate surfaces are mutually perpendicular, it is an **orthogonal** system, which is generally desirable.

A useful attribute of a coordinate system is its **line element** \(\dd{\ell}\), which represents the differential element of a line in any direction. For an orthogonal system, its square \(\dd{\ell}^2\) is calculated by taking the differential elements of the old Cartesian \((x, y, z)\) system and writing them out in the new \((x_1, x_2, x_3)\) system. The resulting expression will be of the form:

\[\begin{aligned} \boxed{ \dd{\ell}^2 = \dd{x}^2 + \dd{y}^2 + \dd{z}^2 = h_1^2 \dd{x_1}^2 + h_2^2 \dd{x_2}^2 + h_3^2 \dd{x_3}^2 } \end{aligned}\]

Where \(h_1\), \(h_2\), and \(h_3\) are called **scale factors**, and need not be constants. The equation above only contains quadratic terms because the coordinate system is orthogonal by assumption.

Examples of orthogonal curvilinear coordinate systems include spherical coordinates, cylindrical polar coordinates, and cylindrical parabolic coordinates.

In the following subsections, we derive general formulae to convert expressions from Cartesian coordinates to the new orthogonal system \((x_1, x_2, x_3)\).

Consider the the vector form of the line element \(\dd{\ell}\), denoted by \(\dd{\vu{\ell}}\) and expressed as:

\[\begin{aligned} \dd{\vu{\ell}} = \vu{e}_x \dd{x} + \vu{e}_y \dd{y} + \vu{e}_z \dd{z} \end{aligned}\]

We can expand the Cartesian differential elements, e.g. \(\dd{y}\), in the new basis as follows:

\[\begin{aligned} \dd{y} = \pdv{y}{x_1} \dd{x_1} + \pdv{y}{x_2} \dd{x_2} + \pdv{y}{x_3} \dd{x_3} \end{aligned}\]

If we write this out for \(\dd{x}\), \(\dd{y}\) and \(\dd{z}\), and group the terms according to \(\dd{x}_1\), \(\dd{x}_2\) and \(\dd{x}_3\), we can compare it the alternative form of \(\dd{\vu{\ell}}\):

\[\begin{aligned} \dd{\vu{\ell}} = \vu{e}_1 \:h_1 \dd{x_1} + \vu{e}_2 \:h_2 \dd{x_2} + \vu{e}_3 \:h_3 \dd{x_4} \end{aligned}\]

From this, we can read off \(\vu{e}_1\), \(\vu{e}_2\) and \(\vu{e}_3\). Here we only give \(\vu{e}_1\), since \(\vu{e}_2\) and \(\vu{e}_3\) are analogous:

\[\begin{aligned} \boxed{ h_1 \vu{e}_1 = \vu{e}_x \pdv{x}{x_1} + \vu{e}_y \pdv{y}{x_1} + \vu{e}_z \pdv{y}{x_1} } \end{aligned}\]

In an orthogonal coordinate system, the gradient \(\nabla f\) of a scalar \(f\) is as follows, where \(\vu{e}_1\), \(\vu{e}_2\) and \(\vu{e}_3\) are the basis unit vectors respectively corresponding to \(x_1\), \(x_2\) and \(x_3\):

\[\begin{gathered} \boxed{ \nabla f = \vu{e}_1 \frac{1}{h_1} \pdv{f}{x_1} + \vu{e}_2 \frac{1}{h_2} \pdv{f}{x_2} + \vu{e}_3 \frac{1}{h_3} \pdv{f}{x_3} } \end{gathered}\]

For a direction \(\dd{\ell}\), we know that \(\dv*{f}{\ell}\) is the component of \(\nabla f\) in that direction:

\[\begin{aligned} \dv{f}{\ell} = \pdv{f}{x} \dv{x}{\ell} + \pdv{f}{y} \dv{y}{\ell} + \pdv{f}{z} \dv{z}{\ell} = \nabla f \cdot \bigg( \dv{x}{\ell}, \dv{y}{\ell}, \dv{z}{\ell} \bigg) = \nabla f \cdot \vu{u} \end{aligned}\]

Where \(\vu{u}\) is simply a unit vector in the direction of \(\dd{\ell}\). We thus find the expression for the gradient \(\nabla f\) by choosing \(\dd{\ell}\) to be \(h_1 \dd{x_1}\), \(h_2 \dd{x_2}\) and \(h_3 \dd{x_3}\) in turn:

\[\begin{gathered} \nabla f = \vu{e}_1 \dv{x_1}{\ell} \pdv{f}{x_1} + \vu{e}_2 \dv{x_2}{\ell} \pdv{f}{x_2} + \vu{e}_3 \dv{x_3}{\ell} \pdv{f}{x_3} \end{gathered}\]

The divergence of a vector \(\vb{V} = \vu{e}_1 V_1 + \vu{e}_2 V_2 + \vu{e}_3 V_3\) in an orthogonal system is given by:

\[\begin{aligned} \boxed{ \nabla \cdot \vb{V} = \frac{1}{h_1 h_2 h_3} \Big( \pdv{(h_2 h_3 V_1)}{x_1} + \pdv{(h_1 h_3 V_2)}{x_2} + \pdv{(h_1 h_2 V_3)}{x_3} \Big) } \end{aligned}\]

As preparation, we rewrite \(\vb{V}\) as follows to introduce the scale factors:

\[\begin{aligned} \vb{V} &= \vu{e}_1 \frac{1}{h_2 h_3} (h_2 h_3 V_1) + \vu{e}_2 \frac{1}{h_1 h_3} (h_1 h_3 V_2) + \vu{e}_3 \frac{1}{h_1 h_2} (h_1 h_2 V_3) \end{aligned}\]

We start by taking only the \(\vu{e}_1\)-component of this vector, and expand its divergence using the following vector identity:

\[\begin{gathered} \nabla \cdot (\vb{U} \: f) = \vb{U} \cdot (\nabla f) + (\nabla \cdot \vb{U}) \: f \end{gathered}\]

Inserting the scalar \(f = h_2 h_3 V_1\) the vector \(\vb{U} = \vu{e}_1 / (h_2 h_3)\), we arrive at:

\[\begin{gathered} \nabla \cdot \Big( \frac{\vu{e}_1}{h_2 h_3} (h_2 h_3 V_1) \Big) = \frac{\vu{e}_1}{h_2 h_3} \cdot \Big( \nabla (h_2 h_3 V_1) \Big) + \Big( \nabla \cdot \frac{\vu{e}_1}{h_2 h_3} \Big) (h_2 h_3 V_1) \end{gathered}\]

The first right-hand term is easy to calculate thanks to our expression for the gradient \(\nabla f\). Only the \(\vu{e}_1\)-component survives due to the dot product:

\[\begin{aligned} \frac{\vu{e}_1}{h_2 h_3} \cdot \Big( \nabla (h_2 h_3 V_1) \Big) = \frac{\vu{e}_1}{h_1 h_2 h_3} \pdv{(h_2 h_3 V_1)}{x_1} \end{aligned}\]

The second term is more involved. First, we use the gradient formula to observe that:

\[\begin{aligned} \nabla x_1 = \frac{\vu{e}_1}{h_1} \qquad \quad \nabla x_2 = \frac{\vu{e}_2}{h_2} \qquad \quad \nabla x_3 = \frac{\vu{e}_3}{h_3} \end{aligned}\]

Because \(\vu{e}_2 \cross \vu{e}_3 = \vu{e}_1\) in an orthogonal basis, these gradients can be used to express the vector whose divergence we want:

\[\begin{aligned} \nabla x_2 \cross \nabla x_3 = \frac{\vu{e}_2}{h_2} \cross \frac{\vu{e}_3}{h_3} = \frac{\vu{e}_1}{h_2 h_3} \end{aligned}\]

We then apply the divergence and expand the expression using a vector identity. In all cases, the curl of a gradient \(\nabla \cross \nabla f\) is zero, so:

\[\begin{aligned} \nabla \cdot \frac{\vu{e}_1}{h_2 h_3} = \nabla \cdot \big( \nabla x_2 \cross \nabla x_3 \big) = \nabla x_3 \cdot (\nabla \cross \nabla x_2) - \nabla x_2 \cdot (\nabla \cross \nabla x_3) = 0 \end{aligned}\]

After repeating this procedure for the other components of \(\vb{V}\), we get the desired general expression for the divergence.

The Laplacian \(\nabla^2 f\) is simply \(\nabla \cdot \nabla f\), so we can find the general formula by combining the two preceding results for the gradient and the divergence:

\[\begin{aligned} \boxed{ \nabla^2 f = \frac{1}{h_1 h_2 h_3} \bigg( \pdv{x_1} \Big(\! \frac{h_2 h_3}{h_1} \pdv{f}{x_1} \!\Big) + \pdv{x_2} \Big(\! \frac{h_1 h_3}{h_2} \pdv{f}{x_2} \!\Big) + \pdv{x_3} \Big(\! \frac{h_1 h_2}{h_3} \pdv{f}{x_3} \!\Big) \bigg) } \end{aligned}\]

The curl of a vector \(\vb{V}\) is as follows in a general orthogonal curvilinear system:

\[\begin{aligned} \boxed{ \begin{aligned} \nabla \times \vb{V} &= \frac{\vu{e}_1}{h_2 h_3} \Big( \pdv{(h_3 V_3)}{x_2} - \pdv{(h_2 V_2)}{x_3} \Big) \\ &+ \frac{\vu{e}_2}{h_1 h_3} \Big( \pdv{(h_1 V_1)}{x_3} - \pdv{(h_3 V_3)}{x_1} \Big) \\ &+ \frac{\vu{e}_3}{h_1 h_2} \Big( \pdv{(h_2 V_2)}{x_1} - \pdv{(h_1 V_1)}{x_2} \Big) \end{aligned} } \end{aligned}\]

The curl is found in a similar way as the divergence. We rewrite \(\vb{V}\) like so:

\[\begin{aligned} \vb{V} = \frac{\vu{e}_1}{h_1} (h_1 V_1) + \frac{\vu{e}_2}{h_2} (h_2 V_2) + \frac{\vu{e}_3}{h_3} (h_3 V_3) \end{aligned}\]

We expand the curl of its \(\vu{e}_1\)-component using the following vector identity:

\[\begin{gathered} \nabla \cross (\vb{U} \: f) = (\nabla \cross \vb{U}) \: f - \vb{U} \cross (\nabla f) \end{gathered}\]

Inserting the scalar \(f = h_1 V_1\) and the vector \(\vb{U} = \vu{e}_1 / h_1\), we arrive at:

\[\begin{gathered} \nabla \cross \Big( \frac{\vu{e}_1}{h_1} (h_1 V_1) \Big) = \Big( \nabla \cross \frac{\vu{e}_1}{h_1} \Big) (h_1 V_1) - \frac{\vu{e}_1}{h_1} \cross \Big( \nabla (h_1 V_1) \Big) \end{gathered}\]

Previously, when proving the divergence, we already showed that \(\vu{e}_1 / h_1 = \nabla x_1\). Because the curl of a gradient is zero, the first term disappears, leaving only the second, which contains a gradient that turns out to be:

\[\begin{aligned} \nabla (h_1 V_1) = \vu{e}_1 \frac{1}{h_1} \pdv{(h_1 V_1)}{x_1} + \vu{e}_2 \frac{1}{h_2} \pdv{(h_1 V_1)}{x_2} + \vu{e}_3 \frac{1}{h_3} \pdv{(h_1 V_1)}{x_3} \end{aligned}\]

Consequently, the curl of the first component of \(\vb{V}\) is as follows, using the fact that \(\vu{e}_1\), \(\vu{e}_2\) and \(\vu{e}_3\) are related to each other by cross products:

\[\begin{aligned} \nabla \cross \Big( \frac{\vu{e}_1}{h_1} (h_1 V_1) \Big) = - \frac{\vu{e}_1}{h_1} \cross \Big( \nabla (h_1 V_1) \Big) = - \frac{\vu{e}_3}{h_1 h_2} \pdv{(h_1 V_1)}{x_2} + \frac{\vu{e}_2}{h_1 h_3} \pdv{(h_1 V_1)}{x_3} \end{aligned}\]

If we go through the same process for the other components of \(\vb{V}\) and add up the results, we get the desired expression for the curl.

The point of the scale factors \(h_1\), \(h_2\) and \(h_3\), as can seen from their derivation, is to correct for “distortions” of the coordinates compared to the Cartesian system, such that the line element \(\dd{\ell}\) retains its length. This property extends to the surface \(\dd{S}\) and volume \(\dd{V}\).

When handling a differential volume in curvilinear coordinates, e.g. for a volume integral, the size of the box \(\dd{V}\) must be corrected by the scale factors:

\[\begin{aligned} \boxed{ \dd{V} = \dd{x}\dd{y}\dd{z} = h_1 h_2 h_3 \dd{x_1} \dd{x_2} \dd{x_3} } \end{aligned}\]

The same is true for the isosurfaces \(\dd{S_1}\), \(\dd{S_2}\) and \(\dd{S_3}\) where the coordinates \(x_1\), \(x_2\) and \(x_3\) are respectively kept constant:

\[\begin{aligned} \boxed{ \begin{aligned} \dd{S_1} &= h_2 h_3 \dd{x_2} \dd{x_3} \\ \dd{S_2} &= h_1 h_3 \dd{x_1} \dd{x_3} \\ \dd{S_3} &= h_1 h_2 \dd{x_1} \dd{x_2} \end{aligned} } \end{aligned}\]

Using the same logic, the normal vector element \(\dd{\vu{S}}\) of an arbitrary surface is given by:

\[\begin{aligned} \boxed{ \dd{\vu{S}} = \vu{e}_1 h_2 h_3 \dd{x_2} \dd{x_3} + \vu{e}_2 h_1 h_3 \dd{x_1} \dd{x_3} + \vu{e}_3 h_1 h_2 \dd{x_1} \dd{x_2} } \end{aligned}\]

Finally, the tangent vector element \(\dd{\vu{\ell}}\) takes the following form:

\[\begin{aligned} \boxed{ \dd{\vu{\ell}} = \vu{e}_1 h_1 \dd{x_1} + \vu{e}_2 h_2 \dd{x_2} + \vu{e}_3 h_3 \dd{x_3} } \end{aligned}\]

- M.L. Boas,
*Mathematical methods in the physical sciences*, 2nd edition, Wiley.

© Marcus R.A. Newman, a.k.a. "Prefetch".
Available under CC BY-SA 4.0.