arim.model.beamspread_2d_for_path#

arim.model.beamspread_2d_for_path(ray_geometry)[source]#

Compute the 2D beamspread for a path. This function supports rays which goes through several interfaces (with virtual source).

Only the (conventional) incoming angles are used, it is assumed in that the outgoing angles follow Snell laws.

The beamspread has the dimension of 1/sqrt(r).

In an unbounded medium:

beamspread := 1/sqrt(r)

Through one interface:

beamspread := 1/sqrt(r1 + r2/beta)

where:

beta := (c1 * cos(theta2)^2) / (c2 * cos(theta1)^2)
Parameters:

ray_geometry (arim.ray.RayGeometry)

Returns:

beamspread

Return type:

ndarray

References

Schmerr, Fundamentals of ultrasonic phased arrays (Springer), §2.5