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.