Simulation and Study of Fresnel Diffraction for
Arbitrary Two-Dimensional Apertures - Introduction
"Diffraction is an important physical effect inherent in all wave
phenomena. Fraunhofer and Fresnel diffraction are two important classes of
diffraction. Fraunhofer diffraction involves coherent plane waves incident
upon an obstruction. Fresnel diffraction is the same, except that the
waves are spherical, effectively originating from a point source.
Although these two types of diffraction are conceptually similar,
analytically solving for a Fresnel diffraction pattern is significantly
more challenging than the same task in Fraunhofer diffraction. It is a
simple exercise to show that Fraunhofer diffraction by an aperture is
mathematically equivalent to the Fourier transform of the aperture shape.
Because the integrals describing Fresnel diffraction are so intractable,
however, Fresnel diffraction patterns have few analytical solutions, even
in one dimension. ... A calculation in two dimensions is even more
problematic.... "
That was from the Introduction of the paper, "Simulation and Study of
Fresnel Diffraction for Arbitrary Two-Dimensional Apertures," which was
published in Computers In
Physics in the Nov/Dec 1996 issue!
While an undergraduate at Harvey
Mudd College, Dr. Dauger created an efficient algorithm to calculate
numerically a Fresnel diffraction pattern using any two-dimensional
aperture. He wrote a Macintosh application that creates
those images and has a Macintosh user interface (windows, menus, help
balloons, etc.) to manipulate the input and output.
| You may download the
Universal Application
of Fresnel
Diffraction Explorer (528 kB)
for OS X 10.3.9 through macOS "Mojave" 10.14
which also uses Universal Clustering: taking advantage of
mixed clusters of Intel and PowerPC Macs.
(Requires Pooch v1.7 or later.)
For non-profit, educational, and scientific users,
it's Postcard-Ware. See the about box for further details.
After Mojave, Apple ended support for the Carbon API this app uses.
If you're not sure if it'll run on your macOS, you may download it so you can test.
The availability of resources to rewrite the app will determine if
support for new versions macOS after 10.14 becomes possible.
|
Also available are: A Carbon CFM version of Fresnel
Diffraction Explorer v1.3 (Beta) (~248k, for OS 9 and
X, parallelized for Macintosh clusters using Pooch). You can also download the the 680x0+FPU only
version 1.2.1 (~208k). Here are some example
parameter files.
Frequently Asked Questions
What is the difference between Fresnel and Fraunhofer diffraction?
And where can I find more information? In response to an email,
Dr. Dauger gave
a description
describing the two major forms of diffraction.
How do you pronounce "Fresnel"? The s in Fresnel is silent, so
it's "Fre'-nel". Augustin Jean Fresnel was a 19th century French
mathematician and physicist.
How do you pronounce "Dauger"? It's pronounced "dow-jer". The
Dauger name came from a region on the border of France and Germany called
Alsace and
Lorraine.
Where's the documentation? Other than the parameters download,
the downloadable files above contain the application and a Quick Reference
file, but there is no manual. If there was a manual, the bottom line
would be "Play with it!" Most Mac users skip the manuals
anyway. Besides, the application has help balloons and a
self-demonstration. The Quick Reference is meant for those who want a
little more in-depth information about the program and its functions. And
if you want more information about diffraction, there are reams of books
on optics and diffraction in your local large library that we couldn't
possibly fit in a little download. (And maybe even somewhere on the web?)
Revision list:
After Mojave, Apple ended support for the Carbon API this app uses.
If you're not sure if it'll run on your macOS, you may download it so you can test.
The availability of resources to rewrite the app will determine if
support for new versions macOS after 10.14 becomes possible.
v1.4
The Fresnel Diffraction Explorer is now a Universal Application for
Intel- and PowerPC-based Macs running OS X 10.3.9 through macOS "Mojave" 10.14.
The app's cluster
capabilities are also Universal using MacMPI_XUB, therefore allowing FDE
to take advantage of Universal Clustering using Pooch v1.7 or later.
You can now combine as many Macs as you desire using clusters of any
combination of Intel or PowerPC Macs in a Fresnel diffraction
calculation. This version is also compatible with the updated multiple
tasks per computer features of version 1.7 of Pooch, so that the code can
be run in parallel on multiple Intel Core Macs and multiple Macs
simultaneously.
|
|
|
Other changes include: OS X-compliant application and file icons, dialog boxes,
including sheets where appropriate, and antialiased text. Endian conversion for
file and disk storage as well as sending data over the network. Adaptations to
bundle formats and Xcode. When using multiple wavelengths, FDE can export to
QuickTime in addition to PICS. Establishment of a data fork only file format.
v1.3
The Fresnel Diffraction Explorer has been Carbonized for the first
time for OS X, so now it runs on both Classic Mac OS 9 and the new OS
X. Even the self-demonstration, simulating mouse movement and pull-down
menus, works correctly on OS X.
Not only that, this application has been parallelized for use
with Pooch on Macintosh
clusters. You can now combine as many Macs as you desire (running either
OS 9 or OS X, or combinations thereof) in a Fresnel diffraction
calculation. This version is also compatible with the new multiple tasks
per computer features of version 1.3 of Pooch, so that the code can be run
in parallel on multiprocessor Macs and multiple Macs simultaneously. These
new parallel computing features are compatible with all other parts of the
code, including the PICT import, and even the self-demonstration. There is
a new Parallel menu which you can use to automatically launch the Fresnel
Diffraction Explorer for parallel computing onto a cluster. It also can
toggle a MPI monitor window that collects statistics and shows the status
of the intra-task communications. Try it and see for yourself!
v1.2.1
Updated the demonstration so that it looks okay under both Mac OS 7
and 8.
v1.2
The Fresnel Diffraction Explorer now features a self running
demonstration! This demo shows all the major features of the program,
and give you and idea for how you might use it and what you might want to
explore yourself. The demo has the program operate on itself, as if a
phantom user was at the controls of your computer.
This version also contains a few other changes: Gave the buttons in the
control window a more "3-D" look and feel. Prevented the fat pixels from
overwriting information on the right of the display when the resolution
was at certain sizes. The program is now accompanied by a Quick Reference.
Added an easter egg.
Other than any bug fixes along the way (and the future Rhapsody OS ), this is
probably the final version of the Fresnel Diffraction Explorer.
v1.1
The Fresnel Diffraction Explorer now does Fraunhofer diffraction
too! using a newly written Fast Fourier Transform routine. Note to the
technically minded: This should give you a hint that the Fresnel algorithms
don't use Fourier transforms at all. This only gets a ".1" because it will
just
give you an idea of what the "other" diffraction is like. The Fresnel
output is physically accurate, as far as the Fresnel approximation is
valid, ever since version 1.0. (Should the name be changed?
Fresnel and Fraunhofer Diffraction Explorer, Diffraction
Explorer, or what?)
Corrected a problem with reading the aperture type if it was a PICT. The compiler
got confused with a 0x8000. Please download the new version.
v1.0.1
Corrected a problem with writing to the data format on PCI Power Macs,
which also affected repeat runs of the program. It seems that the library
routines to convert from 8-byte doubles to 12-byte long doubles fail on
the PCI Power Macs, so a new parameter format was created that uses 8-byte
doubles. However, v1.0 won't be able to read the new format. Please
download the new version.
Corrected a minor "Write to NIL" error using EvenBetterBusError that
didn't seem to affect current systems but could show up in the future.
Thanks to Scott Thompson for pointing it out!
Calibration: For best results, adjust your monitor so that this
is a group of linear grayscale, red, green, and blue bars.
Here are some images made with the program:
|