Computes beam contributions to complex pressure fields using various beam weighting approaches
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=8), | intent(in) | :: | x | |||
real(kind=8), | intent(in) | :: | x1 | |||
real(kind=8), | intent(in) | :: | x2 |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | qleq0 |
Paraxial (Cerveny-style) beams in ray-centered coordinates
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(inout) | :: | U(NRz_per_range,Pos%NRr) | |||
complex(kind=8), | intent(in) | :: | eps | |||
real(kind=8), | intent(in) | :: | alpha | |||
integer, | intent(in) | :: | IBeamWindow2 | |||
real(kind=8), | intent(in) | :: | RadiusMax |
Paraxial (Cerveny-style) beams in Cartesian coordinates
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(inout) | :: | U(NRz_per_range,Pos%NRr) | |||
complex(kind=8), | intent(in) | :: | eps | |||
real(kind=8), | intent(in) | :: | alpha | |||
integer, | intent(in) | :: | IBeamWindow2 | |||
real(kind=8), | intent(in) | :: | RadiusMax |
Geometrically-spreading beams with a hat-shaped beam in ray-centered coordinates
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(inout) | :: | U(NRz_per_range,Pos%NRr) | |||
real(kind=8), | intent(in) | :: | alpha | |||
real(kind=8), | intent(in) | :: | dalpha |
Geometric, hat-shaped beams in Cartesisan coordinates
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(inout) | :: | U(NRz_per_range,Pos%NRr) | |||
real(kind=8), | intent(in) | :: | alpha | |||
real(kind=8), | intent(in) | :: | dalpha |
Geometric, Gaussian beams in Cartesian coordintes
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(inout) | :: | U(NRz_per_range,Pos%NRr) | |||
real(kind=8), | intent(in) | :: | alpha | |||
real(kind=8), | intent(in) | :: | dalpha |
Applies beam contribution to pressure field
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(inout) | :: | U |
Bucker's Simple Gaussian Beams in Cartesian coordinates
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex, | intent(inout) | :: | U(NRz_per_range,Pos%NRr) | |||
real(kind=8), | intent(in) | :: | alpha | |||
real(kind=8), | intent(in) | :: | dalpha | |||
real(kind=8), | intent(in) | :: | RadiusMax |
Checks for a branch cut crossing and updates KMAH accordingly
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex(kind=8), | intent(in) | :: | q1C | |||
complex(kind=8), | intent(in) | :: | q2C | |||
character(len=4), | intent(in) | :: | BeamType | |||
integer, | intent(inout) | :: | KMAH |
Scale the pressure field
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=8), | intent(in) | :: | Dalpha | |||
real(kind=8), | intent(in) | :: | c | |||
real, | intent(in) | :: | r(Nr) | |||
complex, | intent(inout) | :: | U(NRz,Nr) | |||
integer, | intent(in) | :: | NRz | |||
integer, | intent(in) | :: | Nr | |||
character(len=5), | intent(in) | :: | RunType | |||
real(kind=8), | intent(in) | :: | freq |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | isGaussian |
phase shifts at caustics
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | qleq0 |