Influence3D Module

3D beam influence calculations with complex pressure field contributions and spatial weighting


Uses

  • module~~influence3d~~UsesGraph module~influence3d Influence3D module~arrmod ArrMod module~influence3d->module~arrmod module~bellhopmod bellhopMod module~influence3d->module~bellhopmod module~cross_products cross_products module~influence3d->module~cross_products module~raynormals RayNormals module~influence3d->module~raynormals module~sourcereceiverpositions SourceReceiverPositions module~influence3d->module~sourcereceiverpositions module~sspmod sspmod module~influence3d->module~sspmod module~writeray WriteRay module~influence3d->module~writeray module~arrmod->module~bellhopmod module~mathconstants MathConstants module~arrmod->module~mathconstants module~bellhopmod->module~mathconstants module~fatalerror FatalError module~sourcereceiverpositions->module~fatalerror module~monotonicmod monotonicMod module~sourcereceiverpositions->module~monotonicmod module~sortmod SortMod module~sourcereceiverpositions->module~sortmod module~subtabulate SubTabulate module~sourcereceiverpositions->module~subtabulate module~sspmod->module~fatalerror module~sspmod->module~monotonicmod module~splinec splinec module~sspmod->module~splinec module~writeray->module~bellhopmod module~writeray->module~sspmod

Used by

  • module~~influence3d~~UsedByGraph module~influence3d Influence3D program~bellhop3d BELLHOP3D program~bellhop3d->module~influence3d

Variables

Type Visibility Attributes Name Initial
real(kind=8), public :: q_tilde(2)
real(kind=8), public :: q_hat(2)
real(kind=8), public :: dq_tilde(2)
real(kind=8), public :: dq_hat(2)
real(kind=8), public :: DetQint
complex(kind=8), public :: delay
complex(kind=8), public :: dtau

Subroutines

public subroutine Influence3DGeoHatRayCen(alpha, beta, Dalpha, Dbeta, P)

Geometrically-spreading beams with a hat-shaped beam in ray-centered coordinates

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=8), intent(in) :: alpha
real(kind=8), intent(in) :: beta
real(kind=8), intent(in) :: Dalpha
real(kind=8), intent(in) :: Dbeta
complex, intent(out) :: P(Pos%Ntheta,Pos%Nrz,Pos%NRr)

public subroutine Influence3DGeoHatCart(alpha, beta, Dalpha, Dbeta, P, x_rcvrMat, t_rcvr)

Geometrically-spreading beams with a hat-shaped beam

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=8), intent(in) :: alpha
real(kind=8), intent(in) :: beta
real(kind=8), intent(in) :: Dalpha
real(kind=8), intent(in) :: Dbeta
complex, intent(out) :: P(Pos%Ntheta,Pos%Nrz,Pos%NRr)
real(kind=8), intent(in) :: x_rcvrMat(2,Pos%Ntheta,Pos%NRr)
real(kind=8), intent(in) :: t_rcvr(2,Pos%Ntheta)

public subroutine Influence3DGeoGaussianRayCen(alpha, beta, Dalpha, Dbeta, P)

Geometrically-spreading beams with a hat-shaped beam in ray-centered coordinates

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=8), intent(in) :: alpha
real(kind=8), intent(in) :: beta
real(kind=8), intent(in) :: Dalpha
real(kind=8), intent(in) :: Dbeta
complex, intent(out) :: P(Pos%Ntheta,Pos%Nrz,Pos%NRr)

public subroutine Influence3DGeoGaussianCart(alpha, beta, Dalpha, Dbeta, P, x_rcvrMat, t_rcvr)

Geometrically-spreading beams with a Gaussian-shaped beam

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=8), intent(in) :: alpha
real(kind=8), intent(in) :: beta
real(kind=8), intent(in) :: Dalpha
real(kind=8), intent(in) :: Dbeta
complex, intent(out) :: P(Pos%Ntheta,Pos%Nrz,Pos%NRr)
real(kind=8), intent(in) :: x_rcvrMat(2,Pos%Ntheta,Pos%NRr)
real(kind=8), intent(in) :: t_rcvr(2,Pos%Ntheta)

public subroutine ScaleBeam(alpha, Dalpha, Dbeta)

Scaling for geometric beams

Arguments

Type IntentOptional Attributes Name
real(kind=8), intent(in) :: alpha
real(kind=8), intent(in) :: Dalpha
real(kind=8), intent(in) :: Dbeta

public subroutine ApplyContribution(alpha, beta, U)

Arguments

Type IntentOptional Attributes Name
real(kind=8), intent(in) :: alpha

ray take-off angle

real(kind=8), intent(in) :: beta

ray take-off angle

complex, intent(inout) :: U

public subroutine ScalePressure3D(Dalpha, Dbeta, c, epsilon, P, Ntheta, Nrz, Nr, RunType, freq)

Scale the pressure field

Arguments

Type IntentOptional Attributes Name
real(kind=8), intent(in) :: Dalpha
real(kind=8), intent(in) :: Dbeta
real(kind=8), intent(in) :: c
complex(kind=8), intent(in) :: epsilon(2)
complex, intent(inout) :: P(Ntheta,Nrz,Nr)
integer, intent(in) :: Ntheta
integer, intent(in) :: Nrz
integer, intent(in) :: Nr
character(len=5), intent(in) :: RunType
real(kind=8), intent(in) :: freq