choclo.prism.kernel_en

Contents

choclo.prism.kernel_en#

choclo.prism.kernel_en(easting, northing, upward, radius)[source]#

Kernel for easting-northing component of the tensor due to a prism

Evaluates the integration kernel for the easting-northing component of the tensor generated by a prism [Nagy2000] on a single vertex of the prism. The coordinates that must be passed are shifted coordinates: the coordinates of the vertex from a Cartesian coordinate system whose origin is located in the observation point.

This function makes use of a safe natural logarithmic function [Fukushima2020] that guarantee a good accuracy on every observation point.

Parameters:
easting, northing, upwardfloat

Shifted easting, northing and upward coordinates of the vertex of the prism. Must be in meters.

radiusfloat

Square root of the sum of the squares of the easting, northing and upward shifted coordinates.

Returns:
kernelfloat

Value of the kernel function for the easting-northing component of the tensor due to a rectangular prism evaluated on a single vertex. Return np.nan if radius is zero.

Notes

Computes the following numerical kernel on the passed shifted coordinates:

\[k_{xy}(x, y, z) = \operatorname{safe\_ln} \left(z, r \right)\]

where

\[\begin{split}\operatorname{safe\_ln}(x, r) = \begin{cases} 0 & r = 0 \\ \ln(x + r) & x \ge 0 \\ \ln((y^2 + z^2) / (r - x)) & x < 0, r \ne |x| \\ -\ln(-2 x) & x < 0, r = |x| \end{cases}\end{split}\]

References