get_source_field

emg3d.fields.get_source_field(grid, src, freq, strength=0)[source]

Return the source field.

The source field is given in Equation 2 in [Muld06],

\[s \mu_0 \mathbf{J}_\mathrm{s} ,\]

where \(s = \mathrm{i} \omega\). Either finite length dipoles or infinitesimal small point dipoles can be defined, whereas the return source field corresponds to a normalized (1 Am) source distributed within the cell(s) it resides (can be changed with the strength-parameter).

The adjoint of the trilinear interpolation is used to distribute the point(s) to the grid edges, which corresponds to the discretization of a Dirac ([PlDM07]).

Parameters:
grid : TensorMesh

Model grid; a emg3d.meshes.TensorMesh instance.

src : list of floats

Source coordinates (m). There are two formats:

  • Finite length dipole: [x0, x1, y0, y1, z0, z1].
  • Point dipole: [x, y, z, azimuth, dip].
freq : float

Source frequency (Hz), used to compute the Laplace parameter s. Either positive or negative:

  • freq > 0: Frequency domain, hence \(s = -\mathrm{i}\omega = -2\mathrm{i}\pi f\) (complex);
  • freq < 0: Laplace domain, hence \(s = f\) (real).
strength : float or complex, optional

Source strength (A):

  • If 0, output is normalized to a source of 1 m length, and source strength of 1 A.
  • If != 0, output is returned for given source length and strength.

Default is 0.

Returns:
sfield : SourceField() instance

Source field, normalized to 1 A m.