choclo.prism.gravity_pot
choclo.prism.gravity_pot#
- choclo.prism.gravity_pot(easting, northing, upward, prism_west, prism_east, prism_south, prism_north, prism_bottom, prism_top, density)[source]#
Gravitational potential field due to a rectangular prism
Returns the gravitational potential field produced by a single rectangular prism on a single computation point.
- Parameters
easting (float) – Easting coordinate of the observation point. Must be in meters.
northing (float) – Northing coordinate of the observation point. Must be in meters.
upward (float) – Upward coordinate of the observation point. Must be in meters.
prism_west (float) – The West boundary of the prism. Must be in meters.
prism_east (float) – The East boundary of the prism. Must be in meters.
prism_south (float) – The South boundary of the prism. Must be in meters.
prism_north (float) – The North boundary of the prism. Must be in meters.
prism_bottom (float) – The bottom boundary of the prism. Must be in meters.
prism_top (float) – The top boundary of the prism. Must be in meters.
density (float) – Density of the rectangular prism in kilograms per cubic meter.
- Returns
potential (float) – Gravitational potential field generated by the rectangular prism on the observation point in \(\text{J}/\text{kg}\).
Notes
Returns the gravitational potential field \(V(\mathbf{p})\) 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\):
\[V(\mathbf{p}) = G \rho \,\, \Bigg\lvert \Bigg\lvert \Bigg\lvert k_V(x, y, z) \Bigg\rvert_{X_1}^{X_2} \Bigg\rvert_{Y_1}^{Y_2} \Bigg\rvert_{Z_1}^{Z_2}\]where
\[\begin{split}k_V(x, y, z) &= x y \, \operatorname{safe-ln} (z, r) + y z \, \operatorname{safe-ln} (x, r) + z x \, \operatorname{safe-ln} (y, r) \\ - \frac{x^2}{2} &\operatorname{safe-arctan} \left( yz, xr \right) - \frac{y^2}{2} \operatorname{safe-arctan} \left( zx, yr \right) - \frac{z^2}{2} \operatorname{safe-arctan} \left( xy, zr \right),\end{split}\]\[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}\) and \(\operatorname{safe-arctan}\) functions are 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}\]\[\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}\]These were defined after [Fukushima2020] and guarantee a good accuracy on any observation point.
References