choclo.prism.gravity_eu

Contents

choclo.prism.gravity_eu#

choclo.prism.gravity_eu(easting, northing, upward, prism_west, prism_east, prism_south, prism_north, prism_bottom, prism_top, density)[source]#

Easting-upward component of the gravitational tensor due to a prism

Returns the easting-upward component of the gravitational tensor produced by a single rectangular prism on a single computation point.

Parameters:
easting, northing, upwardfloat

Easting, northing and upward coordinates of the observation point. Must be in meters.

prism_west, prism_east, prism_south, prism_north, prism_bottom, prism_topfloat

The boundaries of the prism. Must be in meters.

densityfloat

Density of the rectangular prism in kilograms per cubic meter.

Returns:
g_eufloat

Easting-upward component of the gravitational tensor generated by the rectangular prism on the observation point in \(\text{m}/\text{s}^2\). Return numpy.nan if the observation point falls in a singular point: prism vertices or prism edges parallel to the northing direction.

Notes

Returns the easting-upward component \(g_{xz}(\mathbf{p})\) of the gravitational tensor \(\mathbf{T}\) on the observation point \(\mathbf{p} = (x_p, y_p, z_p)\) generated by a single rectangular prism defined by its boundaries \(x_1, x_2, y_1, y_2, z_1, z_2\) and with a density \(\rho\):

\[g_{xz}(\mathbf{p}) = G \rho \,\, \Bigg\lvert \Bigg\lvert \Bigg\lvert k_{xz}(x, y, z) \Bigg\rvert_{X_1}^{X_2} \Bigg\rvert_{Y_1}^{Y_2} \Bigg\rvert_{Z_1}^{Z_2}\]

where

\[k_{xz}(x, y, z) = \operatorname{safe-ln} \left( y, r \right),\]
\[r = \sqrt{x^2 + y^2 + z^2},\]

and

\[\begin{split}X_1 = x_1 - x_p \\ X_2 = x_2 - x_p \\ Y_1 = y_1 - y_p \\ Y_2 = y_2 - y_p \\ Z_1 = z_1 - z_p \\ Z_2 = z_2 - z_p\end{split}\]

are the shifted coordinates of the prism boundaries and \(G\) is the Universal Gravitational Constant.

The \(\operatorname{safe-ln}\) function is defined as follows:

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

It was defined after [Fukushima2020] and guarantee a good accuracy on any observation point.

References