File Exchange

image thumbnail

Complete Rayleigh Sommerfeld model (Version 2)

version 1.0.0 (3.2 KB) by Wendwesen Gebremichael
Calculates the near field diffraction pattern of circular apperture with complete Rayleigh Sommerfeld; refer G. D. Gillen et al AJP, 2004

11 Downloads

Updated 16 Apr 2020

View License

The following functions illustrates the on-axis calculated intensities of the complete Rayleigh–Sommerfeld model presented in: "Modeling and propagation of near-field diffraction patterns: A more complete approach" by Glen D. Gillen and Shekhar Guha; American Journal of Physics 72:9, 1195-1201. (https://doi.org/10.1119/1.1767102). This model presents a diffraction formula which has no limitations on the maximum size of either the aperture or observation region.
In the first part in relation to Fig. 2, a detector is placed at position (0,0,z), where z is on the order of 1000a, or 1000 aperture radii, and observe the central intensity as we reduce z. The code below calculates the intensity as a function of position along the z-axis with x_1 & y _1 = 0 for incident plane waves with a wavelength of 10 µm and a round aperture with a radius (a) of 100 µm in the aperture plane. The amplitude of the electric field of the incident light is assumed to be unity.
In parallel to Fig. 2.a, Fig. 4 is an image plot as a function of the distance from the aperture, z, and the radial distance from the z-axis, using the complete Rayleigh–Sommerfeld model and the same aperture and laser field as in Fig. 2.
Version 2 - presents Fresnel-Kirchoff and Fresnel Near Field approximations as a comparison

Cite As

Wendwesen Gebremichael (2021). Complete Rayleigh Sommerfeld model (Version 2) (https://www.mathworks.com/matlabcentral/fileexchange/75049-complete-rayleigh-sommerfeld-model-version-2), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (2)

Guanghao Chen

What's the purpose of these sums?
integral_2D = h*h/4*(f_xy(1,1)+f_xy(1,N)+f_xy(N,1)+f_xy(N,N)+4*sum(sum(f_xy))+...
2*(sum(f_xy(1,:)+f_xy(N,:))+sum(f_xy(:,1)+f_xy(:,N))-2*f_xy(1,1)...
-f_xy(1,N)-f_xy(N,1)));

Guanghao Chen

Thank you!

MATLAB Release Compatibility
Created with R2013a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!