copyright 2002
David Thomson
Original Code Consulting
www.origianlcode.com

This program is intended for calculating the
propagation of Gaussian beams (laser beams) through thin lenses.
It is based on a simple approach developed by Self in S.A. Self,
"Focusing of Spherical Gaussian Beams", Appl. Opt. 22,
no.5 (March 1983); 658. This approach is also described in the
Melles Griot optics catalog (www.mellesgriot.com).
To use the program, begin by
entering the wavelength, initial waist size (radius), initial position
of the waist, and M2. (M2 = 1 for a perfect
Gaussian beam, >1 for real beams.) Note that in this program,
the world begins at z = 0 and extends as far as the last valid lens or
the last waist image. Then begin entering positions and focal
lengths of lenses. Focal lengths can be positive or
negative. When the program recognizes a valid lens (non-zero
focal
length, position greater than 0 and greater than the position of the
previous lens), then it will calculate the beam parameters and display
them. It will also display the lens and the propagated beam in
the
graph near the bottom of the screen. If there is a list of
lenses,
the calculations and display will only continue as long as the each
lens
meets the above criteria. Additional entries past that point will
not be calculated or displayed.
To the left of the lens table are two rows of
buttons. Use these buttons to edit the table by row: either to
delete the adjacent row or to insert a new row before the adjacent
row. Up to eleven rows of lenses can be displayed at once.
However, there is no hard limit to the number of lenses that can be
entered. Whenever 10 or more lenses are displayed, a scroll bar
appears at the right of the table that allows one to scroll the table
display up and down to view the additional lenses.
A description can be entered as a note of what
optical layout is being modeled. This description is saved when
the data is saved and will be displayed if a previously saved file is
read into the program.
The calculated parameters are:
| Object Distance | Distance of the lens from the previous lens |
| Object Position | Absolute position of the lens |
| Image Distance | Distance of the waist image from the lens |
| Image Position | Absolute position of the waist image |
| Magnification | Ratio of the image waist to the object waist |
| Rayleigh Range | Measure of the divergence of the beam |
| Waist | Beam radius |
Once the beam is displayed on the graph, the
graph axis and cursors can be manipulated to further study the
beam. The X and Y scales are automatically adjusted, but can be
manually changed to zoom in on certain features. The magnifying
glass tool can also be used to zoom the graph, and the hand tool can be
used to pan the graph. Two cursors are available which can be
used
to display the beam radius at any point. Each cursor can be
dragged with the mouse. Also, the cursor most recently dragged
can
be moved one point at a time with the diamond-shaped directional
pallette. Cursor X and Y positions are displayed after the cursor
names "Beam Size 1" and "Beam Size 2" in the cursor pallette.
Commands available in the menus are:
| File | |
| New | Clear all lens data and reset initial parameters to defaults. |
| Open | Read a previously saved file and load initial parameters and lenses. Note that if there are currently lenses in the table, the program will provide the option of whether to delete them or to append the new lenses after the current ones. |
| Save | Save the initial parameters and lenses to a file. |
| Export | Save the initial parameters, lenses, and calculated results to a tab-delimited file for use in other programs. |
| Exit | Quit the program |
| Units | |
| Wavelength | Select the units of the wavelength as nanometers or Angstroms from this sub-menu. |
| Positions | Select millimeters, centimeters, or inches from this sub-menu. These units are used for lens positions, focal lengths, the calculated parameters positions, and the x axis of the graph. |
| Help | |
| Help | Display this file. |
| About | Display program information. |
The files saved and read with the Open and Save
commands are text files that can be viewed and edited with any simple
text editor. Note that the calculated results are not saved in
these files, but are recalculated after the file is loaded. Also,
all lens data are saved, even if there are invalid lenses in the table
(such as ones with a focal length of 0).
The Export command saves not only the initial
parameters and the lens data, but also the calculated results.
Note, however, that only valid lenses are written to this file, and
that
there is no mechanism for reading this file format back into the
program.
Version 1.2 fixed a minor bug in the Units menu.
Note that both an executable (compiled) version and
a LabVIEW source code version of this program are available. The
executable version requires version 6.0 of the LabVIEW
Run-Time-Engine. This is available as a free download from National Instruments. (Under
Download Software, look for "All Software Versions", the LabVIEW, then
your platform, then Run-Time-Engine, and finally 6.0.2.) However,
the current version (7.0) of the Run-Time-Engine will not work with
this
program. You must download version 6.0.2.
Please direct any questions, comments,
or
suggestions to:
