# analytical solution of Fraunhofer diffraction farfield diffraction from hole?

7 views (last 30 days)
Sean on 12 May 2023
Commented: Shaik on 14 May 2023
hi
i am looking for analytical solution Fraunhofer diffraction farfield of diffraction from nano hole?
most of available exapmles are of antennas.

Shaik on 12 May 2023
% Define the aperture diameter
D = 100e-9; % m
% Define the wavelength of the incident light
lambda = 500e-9; % m
% Define the observation distance from the aperture
L = 1; % m
% Define the spatial frequency variable
u = linspace(-1, 1, 1000);
% Compute the diffraction pattern using the Jinc function
sin_u = sin(pi*D*u/(lambda*L))./u;
Jinc = (2*pi*D/(lambda*L))*abs(sin_u).^2;
% Plot the diffraction pattern
plot(u, Jinc);
xlabel('u');
ylabel('Jinc(u)');
Try this
Sean on 14 May 2023
thanks,
i got one more reference, could you check if this ok?
clc
close all
clear all
lambda = 332.8e-9; % wavelength of light in vacuum
k = 2*pi/lambda;
a = 3e-7; % radius of diffracting circular aperture
Io = 1.0; % relative intensity
R = 1; % distance of screen from aperture
half_angle = 13.3; % half angle of light cone
center_angle = 0; % center angle of light cone
Y = (-0.55e-0:1e-3:0.9e-0);
Z = Y; % coordinates of the screen
I(1:length(Y),1:length(Z))=0;
for i=1:length(Y)
for j=1:length(Z)
q = (Y(i).^2+Z(j).^2).^0.5;
beta = k*a*q/R;
I(i,j) = Io.*((besselj(1,(beta))/(beta+1e-12)).^2);
end
end
% Calculate fraction of power in cone
theta = atan2(Y,Z);
cone_indices = (theta > center_angle-half_angle) & (theta < center_angle+half_angle);
power_fraction = sum(sum(I(cone_indices)))/sum(sum(I));
% Calculate far field using Fraunhofer approximation
N = 1000; % number of points in far field
theta = linspace(-pi/2,pi/2,N); % angular coordinates in far field
E_theta = zeros(1,N);
for i=1:length(theta)
q = k*a*sin(theta(i)); % distance from center of aperture in far field
E_theta(i) = (Io/(2*pi*R*q))*((2*besselj(1,beta)/(beta+1e-12))*exp(-1i*k*q))/(q);
end
% Calculate power in cone in far field
theta = abs(theta)*180/pi;
cone_indices = (theta > center_angle-half_angle) & (theta < center_angle+half_angle);
power_fraction_farfield = sum(abs(E_theta(cone_indices)).^2)/sum(abs(E_theta).^2);
disp(['Power fraction within cone: ' num2str(power_fraction_farfield)]);
Shaik on 14 May 2023
Hi Sean,
The code you provided appears to be related to diffraction and the calculation of power fraction within a cone. It calculates the diffraction pattern produced by a circular aperture and then evaluates the power fraction within a specified cone angle.
The code seems to be structured correctly, and it performs the calculations using the Bessel function and the Fraunhofer approximation for the far field. It generates a 2D intensity pattern on a screen, calculates the power fraction within a cone angle for the pattern, and then computes the far-field diffraction pattern using the Fraunhofer approximation.
It's important to note that the results obtained from the Fraunhofer approximation are valid only in the far field, where the distance from the aperture to the screen is much larger than the size of the aperture. If you intend to use this code, make sure it suits your specific application and requirements. Feel free to accept the answer if it is helpful!

### Categories

Find more on Bessel functions in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!