Skip to main content
Mathematics LibreTexts

7.4: Complex Potentials

  • Page ID
    6512
  • \( \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}}\)

    There are different ways to do this. We’ll start by seeing that every complex analytic function leads to an irrotational, incompressible flow. Then we’ll go backwards and see that all such flows lead to an analytic function. We will learn to call the analytic function the complex potential of the flow.

    Annoyingly, we are going to have to switch notation. Because \(u\) and \(v\) are already taken by the vector field \(F\), we will call our complex potential

    \[\Phi = \phi + i \psi. \nonumber \]

    Analytic functions give us incompressible, irrotational flows

    Let \(\Phi (z)\) be an analytic function on a region \(A\). For \(z = x + iy\) we write

    \[\Phi (z) = \phi (x, y) + i\psi (x, y). \nonumber \]

    From this we can define a vector field

    \[F = \nabla \phi = (\phi _x, \phi _y) =: (u, v), \nonumber \]

    here we mean that \(u\) and \(v\) are defined by \(\phi_x\) and \(\phi_y\).

    From our work on analytic and harmonic functions we can make a list of properties of these functions.

    1. \(\phi\) and \(\psi\) are both harmonic.
    2. The level curves of \(\phi\) and \(\psi\) are orthogonal.
    3. \(\Phi ' = \phi_x - i \phi_y.\)
    4. \(F\) is divergence and curl free (proof just below). That is, the analytic function \(\Phi\) has given us an incompressible, irrotational vector field \(F\).

    It is standard terminology to call \(\phi\) a potential function for the vector field \(F\). We will also call \(\Phi\) a complex potential function for \(F\). The function \(\psi\) will be called the stream function of \(F\) (the name will be explained soon). The function \(\Phi '\) will be called the complex velocity.

    \(Proof\). (\(F\) is curl and divergence free.) This is an easy consequence of the definition. We find

    \(\text{curl } F = v_x - u_y = \phi_{yx} - \phi_{xy} = 0\)

    \(\text{div } F = u_x + v_y = \phi_{xx} + \phi_{yy} = 0\) (since \(\phi\) is harmonic).

    We’ll postpone examples until after deriving the complex potential from the flow.

    Incompressible, irrotational flows always have complex potential functions

    For technical reasons we need to add the assumption that \(A\) is simply connected. This is not usually a problem because we often work locally in a disk around a point \((x_0, y_0)\).

    Theorem \(\PageIndex{1}\)

    Assume \(F = (u, v)\) is an incompressible, irrotational field on a simply connected region \(A\). Then there is an analytic function \(\Phi\) which is a complex potential function for \(F\).

    Proof

    We have done all the heavy lifting for this in previous topics. The key is to use the property \(\Phi ' = u - iv\) to guess \(\Phi '\). Working carefully we define

    \[g(z) = u - iv \nonumber \]

    Step 1: Show that \(g\) is analytic. Keeping the signs straight, the Cauchy Riemann equations are

    \[u_x = (-v)_y \text{ and } u_y = -(-v)_x = v_x. \nonumber \]

    But, these are exactly the equations in Equation 7.4.8. Thus \(g(z)\) is analytic.

    Step 2: Since \(A\) is simply connected, Cauchy’s theorem says that \(g(z)\) has an antiderivative on \(A\). We call the antiderivative \(\Phi (z)\).

    Step 3: Show that \(\Phi (z)\) is a complex potential function for \(F\). This means we have to show that if we write \(\Phi = \phi + i\psi\), then \(F = \nabla \phi\). To do this we just unwind the definitions.

    \[\begin{array} {lcr} {\Phi ' = \phi_x - i\phi_y} &\ \ \ \ & {\text{(standard formula for } \Phi ')} \\ {\Phi ' = g = u - iv} &\ \ \ \ & {(\text{definition of } \Phi \text{ and } g)} \end{array} \nonumber \]

    Comparing these equations we get

    \[\phi_x = u,\ \ \ \ \phi_y = v. \nonumber \]

    But this says precisely that \(\nabla \phi = F\). QED

    Example \(\PageIndex{1}\): Source Fields

    The vector field

    \[F = a \left(\dfrac{x}{r^2}, \dfrac{y}{r^2} \right) \nonumber \]

    models a source pushing out water or the 2D electric field of a positive charge at the origin. (If you prefer a 3D model, it is the field of an infinite wire with uniform charge density along the \(z\)-axis.)

    Show that \(F\) is curl-free and divergence-free and find its complex potential.

    006 - (Example 7.5.1).svg
    Figure \(\PageIndex{1}\): Velocity field of a source field. (CC BY-NC; Ümit Kaya)

    We could compute directly that this is curl-free and divergence-free away from 0. An alternative method is to look for a complex potential \(\Phi\). If we can find one then this will show \(F\) is curl and divergence free and find \(\phi\) and \(\psi\) all at once. If there is no such \(\Phi\) then we’ll know that \(F\) is not both curl and divergence free.

    One standard method is to use the formula for \(\Phi '\):

    \[\Phi ' = u - iv = a \dfrac{(x - iy)}{r^2} = a \dfrac{\overline{z}}{(\overline{z} z)} = \dfrac{a}{z}. \nonumber \]

    This is analytic and we have

    \[\Phi (z) = a \log (z). \nonumber \]


    This page titled 7.4: Complex Potentials is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by Jeremy Orloff (MIT OpenCourseWare) via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.