dipole_k

empymod.model.dipole_k(src, rec, depth, res, freq, wavenumber, ab=11, aniso=None, epermH=None, epermV=None, mpermH=None, mpermV=None, **kwargs)[source]

Return electromagnetic wavenumber-domain field.

Calculate the electromagnetic wavenumber-domain field due to infinitesimal small electric or magnetic dipole source(s), measured by infinitesimal small electric or magnetic dipole receiver(s); sources and receivers are directed along the principal directions x, y, or z, and all sources are at the same depth, as well as all receivers are at the same depth.

Parameters
src, reclist of floats or arrays

Source and receiver coordinates [x, y, z] (m):

  • The x- and y-coordinates can be arrays, z is a single value.

  • The x- and y-coordinates must have the same dimension.

  • The x- and y-coordinates only matter for the angle-dependent factor.

Sources or receivers placed on a layer interface are considered in the upper layer.

depthlist

Absolute layer interfaces z (m); #depth = #res - 1 (excluding +/- infinity).

resarray_like

Horizontal resistivities rho_h (Ohm.m); #res = #depth + 1.

freqarray_like

Frequencies f (Hz), used to calculate etaH/V and zetaH/V.

wavenumberarray

Wavenumbers lambda (1/m)

abint, optional

Source-receiver configuration, defaults to 11.

electric source

magnetic source

x

y

z

x

y

z

electric

receiver

x

11

12

13

14

15

16

y

21

22

23

24

25

26

z

31

32

33

34

35

36

magnetic

receiver

x

41

42

43

44

45

46

y

51

52

53

54

55

56

z

61

62

63

64

65

66

anisoarray_like, optional

Anisotropies lambda = sqrt(rho_v/rho_h) (-); #aniso = #res. Defaults to ones.

epermH, epermVarray_like, optional

Relative horizontal/vertical electric permittivities epsilon_h/epsilon_v (-); #epermH = #epermV = #res. If epermH is provided but not epermV, isotropic behaviour is assumed. Default is ones.

mpermH, mpermVarray_like, optional

Relative horizontal/vertical magnetic permeabilities mu_h/mu_v (-); #mpermH = #mpermV = #res. If mpermH is provided but not mpermV, isotropic behaviour is assumed. Default is ones.

verb{0, 1, 2, 3, 4}, optional

Level of verbosity, default is 2:

  • 0: Print nothing.

  • 1: Print warnings.

  • 2: Print additional runtime and kernel calls

  • 3: Print additional start/stop, condensed parameter information.

  • 4: Print additional full parameter information

Returns
PJ0, PJ1array

Wavenumber-domain EM responses:

  • PJ0: Wavenumber-domain solution for the kernel with a Bessel function of the first kind of order zero.

  • PJ1: Wavenumber-domain solution for the kernel with a Bessel function of the first kind of order one.

See also

dipole

EM fields due to infinitesimal small EM dipoles.

bipole

EM fields due to arbitrary rotated, finite length EM dipoles.

loop

EM fields due to a magnetic source loop.

Examples

In [1]: import empymod
   ...: import numpy as np
   ...: src = [0, 0, 100]
   ...: rec = [5000, 0, 200]
   ...: depth = [0, 300, 1000, 1050]
   ...: res = [1e20, .3, 1, 50, 1]
   ...: freq = 1
   ...: wavenr = np.logspace(-3.7, -3.6, 10)
   ...: PJ0, PJ1 = empymod.dipole_k(
   ...:         src, rec, depth, res, freq, wavenr, verb=0)
   ...: PJ0[0]
   ...: 
Out[1]: (-2.5768974970445326e-08-2.0489943182087426e-09j)

In [2]: PJ1[0]
Out[2]: (1.9050482781619523e-10-6.842938067042929e-10j)