Package 'gravmagsubs'

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

Help Index


Gravitational and magnetic attraction of 3-D vertical rectangular prisms

Description

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.

References

  • 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.


rectprismgrav

Description

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.

Usage

rectprismgrav(xstation, ystation, zstation, xmin, xmax, ymin, ymax,
                         zdeep, zshallow, deltarho, bycell=FALSE)

Arguments

xstation

vector of length M with the x-coordinates of each station, in km, positive east;

ystation

vector of length M with the y-coordinates of each station, in km, positive north;

zstation

vector of length M with the z-coordinates of each station, in km, positive up;

xmin

vector of length N with the minimum x-coordinates of each prism, in km, positive east;

xmax

vector of length N with the maximum x-coordinates of each prism, in km, positive east;

ymin

vector of length N with the minimum y-coordinates of each prism, in km, positive north;

ymax

vector of length N with the maximum y-coordinates of each prism, in km, positive north;

zdeep

vector of length N with the bottom z-coordinates of each prism, in km, positive up;

zshallow

vector of length N with the top z-coordinates of each prism, in km, positive up;

deltarho

vector of length N with the density contrast of each prism, in grams per cubic centimeter (g/cc);

bycell

returns M-by-N matrix with anomaly values generated by individual prisms (default FALSE).

Value

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.

References

See Also

rectprismmag, gravmagsubs.

Examples

#########################################################
## 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)

#########################################################

rectprismmag

Description

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.

Usage

rectprismmag(xstation, ystation, zstation, xmin, xmax, ymin, ymax,
             zdeep, zshallow, suscvolsi, nrmstr, nrmincl, nrmdecl,
             fieldtotal, fieldincl, fielddecl, bycell=FALSE)

Arguments

xstation

vector of length M with the x-coordinates of each station, in km, positive east;

ystation

vector of length M with the y-coordinates of each station, in km, positive north;

zstation

vector of length M with the z-coordinates of each station, in km, positive up;

xmin

vector of length N with the minimum x-coordinates of each prism, in km, positive east;

xmax

vector of length N with the maximum x-coordinates of each prism, in km, positive east;

ymin

vector of length N with the minimum y-coordinates of each prism, in km, positive north;

ymax

vector of length N with the maximum y-coordinates of each prism, in km, positive north;

zdeep

vector of length N with the bottom z-coordinates of each prism, in km, positive up;

zshallow

vector of length N with the top z-coordinates of each prism, in km, positive up;

suscvolsi

vector of length N with the volume susceptibility (unitless);

nrmstr

vector of length N with the remanent magnetization of each prism, in Amperes per meter (A/m);

nrmincl

vector of length N with the inclination angle of the remanent magnetization for each prism, in degrees, positive below horizontal;

nrmdecl

vector of length N with the declination angle of the remanent magnetization for each prism, in degrees, positive east of true north;

fieldtotal

vector of length N with the Earth's field intensity at each prism, in nanoteslas (nT);

fieldincl

vector of length N with the Earth's field inclination at each prism, in degrees, positive below horizontal;

fielddecl

vector of length N with the Earth's field declination at each prism, in degrees, positive east of true north;

bycell

returns M-by-N matrix with anomaly values generated by individual prisms (default FALSE).

Value

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.

References

See Also

rectprismgrav, gravmagsubs.

Examples

#########################################################
## 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)

#########################################################