LightPipes:  beam propagation toolbox

README file

Electronic Instrumantation Laboratory
The Faculty of Electrical Engineering
P.O.Box 5031, 2600 GA Delft
The Netherlands
gleb@ei.et.tudelft.nl

(C) 1993- 1995, Gleb Vdovin

------------------------------------------------------- 

Please use the postscript manual. It gives a full description of the
package. The file is available from

ftp://guernsey.et.tudelft.nl/pub/pipes

If you've got a full distribution , it's in the "doc" directory
------------------------------------------------------

Short description:

LightPipes is a portable set of UNIX-style tools written in C. It can
help you to build models of optical devices when diffraction is
essential. The source code is compact but to run it you need fast
computer and at least 8 MB RAM and 10 MB of disk space. LightPipes
were developed and tested on an IBM-PC compatible running Linux
operation system, which proved enough for most of the models. Beta
Light- Pipes were tested on HP-UX (HP 9000/735), Sun, Linux. An alpha
port to MSDOS is finished. The toolbox is written from scratch with
UNIX in mind. The toolbox consists of a set of filters. Each filter
represent an optical element or a step in a free-space light beam
propagation. There are apertures, intensity filters, beam-splitters,
lenses and models of free space diffraction in LightPipes. The
elements can be connected through UNIX (system) pipes in any order in
the shell environment to form the model of optical system. In some
respect it resembles a standard set of UNIX tools, on the other hand
LightPipes allows for building of a a model of an optical bench with a
laser source and a standard set of optical equipment. The program
operates on one large structure, containing square two{dimensional
array of complex amplitudes of electro-magnetic field in a propagating
light beam. The field distributions can be saved to disk and readed
from disk, the number of light beams treated simultaneously is limited
only by the free disk space. In any step of the beam propagation the
field intensity and phase can be written to disk files for further
analysis. Tools for generation of presentation quality Postscript
density plots are included. C shell syntax is used for all examples in
this primer.  Any other shell environment may be used for LightPipes
as far as binary interprocess communication via pipelines is
supported. LightPipes has nothing in common with optical ray-tracing
software, so it can not be used for lens design and
optimization. Probably (in future) I shall work out an interface to
some popular raytracing software to do some specific
geometrical/diffraction modeling. The current release of LightPipes is
beta. There is no guarantee that it is bug-free.  Many bugs were fixed
since alfa release.

This software is distributed WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. If you are going to publish a result, obtained with the help
of the package, please do not hesitate to include a reference to the
package into your publication. 


 Availability

LightPipes package for beam propagation is copyright (C) (1993-1995),
Gleb Vdovin and Electronic Instrumentation Laboratory of TU Delft.
LightPipes manual source and executables for different platforms are
available from the author at gleb@ei.et.tudelft.nl, or via anonymous
FTP from guernsey.et.tudelft.nl/pub/pipes. LightPipes will run on all
sorts of UNIX. Compiled executables for for HP, Sun and Linux can be
found on guernsey.et.tudelft.nl/pub/pipes. Although the executables
are compiled to be portable, it is not guaranteed that the program
will run on your machine.


 Installation of the package

LightPipes executables and source are distributed free of charge. You
have to install the executables in a directory included into your
search path, or link them to your /bin directory.


 Building from source


To build the package, put all the source files into an empty
directory. Be sure that the name of the directory is included into
your search path. Edit the makefile: define the C compiler installed
in your system. gcc -O2 -Wall provides the fastest code and inform you
about the things in the code the compiler doesn't like. Type
make. Building may take some time. If you run into trouble, consult
your system administrator. All executables will be built in the Pipes
directory. To use Pipes from other directory, include the directory
containing Pipes executables into your search path, or link all
executables to a directory which is included into your search path,
for example /home/your_login_name/bin.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

A full description of the command-line intrface is given in LightPipes
Manual!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

A full description of the TCL/TK based Graphical User Interface is
given in LightPipes Manual!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

LightPipes: port to MSDOS

There is not much to say about the port to MSDOS. Following the best
established traditions I distribute it without the source code - only
executables. It has the full functionality of the Unix distribution.
All the executable command names are cut to 8 letters, capitals are
not supported. Thus, for example, instead of a Unix command
LongCommandOfPipes you must use the abridged version: longcomm. Simple
NULL have to be used instead of /dev/null The .EXE files are compiled
with DJGPP compiler - many thanks to DJ Delorie.  If you don't have
enough memory, the program will swap to the harddisk.  I tested it on
a 386 with 2MB of RAM- it runs all the example scripts. I checked out,
it seems that it runs happily in a DOS box under MS Windows 3.1.  Use
part 1 of this manual as a command reference and tutorial. You just
have to take into account some basic differencies between DOS and
Unix.  The script syntax depends on the version of command.com you
use. Normal Microsoft command.com is supposed to be present. 4DOS is
better. There is a problem with programming loops in script .BAT
files, the simplest solution is just mechanical repetition of the
command inside the .BAT file.  The script files are getting longer,
but it works. There is a full set of ported to MSDOS example script
files in directory scripts.  There is no GUI for the MSDOS
distribution.

