I'm trying to understand the van der Pauw methods with my limited mathematical understanding. If any of my steps are wrong, please correct me.

As far as I understood from a textbook (Mahan, Gerald D. Applied Mathematics. Springer Science & Business Media, 2012), I can calculate the complex electric potential, $f(z)$, in the upper half plane (UHP) using

$f(z) = -\frac{\rho I}{\pi} \cdot \ln\left(\frac{z - x_1}{z - x_2}\right)$.

$\rho$: Specific resistivity of my sample
$I$: Applied current
$z$: A complex number representing coordinates
$x_1$: The position of current injection on the real axis
$x_2$: The position of current extraction on the real axis

This leads to a reasonable visualization of the electric potential in the UHP. I plotted it in Python. Green dots visualize my probes for current and voltage.Electric potential due to currents injected at two points In the next step, I want to map this potential onto the unit disk (UD). This should be achieved by applying the map

$w(z) = \frac{z - i}{z + i}$

with its reverse being

$z(w) = i\cdot \frac{1+w}{1-w}$.

I took the potential in the UHP for a number of points. Afterwards, I transformed these points to the UD and plotted the respective potential again. This leads to a very asymmetrical potential distribution as shown below. Mapping of a potential in the UHP to the UD My intuition tells me that the potential distribution should be symmetrical. What am I doing wrong?

I would appreciate your help a lot!

Some additional thoughts:

  • The potential $\lim_{z\to\infty} f(z) = 0$. Therefore, there will always be a mapped region showing zero potential. Why is this the case?
  • I assumed that I can use any coordinate system for the UHP and any transformation leading from UHP to UD. Maybe this is not correct?

EDIT: Here are parts of my Python code:

import numpy as np
import matplotlib.pyplot as plt

def F(z, x1, x2, curr=1, rho=1):
    """ Return the complex potential in the upper half plane """
    return - (rho * curr) / np.pi * np.log((z - x1) / (z - x2))

def uhp_to_ud(point):
    """ Map the given point on the upper half plane to the unit disk """
    return (point - 1j) / (point + 1j)

# Define the sample positions
x_A = -9.456
x_B = 1.784

# Define resolution and plotting limits
res = 1000
log_x_min = 1e-1
log_x_max = 15
log_y_min = 1e-3
log_y_max = 13

# Create a logarithmic grid in the UHP
x_pos = np.logspace(np.log10(log_x_min), np.log10(log_x_max), res / 2)
x_neg = np.sort(-np.logspace(np.log10(log_x_min),
                             np.log10(log_x_max), res / 2))
x = np.hstack((x_neg, [0], x_pos))
y = np.logspace(np.log10(log_y_min), np.log10(log_y_max), res)
y = np.hstack(([0], y))
xx, yy = np.meshgrid(x, y, sparse=False)

# Calculate the potential in the UHP
E_uhp = np.zeros((res + 1, res + 1), dtype=complex)
E_uhp = F(xx + 1j * yy, x_A, x_B)

# Transform the coordinates of the UHP to the UD
zz = uhp_to_ud(xx + 1j * yy)

# Plot the result in the UHP
plt.pcolormesh(xx, yy, np.real(E_uhp),
               norm=colors.Normalize(vmin=-2, vmax=2),
               cmap=plt.cm.seismic, zorder=-20)

# Plot the result in the UD
zz = uhp_to_ud(xx + 1j * yy)
plt.pcolormesh(np.real(zz), np.imag(zz), np.real(E_uhp),
               norm=colors.Normalize(vmin=-2, vmax=2),
               cmap=plt.cm.seismic, zorder=-20)
  • 1
    $\begingroup$ How did you build the disc? Show me the code. $\endgroup$ – Alex Trounev Feb 11 at 22:25
  • $\begingroup$ @AlexTrounev I added the code as an edit to the original post $\endgroup$ – Not_a_programmer Feb 12 at 8:14
  • $\begingroup$ Your picture with a disk is $Re(f(Z(x+iy)))$ with $f=-\frac{1}{\pi}\ln{\frac{z-x_1}{z-x_2} }$ and $Z=i\frac{1+w}{1-w}$ $\endgroup$ – Alex Trounev Feb 12 at 11:40
  • $\begingroup$ @AlexTrounev This is what I wanted to plot. Is this correct? Does this represent the real potential in a disk shaped sample? $\endgroup$ – Not_a_programmer Feb 12 at 13:59
  • $\begingroup$ It can be verified by solving the Laplace equation on the disk. $\endgroup$ – Alex Trounev Feb 12 at 16:28

I did some further research. It seems that there is no conformal map that can be used as a general solution. For each problem, a map has to be chosen carefully to lead to the correct result. However, for van der Pauw the specific transformation is not important. Instead, it is sufficient to know that a transformation exists.

For my example of two points of current injections, I could locate them symmetrically around $x=0$. Afterwards, the resulting potential should be equal to the real potential. This could be achieved by using a different Möbius transformation. The first point must be mapped to $-x$ in the UHP, the second one to $+x$, and the point opposite to the center to infinity. This would lead to zero potential between both points.

After realizing that there is an infinite amount of transformations from the UHP to the UD, I thought about using different kinds of transformations. In one textbook, Schwarz-Christoffel transformations were used. They can be used to map the UHP to any polygon. However, I realized that the same problem exists here. I can arbitrarily set which point will map to infinity. Hence, this point will stay at zero potential.

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.