geopulse.efield.planewave
Plane-wave geoelectric field: E(ω) = Z(ω) · B(ω) / μ₀.
Delegates to Impedance.apply() so the caller does not know or care
whether Z is scalar (1-D), tensor (2-D), or kernel (3-D). The IFFT back
to the time domain is the caller’s responsibility.
Functions
|
Compute frequency-domain geoelectric field via the plane-wave relation. |
- geopulse.efield.planewave.compute_efield_planewave(freqs_Hz, Bx_f, By_f, impedance)[source]
Compute frequency-domain geoelectric field via the plane-wave relation.
For a 1-D scalar impedance this reduces to:
E_x(ω) = Z(ω) / μ₀ · B_y(ω) E_y(ω) = -Z(ω) / μ₀ · B_x(ω)
- Parameters:
freqs_Hz (
ndarray) – Frequency array in Hz. Shape(n_freqs,). Accepted for interface symmetry; the impedance already carries its own frequency grid.Bx_f (
ndarray) – FFT of the horizontal B-field components in Tesla. Shape(n_freqs,).By_f (
ndarray) – FFT of the horizontal B-field components in Tesla. Shape(n_freqs,).impedance (
Impedance) – AnyImpedancesubclass; the type is not inspected here.
- Return type:
- Returns:
Ex_f, Ey_f (numpy.ndarray) – FFT of the horizontal E-field components in V/m. Shape matches the impedance subclass semantics (
(n_freqs,)for scalar).
Notes
Standard magnetotelluric plane-wave relation; see Boteler (2014).