geoana.em.tdem.magnetic_field_vertical_magnetic_dipole(t, xy, sigma=1.0, mu=1.25663706212e-06, moment=1.0)#

Magnetic field due to step off vertical dipole at the surface

t(n_t) numpy.ndarray

times (s)

xy(n_locs, 2) numpy.ndarray

surface field locations (m)

sigmafloat, optional


mufloat, optional

magnetic permeability

momentfloat, optional

moment of the dipole

h(n_t, n_locs, 3) numpy.ndarray

The magnetic field at the observation locations and times.


Matches the negative of equation 4.69a of Ward and Hohmann 1988, for the vertical component (due to the difference in coordinate sign conventionn used here).

\[h_z = -\frac{m}{4 \pi \rho^2} \left[ \left(\frac{9}{2 \theta^2 \rho^2} - 1\right)\mathrm{erf}(\theta \rho) - \frac{1}{\sqrt{\pi}}\left(\frac{9}{\theta \rho + 4 \theta \rho} \right) e^{-\theta^2\rho^2} \right]\]

Also matches equation 4.72 for the horizontal components, which is again negative due to our coordinate convention.

\[h_\rho = \frac{m \theta^2}{2\pi\rho} e^{-\theta^2\rho^2/2}\left[I_1\left(\frac{\theta^2\rho^2}{2}\right) - I_2\left(\frac{\theta^2\rho^2}{2}\right)\right]\]


Reproducing part of Figure 4.4 and 4.5 from Ward and Hohmann 1988

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from geoana.em.tdem import magnetic_field_vertical_magnetic_dipole

Calculate the field at the time given, and 100 m along the x-axis,

>>> times = np.logspace(-8, 0, 200)
>>> xy = np.array([[100, 0, 0]])
>>> h = magnetic_field_vertical_magnetic_dipole(times, xy, sigma=1E-2)

Match the vertical magnetic field plot

>>> plt.loglog(times*1E3, h[:,0, 2], c='C0', label='$h_z$')
>>> plt.loglog(times*1E3, -h[:,0, 2], '--', c='C0')
>>> plt.loglog(times*1E3, h[:,0, 0], c='C1', label='$h_x$')
>>> plt.loglog(times*1E3, -h[:,0, 0], '--', c='C1')
>>> plt.xlabel('time (ms)')
>>> plt.ylabel('h (A/m)')
>>> plt.legend()

(Source code, png, pdf)