Diffraction
Huygens' Principle
Huygens' Principle states that each point on a wavefront may be regarded as a source of wavelets spreading out in all directions. Diffraction patterns are produced by interference between wavelets originating from a wavefront that is restricted by an aperture or blocked by an obstruction. Diffraction patterns can be generated numerically by summing the amplitudes of wavelets from an array of points distributed uniformly across the aperture. Phase differences between wavelets have the strongest influence on the the diffraction pattern, but amplitude differences have some effect (particularly for a straightedge). In order for Huygens' wavelets not to generate a reflected wave, the amplitude includes an obliquity factor (1+cos(q))/2, where q is the angle between the normal to the wavelet and the normal to the incident wave. The amplitude also includes a factor for decrease in intensity with distance (inverse square for spherical waves, inverse first power for cylindrical waves). An algorithm that superimposes wavelets is not difficult to write, but wavelets from the array of points in the aperture have to be superimposed at each point on the screen, so the calculation may run slowly. If the aperture is circular we need only calculate how the intensity varies as we move radially outward from the centre of the pattern. The first two applets take advantage of this fact.
Diffraction patterns are easier to demonstrate than to calculate. All that is needed is a helium-neon laser and a selection of fine pinholes, narrow slits, plastic gratings, and fine screens (of the type used to support specimens in an electron microscope). Patterns produced on a distant screen in this way are called Fraunhofer patterns. Patterns produced by larger apertures on closer screens are called Fresnel patterns, and are usually demonstrated using microwaves.
Circular Aperture
The general algorithm used in the first applet for superimposing wavelets makes no distinction between Fraunhofer and Fresnel patterns. The applet calculates the intensity pattern produced when light from a helium-neon laser strikes a circular aperture and falls on a screen 500 mm away. The diameter d of the aperture can be increased by factors of 2 from 0.1 mm to 6.4 mm. Wavelets originate from an array of points d/n apart where n=401. If the aperture is illuminated by a plane wave from a laser, the wavelets will be in phase as they leave the aperture. The plotting scale uses 20 pixels to represent 1 mm on the screen, and the geometrical shadow of the aperture is shown as a white circle. For diameters from 0.1 mm to 0.8 mm the pattern is "overexposed" by a factor of 800 to make lower intensity variations visible. (This means that the intensity is down from its maximum by a factor of 800 at the edge of the brightest region). The factor is lowered to 80 at d = 1.6 mm, 4 at d = 3.2 mm, and 1 at d = 6.4 mm to shift attention from the intensity variations outside the geometrical shadow to those within it.
The four smallest apertures show a uniform trend: as the diameter of the aperture increases the diameter of the central maximum of the diffraction pattern decreases. At d = 1.6 mm new feature appears in the pattern: a dark spot in the centre, and this feature is also seen at greater diameters. The type of pattern we observe is determined by the difference between the distances from the centre of the screen to the centre and the edge of the aperture. This difference, the square of the diameter divided by eight times the distance to the screen, starts off at 2.5 nm for d = 0.1 mm, and increases by a factor of four every time the diameter is doubled. When the difference is much smaller than the 633 nm wavelength, Fraunhofer patterns with broad central maxima are observed. When d = 1.6 mm, the difference is approximately equal to the wavelength, and a Fresnel pattern with a dark central point is produced.
We get a clearer picture of what is happening if we plot a graph of the intensity in addition to the diffraction pattern. In the next applet the maximum intensity is full scale on the graph, and there is no clipping. Again we have a circular aperture of diameter d, but now d is fixed, and the distance to the screen is 10d. The wavelength can be varied between d/5 and d/200. (The wavelet source spacing is d/141)).
Fraunhofer Diffraction
Circular Aperture
The general algorithm for superimposing Huygens' wavelets can be used to generate Fraunhofer diffraction patterns, but it is not ideal for this purpose. In the Fraunhofer limit (small apertures and distant screens), the calculation involves small differences in large quantities, and requires double-precision to produce meaningful results. The Fraunhofer algorithm takes a different approach: it assumes the wavelets leave the aperture on parallel paths. The phase difference calculations then involve only small quantities, and require only single-precision arithmetic. The parallel path assumption does not impose a serious limitation. The screen does not have to be at a great distance - a lens will take incoming parallel rays and form a Fraunhofer pattern in its second focal plane.
To find the phase difference between wavelets arriving at the screen, the calculation takes a unit vector from the aperture to a point on the screen and forms its dot product with a vector giving the displacement between sources in the aperture. In the applet, the circular aperture has a diameter of 0.05 mm and is placed 1000 mm (125 mm when "z/8" is chosen) from the screen. The screen is 240 mm square, and 1 pixel represents 1 mm on the screen. The wavelet sources are distributed either on a square grid with 41 points (21 points when "n/2" is chosen) along the diameter, or randomly across the aperture when "Rnd" is chosen. (The random array has the name number of points as the corresponding grid). For a square array of sources, the pattern is calculated over one quadrant of the screen, and is overexposed 1000x. For a random array, the calculation extends over the full screen, and the overexposure is 500x.
With the screen at 1000 mm from the aperture, the pattern from a square source array is similar to the patterns from small apertures in the first applet. The pattern has a fine structure which is more pronounced when "n/2" is chosen. The first minimum in the pattern is sharply defined, and you can find the angle at which it occurs using a ruler. For a circular aperture, analytic calculations predict the radian measure of the angle will be 1.22 times the ratio of the wavelength to the diameter. I get reasonable agreement with this prediction. The pattern from the random array is quite different. Fraunhofer rings due to the aperture are still apparent at the centre (unless "z/8" is chosen), but elsewhere the pattern reflects the randomness of the source array. Clearly, a square grid of wavelet sources is far better than a random array for generating a diffraction pattern of the aperture. One thing to note about the pattern from the random array is that it has a centre of symmetry. (This characteristic of Fraunhofer diffraction patterns is further illustrated in the next applet).
When the screen is at 125 mm from the aperture, it captures a wider angle view of the diffraction pattern. (This view could be captured at 1000 mm with a larger screen). We now see the diffraction pattern from the square array with the shape of the individual spots modulated by diffraction from the aperture. If we had increased the number of sources along the diameter to 81 instead of reducing it to 21, only the central maximum of the pattern from the array would have appeared on screen. More will be said about diffraction from source arrays in X-Ray Diffraction.
In this applet the circular aperture is replaced by an equilateral triangle with side d=.05 mm. The base of the triangle is horizontal, and wavelets originate from sources arranged like pool balls in a rack (with 50 sources along the base unless "n/2" is chosen). The calculation is carried out over the right half of the screen. The shape and orientation of the aperture is superimposed in white on the diffraction pattern, but does not define the boundary of the geometric shadow as it did for Fresnel patterns. (The geometric shadow is a mere pinprick at the centre of the Fraunhofer pattern). The Screen can be moved in from 1000 mm to 125 mm.
When the centre of inversion of Fraunhofer patterns combines with the three-fold rotational symmetry of the aperture (and the array) it produces a pattern with a six-fold rotational symmetry (and hence no triangular shapes). (The same sort of symmetry considerations relate the moments of inertia of an equilateral triangular plate). When the screen is moved to 125 mm it captures a wider angle view of the diffraction pattern (as it did for the circular aperture).
The next applet shows how slits can be combined to form a diffraction grating, a device for determining the wavelengths present in a beam of light. Patterns are calculated for four different colors: red C (656.3 nm), yellow D (589 nm), green E (526.9 nm), and blue F (481.6 nm). The grating has n = 1, 3, or 5 slits of width w = 2 microns at a spacing of d = w, 2w, or 3w. The intensity pattern is viewed on a screen 1 m from the grating with 1 pixel representing 1 mm in the x direction. At a slit spacing of w the diffraction pattern is that of a slit of width nw. The analytic Fraunhofer expression for red C is shown in magenta on a line plot when d = 2w, n = 3 is selected. The slight difference between the magenta line and the red pattern is due to the fact that the numerical calculation includes an amplitude/obliquity factor. If it is commented out of the program, the difference disappears on the scale of the plot.
The square aperture offers the opportunity to introduce a much faster algorithm for generating Fraunhofer diffraction patterns. (This algorithm can also be applied to rectangles and parallelograms). The square aperture in this example has a side of 0.05 mm and is illuminated by light from a helium-neon laser. The diffraction pattern is produced on a screen 1 m away, and 1 pixel represents 1 mm on the screen. The wavelet sources are arrayed on a 512x512 grid. If we superimpose this many wavelets one by one it will take a very long time to generate the diffraction pattern. Fortunately, there is a better approach. Once we have the result of superimposing wavelets from two sources, we can superimpose wavelets from a displaced set of two sources. Next we superimpose wavelets from a displaced set of four sources, and so on. When we have completed one row, we then go on to superimpose rows and sets of rows. In this example, instead of summing over 512x512=262,144 terms, we sum over only 2x9=18 terms. The program displays the diffraction pattern and the fraction of the aperture summed over for 2 seconds after the addition of terms 5-9 (row completion) and 14-18 (square completion). The geometrical shadow in the centre of the pattern is only 1/20th of a pixel wide. The width of the first row is exaggerated on the aperture diagram (it should only be 1/8th of a pixel wide).
The fast algorithm is even more powerful when extended to three dimensions as it is in the next section. Progressive doubling lets one start with one atom and build up very rapidly to a macrocsopic crystal.
Cubic Crystals
The fast algorithm in the previous section was developed to superimpose wavelets originating from points on a wavefront in an aperture, but it works equally well for wavelets originating from atoms in a crystal. First one superimposes wavelets originating from a row of atoms (or groups of atoms). Next one sums over the set of rows that form a layer, and finally over the set of layers that form a cube. The algorithm is so fast that we are free to make up as large a crystal as we wish. The applet allows the power of 2 that gives the number of lattice points along the edge of the cube to be varied between 8 and 20 (with 20 as the default value). At a power of 20, a cube of copper would measure 0.379 mm on a side. We do have to make two changes to the algorithm. Firstly, the obliquity factor used to ensure that wavelets originating at points on a wavefront do not generate a reflected wave does not apply to wavelets originating from atoms. Secondly, the change in phase of the incident plane wave as it propagates from layer to layer must be taken into account. Other than for these changes, all we need to do is choose a wavelength comparable with the spacing between atoms and see what kind of diffraction pattern we get. Unless we are very lucky in our choice of wavelength, we will not get a diffraction pattern. We need to know a little about crystallography and x-ray diffraction in order to choose wavelengths that will produce diffraction patterns.
X-ray diffraction usually is carried out either by exposing a fixed crystal to a continuum of wavelengths, or by rotating a crystalline powder in a beam of monochromatic x-rays. Here we have a fixed cubic crystal and need to calculate wavelengths that will produce diffraction patterns. To do this we use Bragg's Law which states that a set of parallel planes of atoms in a crystal will reflect x-rays strongly if the spacing between the planes multiplied by the sine of the Bragg angle is an integral number of half-wavelengths of the incident x-ray beam. The Bragg angle is the angle between the incident beam and the plane, and its sine is the cosine of the angle of incidence used in optics. The Bragg angle is used instead of the angle of incidence because the x-ray beam is deflected through twice the Bragg angle on reflection. The numbers in the program are more or less realistic. The edge of the cubic unit cell, a, is set equal to the lattice parameter of copper, and the width of the screen is eight time its distance from the crystal, enabling it to capture x-rays deflected through angles up to 76 degrees.
The first step in calculating a suitable wavelength is to find a plane that will deflect a beam incident along the z-axis through an angle that lets it strike the screen. This is purely geometry. Planes in a crystal are described by their Miller indices: three integers (hkl). The Miller indices of a plane are the reciprocals of its intercepts on the crystal axes (in units of the lattice parameter a), and for a cubic crystal they are integers proportional to the direction cosines of the normal to the plane. A (011) plane will not reflect a beam that strikes the screen because for a beam incident in the (001) direction the Bragg angle is 45 degrees. A (111) plane on the other hand has a Bragg angle whose sine is one over the root of three, or 35.264 degrees. The deflection angle is twice this, or 70.528 degrees, and a beam deflected through this angle will strike the screen. Next we need the spacing between (111) planes. This is the perpendicular distance from the corner of a cube to the plane through its three adjacent corners: one third of the body diagonal or a divided by the root of three. The spacing between planes multiplied by the sine of the Bragg angle is then a/3. The wavelength needed for reflection from (111) planes is therefore 2a/3. (The number 3 in the denominator is the sum of the squares of the Miller indices, and this is true in general). The program also uses wavelengths calculated for (201) and (211) planes with deflection angles of 53.1 and 48.2 degrees respectively.
The applet calculates diffraction patterns from three crystal structures:
simple cubic, body-centred cubic, and face-centred cubic.
The body-centred and face-centred cubic structures are generated by
associating a basis of atoms with every point on a simple cubic lattice.
In a body-centred structure there two atoms in the basis, one at the cube
corner and one at the cube centre. In a face-centred structure there are four
atoms in the basis, one at the cube corner and one at the centre of each of
the three adjacent cube faces. The program that generates the diffraction
patterns first superimposes waves from the basis then extends the calculation
in the same way as for the simple cubic structure. Interference between waves
from atoms in the basis (usually described by a structure factor)
leads to the following rules:
Body-centred cubic crystals only reflect x-rays from planes whose Miller
Indices sum to an even number.
Face-centred cubic crystals only reflect x-rays from planes whose Miller
Indices are either all even or all odd.
The applet also lets you vary the degree of overexposure by factors of 10. I suggest you start with the default values and look at the diffraction patterns from the three crystal structures at each wavelength. You will first see the pattern from the basis (for 2 seconds), then a new frame every time the number of atoms is doubled. The normal delay between frames is 250 ms plus the calculation time, but this increases to 2 seconds when a row or layer is completed.
Using a ruler, and knowing that the width of the screen is eight times the distance to the screen, you can determine the deflection angles of the reflected beams. Starting with Simple Cubic ("SC") and a wavelength of 2a/3 we see four reflected beams that are deflected through about 70.5 degrees, the angle calculated above for (111) planes. The number and orientation of the spots on the screen come from permutations of positive and negative values of the first two Miller Indices, in this case plus and minus one, so the four spots are at 45 degrees to the axes. When the wavelength is 2a/5 there are no reflections at 45 degrees to the axes, but there are reflections from (201) planes at the expected positions on the axes. At a wavelength of 2a/6, the four (111) reflections are back along with eight (211) reflections at their expected positions. The (111) reflections are back because two wavelengths now fit in where one did before. The body-centred cubic pattern is the same at this wavelength, but the reflections at the (111) positions are from (222) planes. You will find that the patterns all obey the rules stated above. In particular, enhanced (201) reflections are observed only in the simple cubic pattern.
As the diffraction pattern from a triangular aperture illustrated, what we observe is a combination of the patterns from the source array and the aperture. The same is true in x-ray diffraction where the aperture becomes the crystal. As a row is built up, a central vertical line appears in the pattern and gets sharper. As rows are added to form a layer, it is a horizontal line that appears. As layers are built up into a cube these lines break up (and disappear at the default settings). (I may introduce a second applet to this section to illustrate the effect of crystal shape more clearly).