A version of Java at least 1.2 is necessary to run this applet.
We recommend Java 1.4. If you are having problems with this applet,
please install the Java 1.4 Plugin from Sun, which will work with
most recent browsers (including Internet Explorer, Netscape, and Mozilla).
to download it.
Please read this writeup for
a description of the theory associated with this applet, and an
accompanying set of exercises. Documentation of the applet itself
is listed below.
This simulation demonstrates the scattering of an incoming wave
on a one-dimensional crystal. The one-dimensional crystal is
represented as a series of evenly-spaced atoms, each atom of which
is modelled as a Dirac Delta Function.
The simulation shows two windows, with a set of controls at the right.
The left window demonstrates graphically the parameters of the system.
The x-axis represents position, and the y axis represents
energy. In reality, y-axis represents momentum, but for a user
not in the quantum-mechanics class, this can be thought of as energy.
There are several objects in the left window, most of which can be
adjusted. To adjust a parameter,
one can drag the little red boxes attached to the adjustable objects.
- Drawing of the Crystal
The crystal is drawn in WHITE in the left window. Each atom of
the crystal is represented as a white spike.
- Representation of Incoming Wave
The momentum of the incident wave is represented in yellow. The
more energy the wave has, the higher up this line will be.
- Adjustable parameters
- The yellow momentum line can be adjusted.
- The strength of the atoms can be adjusted by
changing the height of the white atoms profile. Notice, in general,
that the higher the energy, the harder for the wave to
traverse through the crystal.
- Spacing of the atoms can be adjusted. The number of atoms
in the right-hand controls must be set to a number greater than
one for this control to be accessible.
The right window demonstrates the transmission of the wave through the
crystal. There are no axes on the graphs yet, but they will be added soon.
Pure reflection (hence no transmission) is represented by a point at the left
of the graph, perfect transmission at the right side of the graph.
The vertical axis of the graph representes momentum (ie, energy), and
is calibrated to be equivalent to the vertical scale on the left window.
The right side of the applet contains a number of controls and outputs.
- Transmission Curve
The dark blue curve plots the transmission through the crystal
for the energy range represented by the graph.
- Current Transmission
The bright cyan dot on the transmission graph corresponds to the
transmission represented by the current level of wave momentum
(represented by the yellow line in the left window).
That describes the current status of the program. One can now see the
transmission of an incident travelling wave through the crystal, for
a variety of different crystal situations. This is an interesting problem
because there are cases where there is perfect transmission
through the crystal, even if the incident energy is less than the strength
of the crystal atoms.
This program is mostly completed, there are a few more items that may
be implemented. These aren't essential, but will help improve the
- The top slidebar controls the number of atoms in the crystal. Note
that more atoms are added to the left window as this is adjusted. Also,
only a finite number can be displayed in the window at one time.
- The next 4 outputs represent the current status of the system,
showing the values of the relevent parameters, such that a specific value
can be recorded or compared to the theory.
- The "Random Spacing" button will randomize the spacing of the
delta-functions within the range (a * n).
- The "Random Height" button randomizes the 'height' of the
delta-functions individually, between zero and 2*kappa.
- The "Initialize" button resets the system back to it's default starting
- The "Toggle Redraw" turns on and off a dynamic redraw of the
system when various parameters are adjusted. For example, if one is adjusting
the number of atoms or strength of the atoms, the transfer curve needs to
be continually recalculated. For crystals with many atoms, this can take while
to calculate, and is difficult to update. Thus, one can click this toggle
switch, so the program won't update the transfer curve until the user is
done dragging the control. Notice that if this is so, the transfer curve
is grayed out.
- Value Entry
Components will be added that will empower the user to manually
input desired parameters instead of manually adjusting everything
from the screen. This will allow the user to compare almost
exact values they have calculated from the theory with the
simulation, and then let them tweak things later on.
Currently, the output plots (in the y axis, or 'k' momentum
axis) are calculated as pixel rows. Anti-aliasing could be
employed to give the user better visualization of the range
of transmissions within a pixel-width's uncertainty.
January 7, 2004