choclo.prism.kernel_u#
- choclo.prism.kernel_u(easting, northing, upward, radius)[source]#
Kernel for upward component of the gradient due to a rectangular prism
Evaluates the integration kernel for the upward component of the gradient of the potential field 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 and a safe arctangent function [Fukushima2020] that guarantee a good accuracy on every observation point.
- Parameters:
- Returns:
- kernel
float
Value of the numerical kernel function for the upward component of the gradient of the potential field due to a rectangular prism evaluated on a single vertex.
- kernel
Notes
Computes the following numerical kernel on the passed shifted coordinates:
\[k_z(x, y, z) = - \left[ x \, \operatorname{safe\_ln} (y, r) + y \, \operatorname{safe\_ln} (x, r) - z \, \operatorname{safe-arctan} \left( xy, zr \right) \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}\]and
\[\begin{split}\operatorname{safe-arctan} \left( y, x \right) = \begin{cases} \text{arctan}\left( \frac{y}{x} \right) & x \ne 0 \\ \frac{\pi}{2} & x = 0 \quad \text{and} \quad y > 0 \\ -\frac{\pi}{2} & x = 0 \quad \text{and} \quad y < 0 \\ 0 & x = 0 \quad \text{and} \quad y = 0 \\ \end{cases}\end{split}\]Important
In the first equation a minus sign has been added to the one obtained by [Nagy2000] in order to compute the numerical kernel for the upward component instead for the downward one.
References