Title: | Gravitational and Magnetic Attraction of 3-D Vertical Rectangular Prisms |
---|---|
Description: | Computes the gravitational and magnetic anomalies generated by 3-D vertical rectangular prisms at specific observation points using the method of Plouff (1976) <doi:10.1190/1.1440645>. |
Authors: | C. Cronkite-Ratcliff [aut, cre] , G. Phelps [aut] , D. Scheirer [aut] |
Maintainer: | C. Cronkite-Ratcliff <[email protected]> |
License: | CC0 |
Version: | 1.0.1 |
Built: | 2024-11-06 06:36:18 UTC |
Source: | CRAN |
The package gravmagsubs
provides tools for computing the gravitational and magnetic anomalies generated by 3-D vertical rectangular prisms at specific observation points. The package consists of two functions:
rectprismgrav
: Computes the gravitational attraction of 3-D right rectangular prisms.
rectprismmag
: Computes the magnetic effect of 3-D right rectangular prisms.
Each function can compute the total anomaly of a series of N
prisms at M
observation points.
Each function also has a logical flag bycell
(default FALSE
). If bycell=TRUE
, the function returns the contribution from each individual prism.
Plouff, D., 1976, Gravity and magnetic fields of polygonal prisms and application to magnetic terrain corrections, Geophysics, v. 41, pp. 727–741, doi:10.1190/1.1440645.
Calculates the graviational attraction of 3-D rectangular prisms.
Calculates anomalies of N
prisms at M
observation stations.
Stations cannot be positioned on the edge of a prism.
Coordinates of stations and prisms are assumed to share a common coordinate system.
rectprismgrav(xstation, ystation, zstation, xmin, xmax, ymin, ymax, zdeep, zshallow, deltarho, bycell=FALSE)
rectprismgrav(xstation, ystation, zstation, xmin, xmax, ymin, ymax, zdeep, zshallow, deltarho, bycell=FALSE)
xstation |
vector of length |
ystation |
vector of length |
zstation |
vector of length |
xmin |
vector of length |
xmax |
vector of length |
ymin |
vector of length |
ymax |
vector of length |
zdeep |
vector of length |
zshallow |
vector of length |
deltarho |
vector of length |
bycell |
returns |
Returns a matrix of length M
rows.
If bycell=FALSE
, there will be M
rows and 1 column, and the
element in the i
-th row represents the total gravity anomaly generated
by all N
prisms as observed at the i
-th station.
If bycell=TRUE
, the matrix will have M
rows and N
columns,
with the element [i,j]
representing the anomaly value generated by the
j
-th prism as observed at the i
-th station.
Plouff, D., 1975, Derivation of formulas and FORTRAN programs to compute gravity anomalies of prisms, National Technical Information Service No. PB-243-526, U.S. Department of Commerce, Springfield, VA.
https://ntrl.ntis.gov/NTRL/dashboard/searchResults/titleDetail/PB243526.xhtml.
######################################################### ## gravity anomaly of a single prism at a single point ## # location of the point where the gravity anomaly will be calculated gravstation <- data.frame(x=0, y=0, z=0) # the rectangular prism is defined by its six edges prism1 <- data.frame(xmin=-5, xmax=5, ymin=-5, ymax=5, zmin=-10, zmax=-5) # density contrast in g/cc drho <- 0.3 gravanom <- rectprismgrav(gravstation$x, gravstation$y, gravstation$z, prism1$xmin, prism1$xmax, prism1$ymin, prism1$ymax, prism1$zmin, prism1$zmax, drho) #########################################################
######################################################### ## gravity anomaly of a single prism at a single point ## # location of the point where the gravity anomaly will be calculated gravstation <- data.frame(x=0, y=0, z=0) # the rectangular prism is defined by its six edges prism1 <- data.frame(xmin=-5, xmax=5, ymin=-5, ymax=5, zmin=-10, zmax=-5) # density contrast in g/cc drho <- 0.3 gravanom <- rectprismgrav(gravstation$x, gravstation$y, gravstation$z, prism1$xmin, prism1$xmax, prism1$ymin, prism1$ymax, prism1$zmin, prism1$zmax, drho) #########################################################
Calculates the magnetic effect of 3-D rectangular prisms.
Calculates anomalies of N
prisms at M
observation stations.
Stations cannot be positioned inside a prism, or on its edges or faces. Stations cannot be positioned directly below the corners of a prism.
Coordinates of stations and prisms are assumed to share a common coordinate system.
Returns total field magnetic anomaly in nanoteslas (nT).
N.B. Demagnetization effects are ignored in this subroutine.
rectprismmag(xstation, ystation, zstation, xmin, xmax, ymin, ymax, zdeep, zshallow, suscvolsi, nrmstr, nrmincl, nrmdecl, fieldtotal, fieldincl, fielddecl, bycell=FALSE)
rectprismmag(xstation, ystation, zstation, xmin, xmax, ymin, ymax, zdeep, zshallow, suscvolsi, nrmstr, nrmincl, nrmdecl, fieldtotal, fieldincl, fielddecl, bycell=FALSE)
xstation |
vector of length |
ystation |
vector of length |
zstation |
vector of length |
xmin |
vector of length |
xmax |
vector of length |
ymin |
vector of length |
ymax |
vector of length |
zdeep |
vector of length |
zshallow |
vector of length |
suscvolsi |
vector of length |
nrmstr |
vector of length |
nrmincl |
vector of length |
nrmdecl |
vector of length |
fieldtotal |
vector of length |
fieldincl |
vector of length |
fielddecl |
vector of length |
bycell |
returns |
Returns a matrix of length M
rows.
If bycell=FALSE
, there will be M
rows and 1 column, and the
element in the i
-th row represents the total magnetic anomaly generated
by all N
prisms as observed at the i
-th station.
If bycell=TRUE
, the matrix will have M
rows and N
columns,
with the element [i,j]
representing the anomaly value generated by the
j
-th prism as observed at the i
-th station.
Plouff, D., 1975, Derivation of formulas and FORTRAN programs to compute magnetic anomalies of prisms, National Technical Information Service No. PB-243-525, U.S. Department of Commerce, Springfield, VA.
https://ntrl.ntis.gov/NTRL/dashboard/searchResults/titleDetail/PB243525.xhtml.
######################################################### ## magnetic anomaly of single prism at a single point ## # location of the point where the magnetic anomaly will be calculated magstation <- data.frame(x=0, y=0, z=0) # the rectangular prism is defined by its six edges prism1 <- data.frame(xmin=-5, xmax=5, ymin=-5, ymax=5, zmin=-10, zmax=-5) susc <- 5 # susceptiblity (SI) mstr <- 0 # remanent magnetization (A/m) mincl <- 0 # remanent inclination (deg) mdecl <- 0 # remanent declination (deg) ftotal <- 48800 # Earth's field intensity (nT) fincl <- 60 # field inclination (deg) fdecl <- 12 # field declination (deg) maganom <- rectprismmag(magstation$x, magstation$y, magstation$z, prism1$xmin, prism1$xmax, prism1$ymin, prism1$ymax, prism1$zmin, prism1$zmax, susc, mstr, mincl, mdecl, ftotal, fincl, fdecl) #########################################################
######################################################### ## magnetic anomaly of single prism at a single point ## # location of the point where the magnetic anomaly will be calculated magstation <- data.frame(x=0, y=0, z=0) # the rectangular prism is defined by its six edges prism1 <- data.frame(xmin=-5, xmax=5, ymin=-5, ymax=5, zmin=-10, zmax=-5) susc <- 5 # susceptiblity (SI) mstr <- 0 # remanent magnetization (A/m) mincl <- 0 # remanent inclination (deg) mdecl <- 0 # remanent declination (deg) ftotal <- 48800 # Earth's field intensity (nT) fincl <- 60 # field inclination (deg) fdecl <- 12 # field declination (deg) maganom <- rectprismmag(magstation$x, magstation$y, magstation$z, prism1$xmin, prism1$xmax, prism1$ymin, prism1$ymax, prism1$zmin, prism1$zmax, susc, mstr, mincl, mdecl, ftotal, fincl, fdecl) #########################################################