Original Code Consulting
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|
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
to display the beam radius at any point. Each cursor can be
dragged with the mouse. Also, the cursor most recently dragged
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:
|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|
|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||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,