Single-Slit Diffraction Pattern

Manipulate[
Grid[{{ ListLinePlot[IntensityData[b],
InterpolationOrder->3,
AxesLabel->{None,"I"},
PlotRange->{0,All},
Ticks->{Automatic,None},
Filling->Axis,
Epilog->{{Thickness[.01],{Line[{{-4,0},{-b/2,0}}],Line[{{b/2,0},{4,0}}]}},Line[{{p,0},IntensityData[b][[IntegerPart[10(4+p)+1]]]}]},
ImageSize->350],
ListLinePlot[SpiralData[p,b],
Axes->False,
InterpolationOrder->3,
AspectRatio->Automatic,
Epilog->{Red,Line[{SpiralData[p,b][[1]],SpiralData[p,b][[-1]]}]},
PlotRange->Full,
ImageSize->{250,300}]},
{ListDensityPlot[DensityData[b],
FrameTicks->{Automatic,None},
InterpolationOrder->3,
PlotRange->{0,Full},
ColorFunction->GrayLevel,
AspectRatio->.2,
ImageSize->{350,100}],
Text@Grid[{{"relative intensity at position x = ",TraditionalForm[p],": ",TraditionalForm[int[p,b]]}}]}},
Spacings->0],

{{b,0.25,"slit width (mm)"},0.05,6,0.01,Appearance->"Labeled"},
{{p,0,"position"},-4,4,.1,Appearance->"Labeled"},
TrackedSymbols:>{b,p,se,spe},
Initialization:>(
e=1000;
(*distance slit-screen in mm*)
λ=630 (10^(-6));(*wavelength in mm, 1/λ=1587.3*)
n=200;(*number of paths*)

CalculateVector=Compile[{{x,_Real},{b,_Real}},
(∑_(j=1)^200)Exp[2π I (Sqrt[(1000^2)+(((x - b((1/2) -(j/201))))^2)])1587.3]];

VectorData[pos_,SlitWidth_]:=FoldList[Plus,0+0I,Table[.1Exp[2π I (Sqrt[(1000^2)+(((pos- SlitWidth((1/2) -(j/201))))^2)])1587.3],{j,1,200}]];
IntensityData[SlitWidth_]:=Module[
{LocationOnScreen,vec0=CalculateVector[0,SlitWidth]},
Table[{LocationOnScreen,(((Abs[(1/vec0)CalculateVector[LocationOnScreen,SlitWidth]]))^2)},{LocationOnScreen,-4,4,.1}]];

DensityData[SlitWidth_]:=
Flatten[Table[Map[{#[[1]],i,#[[2]]}&,IntensityData[SlitWidth]],{i,0,1}],1];

SpiralData[pos_,SlitWidth_]:=Map[{Re[#],Im[#]}&,VectorData[pos,SlitWidth]];
int[pos_,SlitWidth_]:=NumberForm[Norm[Last[SpiralData[pos,SlitWidth]]]/20,{1,2}];
)]

CAPTION

This Demonstration shows the intensity distribution of one-slit diffraction over a wide range of slit widths so that both Fraunhofer and Fresnel diffraction are covered. You can produce an interference pattern as it would be seen on a screen and the vector sum for any position on the screen. The results are derived from Feynman's method of "integrating over paths" and can be proven experimentally if the light source is a He-Ne laser and the screen is 1 m distance from the slit.

DETAILS

The aperture of the slit is divided into n points, each of which can be considered the origin of a wave. The wave vectors are summed up at a point on the screen. At a given point each wave has a different distance to travel, which results in a different phase angle φ. Let e be the distance between the slit and the screen, a the distance of the point on the screen relative to the optic axis and (Subscript[b, i]) the space between one of the points in the slit to the optic axis. The length of a path is then l=(Sqrt[(e^2)+(((a±(Subscript[b, i])))^2)]) . Because (a±(Subscript[b, i]))≪e it is approximately l≈e+((((a±(Subscript[b, i])))^2)/(2e)). In the case of Fraunhofer diffraction where the slit width b≪a it can be further approximated to l≈e+((a^2)/(2e))±((a b)/e), which means that l and hence φ depend linearly on b. The sum of the wave vectors gives a line of constant curvature, a circle. It is completed for the first time in the first minima. When b becomes greater, (b^2) cannot be neglected and the phase angle between two neighboring wave vectors is no longer constant. The result of the vector sum is now the so-called (Cornu^1) spiral, which is an important tool for investigating Fresnel diffraction.

(^1)After the French physicist Alfred Cornu (1841-1902).

R. P. Feynman, QED: The Strange Theory of Light and Matter, Princeton: Princeton University Press, 1985.

THIS NOTEBOOK IS THE SOURCE CODE FROM

"Single-Slit Diffraction Pattern" from the Wolfram Demonstrations Project
 http://demonstrations.wolfram.com/SingleSlitDiffractionPattern/

Contributed by: Hans-Joachim Domke and Martin Domke

A full-function Wolfram Mathematica system (Version 6 or higher) is required to edit this notebook.
GET WOLFRAM MATHEMATICA »

© Wolfram Demonstrations Project & Contributors   |   Terms of Use   |   Make a new version of this Demonstration »