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 |