The classical double slit experiment is performed by passing a beam of light through two closely spaced slits in a plate. The far-field interference pattern is then observed on a screen and it shows a series of bright and dark interference fringes.
The interference pattern arises from the path difference created by the seperation between the two beams. The difference in path length for a seperation of a is $$m\lambda = a \sin(\theta)$$
For two infinitely narrow slits, the observed intensity pattern would be sinusoidal with intensity (amplitude) ranging from zero to four times the intensity of the light passing through one of the original slits. In practice, slits always have a finite size and this results in the diffraction pattern of a single slit modulating the interference pattern of the double slit. This modulation depends on the size of the individual slits.
This simulation replicates this experiment for two slits each with a width of 25μm. The slit separation and the wavelength of the illuminating light can both be varied. Some questions to consider are
% Parameters (SI units) L = 1; % Distance to observation plane a = 400e-6; % Slit separation b = 40e-6; % Slit width N = 2; % Number of slits wavelength = 540e-9; % Wavelength % Observation plane lateral distances points = 1000; xmin = -5E-3; xmax = 5e-3; x = linspace(xmin,xmax,points); % Calculate intensity theta = atan(x/L); beta = pi*b*sin(theta)/wavelength; alfa = pi*a*sin(theta)/wavelength; I = (sin(beta)./beta).^2.*(sin(N*alfa)./sin(alfa)).^2/N^2; % Plot result plot(x*1E3,I); axis([xmin*1E3 xmax*1E3 0 1]); xlabel('Distance (mm)'); ylabel('Intensity (a.u.)');
from pylab import * # Parameters (SI units) L = 1 # Distance to observation plane a = 400e-6 # Slit separation b = 40e-6 # Slit width N = 2 # Number of slits wavelength = 540e-9 # Wavelength # Observation plane lateral distances points = 1000 xmin = -5e-3 xmax = 5e-3 x = linspace(xmin,xmax,points) # Calculate intensity theta = arctan(x/L) beta = pi*b*sin(theta)/wavelength alfa = pi*a*sin(theta)/wavelength I = (sin(beta)/beta)**2*(sin(N*alfa)/sin(alfa))**2/N**2 # Plot result plot(x*1e3,I) xlim(xmin*1e3,xmax*1e3) xlabel('Distance (mm)') ylabel('Intensity (a.u.)') show()