Skip to main content
Physics LibreTexts

4.8: Curl

  • Page ID
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    Curl is an operation, which when applied to a vector field, quantifies the circulation of that field. The concept of circulation has several applications in electromagnetics. Two of these applications correspond to directly to Maxwell’s Equations:

    • The circulation of an electric field is proportional to the rate of change of the magnetic field. This is a statement of the Maxwell-Faraday Equation (Section 8.8), which includes as a special case Kirchoff’s Voltage Law for electrostatics (Section 5.11).
    • The circulation of a magnetic field is proportional to the source current and the rate of change of the electric field. This is a statement of Ampere’s Law (Sections 7.9 and 8.9)

    Thus, we are motivated to formally define circulation and then to figure out how to most conveniently apply the concept in mathematical analysis. The result is the curl operator. So, we begin with the concept of circulation:

    “Circulation” is the integral of a vector field over a closed path.

    Specifically, the circulation of the vector field \({\bf A}({\bf r})\) over the closed path \({\mathcal C}\) is

    \[\oint_{\mathcal C} {\bf A}\cdot d{\bf l} \nonumber \]

    The circulation of a uniform vector field is zero for any valid path. For example, the circulation of \({\bf A}=\hat{\bf x}A_0\) is zero because non-zero contributions at each point on \({\mathcal C}\) cancel out when summed over the closed path. On the other hand, the circulation of \({\bf A}=\hat{\bf \phi}A_0\) over a circular path of constant \(\rho\) and \(z\) is a non-zero constant, since the non-zero contributions to the integral at each point on the curve are equal and accumulate when summed over the path.

    Example \(\PageIndex{1}\): Circulation of the magnetic field intensity surrounding a line current

    Consider a current \(I\) (units of A) flowing along the \(z\) axis in the \(+z\) direction, as shown in Figure \(\PageIndex{1}\).

    m0048_fBiotSavartExample.png Figure \(\PageIndex{1}\): Magnetic field intensity due to a current flowing along the \(z\) axis. (CC BY SA 4.0; K. Klikkeri).

    It is known that this current gives rise to a magnetic field intensity \({\bf H} = \hat{\bf \phi}H_0/\rho\), where \(H_0\) is a constant having units of A since the units of \({\bf H}\) are A/m. (Feel free to consult Section 7.5 for the details; however, no additional information is needed to follow the example being presented here.) The circulation of \({\bf H}\) along any circular path of radius \(a\) in a plane of constant \(z\) is therefore

    \[\oint_{\mathcal C} {\bf H}\cdot d{\bf l} = \int_{\phi=0}^{2\pi} \left( \hat{\bf \phi}\frac{H_0}{a} \right) \cdot \left( \hat{\bf \phi}~a~d\phi \right) = 2\pi H_0 \nonumber \]

    Note that the circulation of \({\bf H}\) in this case has two remarkable features: (1) It is independent of the radius of the path of integration; and (2) it has units of A, which suggests a current. In fact, it turns out that the circulation of \({\bf H}\) in this case is equal to the enclosed source current \(I\). Furthermore, it turns out that the circulation of \({\bf H}\) along any path enclosing the source current is equal to the source current! These findings are consequences of Ampere’s Law, as noted above.

    Curl is, in part, an answer to the question of what the circulation at a point in space is. In other words, what is the circulation as \({\mathcal C}\) shrinks to it’s smallest possible size. The answer in one sense is zero, since the arclength of \({\mathcal C}\) is zero in this limit – there is nothing to integrate over. However, if we ask instead what is the circulation per unit area in the limit, then the result should be the non-trivial value of interest. To express this mathematically, we constrain \({\mathcal C}\) to lie in a plane, and define \({\mathcal S}\) to be the open surface bounded by \({\mathcal C}\) in this case. Then, we define the scalar part of the curl of \({\bf A}\) to be:

    \[\lim_{\Delta s \to 0} \frac{\oint_{\mathcal C} {\bf A}\cdot d{\bf l}}{\Delta s} \nonumber \]

    where \(\Delta s\) is the area of \({\mathcal S}\), and (important!) we require \({\mathcal C}\) and \({\mathcal S}\) to lie in the plane that maximizes the above result.

    Because \({\mathcal S}\) and it’s boundary \({\mathcal C}\) lie in a plane, it is possible to assign a direction to the result. The chosen direction is the normal \(\hat{\bf n}\) to the plane in which \({\mathcal C}\) and \({\mathcal S}\) lie. Because there are two normals at each point on a plane, we specify the one that satisfies the right hand rule. This rule, applied to the curl, states that the correct normal is the one which points through the plane in the same direction as the fingers of the right hand when the thumb of your right hand is aligned along \({\mathcal C}\) in the direction of integration. Why is this the correct orientation of \(\hat{\bf n}\)? See Section 4.9 for the answer to that question. For the purposes of this section, it suffices to consider this to be simply an arbitrary sign convention.

    Now with the normal vector \(\hat{\bf n}\) unambiguously defined, we can now formally define the curl operation as follows:

    \[\mbox{curl}~{\bf A} \triangleq \lim_{\Delta s \to 0} \frac{\hat{\bf n}\oint_{\mathcal C} {\bf A}\cdot d{\bf l}}{\Delta s} \label{m0048_eCurlDef} \]

    where, once again, \(\Delta s\) is the area of \({\mathcal S}\), and we select \({\mathcal S}\) to lie in the plane that maximizes the magnitude of the above result. Summarizing:

    The curl operator quantifies the circulation of a vector field at a point.

    The magnitude of the curl of a vector field is the circulation, per unit area, at a point and such that the closed path of integration shrinks to enclose zero area while being constrained to lie in the plane that maximizes the magnitude of the result.

    The direction of the curl is determined by the right-hand rule applied to the associated path of integration.

    Curl is a very important operator in electromagnetic analysis. However, the definition (Equation \ref{m0048_eCurlDef}) is usually quite difficult to apply. Remarkably, however, it turns out that the curl operation can be defined in terms of the \(\nabla\) operator; that is, the same \(\nabla\) operator associated with the gradient, divergence, and Laplacian operators. Here is that definition: \[\mbox{curl}~{\bf A} \triangleq \nabla \times {\bf A} \nonumber \] For example: In Cartesian coordinates,

    \[\nabla \triangleq \hat{\bf x}\frac{\partial}{\partial x} + \hat{\bf y}\frac{\partial}{\partial y} + \hat{\bf z}\frac{\partial}{\partial z} \nonumber \]


    \[{\bf A} = \hat{\bf x}A_x + \hat{\bf y}A_y + \hat{\bf z}A_z \nonumber \]

    so curl can be calculated as follows:

    \[\nabla\times{\bf A} = \begin{vmatrix} \hat{\bf x} & \hat{\bf y} & \hat{\bf z} \\ \frac{\partial}{\partial x} & \frac{\partial}{\partial y} & \frac{\partial}{\partial z} \\ A_x & A_y & A_z \end{vmatrix} \nonumber \]

    or, evaluating the determinant:

    \[\begin{split} \nabla \times {\bf A} &= \hat{\bf x}\left( \frac{\partial A_z}{\partial y} - \frac{\partial A_y}{\partial z} \right) \\ &~~ +\hat{\bf y}\left( \frac{\partial A_x}{\partial z} - \frac{\partial A_z}{\partial x} \right) \\ &~~ +\hat{\bf z}\left( \frac{\partial A_y}{\partial x} - \frac{\partial A_x}{\partial y} \right) \end{split} \nonumber \]

    Expressions for curl in each of the three major coordinate systems is provided in Appendix B2.

    It is useful to know is that curl, like \(\nabla\) itself, is a linear operator; that is, for any constant scalars \(a\) and \(b\) and vector fields \({\bf A}\) and \({\bf B}\):

    \[\nabla \times \left( a{\bf A} + b{\bf B} \right) = a \nabla \times {\bf A} + b \nabla \times {\bf B} \nonumber \]

    This page titled 4.8: Curl is shared under a CC BY-SA 4.0 license and was authored, remixed, and/or curated by Steven W. Ellingson (Virginia Tech Libraries' Open Education Initiative) .