---
title: "Curvilinear coordinates"
sort_title: "Curvilinear coordinates"
date: 2021-03-03
categories:
- Mathematics
- Physics
layout: "concept"
---
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](/know/concept/spherical-coordinates/),
[cylindrical polar coordinates](/know/concept/cylindrical-polar-coordinates/),
and [cylindrical parabolic coordinates](/know/concept/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)$$.
## Basis vectors
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}$$
## Gradient
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
$$\idv{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}$$
## Divergence
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.
## Laplacian
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}$$
## Curl
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.
## Differential elements
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}$$
## References
1. M.L. Boas,
*Mathematical methods in the physical sciences*, 2nd edition,
Wiley.