Startup Script

From Flooxs
Jump to navigation Jump to search

Before running FLOOXS, you must set and export your FLXSHOME enviroment variable and your library paths first (see installation instructions re environment variables). Your path to the flooxs/rel2008 directory will be different on your machine, but as an example, here's how our lab computer is set up:

$ export FLXSHOME="/Users/Shared/FLOOXS/rel2008"
$ export LD_LIBRARY_PATH="/Users/Shared/FLOOXS/rel2008/lib"

Run flooxs by going to the $FLXSHOME/src directory and running one of these 3 options on the flooxs executable.

$ ./flooxs.new
$ ./flooxs.new -process
$ ./flooxs.new -device

The first option starts up a generic flooxs environment that can be used for either device or process simulation. The -process and -device flags run additional flooxs commands automatically on startup to prepare for a typical process or device simulation (e.g. it sets typical solution variables). Typing either

> ProcessPackage
> DevicePackage

on the flooxs command-line is equivalent to using the flags. If you are curious what exactly these packages do, examine the stdout (the text that appears on your screen) for the different options.

Setting the Environment Variables and Alias Automatically

Rather than typing this every time you log on or open a terminal, you can make a script (text file) that you can call (you can also put these lines in your .rc file). Here's an example of a startup script for a Bash shell that will set your FLXSHOME environment variable and alias paths to the FLOOXS executable.

On a terminal:

       $ gedit .bashrc

Copy and paste the following into the end of the file:

       ##########
       # FLOOXS #
       ##########

       alias flooxs="~/flooxs/rel2008/src/flooxs.new"
       alias floods="~/flooxs/rel2008/src/flooxs.new -device"
       alias floops="~/flooxs/rel2008/src/flooxs.new -process"
       export FLXSHOME="~/flooxs/rel2008"
       export LD_LIBRARY_PATH="~/flooxs/rel2008/lib"

Then, when you log on, or when you open a new terminal, source the startup script, then type your desired alias to run flooxs, e.g.:

$ source script.start
$ floods
>

Here's a full example output in case you're curious:

shockley:projects nrowsey$ source mac.start 
Setting iflooxs and libary paths, January 2010 Version
shockley:projects nrowsey$ floods
argc 2
i 0 argv /Users/Shared/FLOOXS/cur/src/flooxs.new
i 1 argv -device
i 0 argv /Users/Shared/FLOOXS/cur/src/flooxs.new
i 1 argv -device
i 0 argv /Users/Shared/FLOOXS/cur/src/flooxs.new
i 1 argv -device
Copyright 1993 University of Florida
Copyright 1995, 1996, 1998, 2000, 2003 University of Florida
Copyright 1995, 1996, 1998 University of Texas at Austin
                     _.---._     .---.
            __...---' .---. `---'-.   `.
        .-__.--' _.'( | )`.  `.  `._ :
      .'__-'_ .-- ._`---'_.-.  `.   `-`.
             ~ -._ -._``---. -.    `-._   `.
                  ~ -.._ _ _ _ ..-_ `.  `-._``--.._
                               -~ -._  `-.  -. `-._``--.._.--.
                                    ~ ~-.__     -._  `-.__   `. `.
                                          ~~ ~---...__ _    ._ .` `.
                                                      ~  ~--.....--~`
Alagator Scripting Enabled!
solution add name = Int !negative !damp nosolve 
solution add name = Vac !negative !damp nosolve 
solution add name=V2 nosolve !negative 
solution add name=I2 nosolve !damp !negative 
solution add name=C311 nosolve !damp !negative 
solution add name=D311 nosolve !damp !negative 
solution add name=Smic nosolve !damp !negative 
solution add name = Potential nosolve damp negative 
solution add name = Boron nosolve !negative 
solution add name = Phosphorus nosolve !negative 
solution add name = Arsenic nosolve !negative 
solution add name = Antimony nosolve !negative 
solution add name = Germanium nosolve !negative 
solution add name = Carbon nosolve !negative 
solution add name = CarbonInt nosolve !negative 
solution add name = Temp const val=25 add solve 
solution add name=DevPsi solve negative damp 
solution add name=Elec solve !negative 
solution add name=Hole solve !negative 
solution add name=Circuit solve negative damp circuit const val=0.0 
Initialized for Device Simulation

flooxs>

You may now type any flooxs commands on this command-line. You may also source any .tcl file with flooxs commands in it. Here are 3 options for running tcl decks:

$ floods simulation_deck.tcl
$

This will automatically exit out of floods and return you to a bash shell. This way you can write a bash script to run multiple flooxs decks right after another.

$ floods
flooxs> source simulation_deck.tcl
flooxs>

This will not exit out (unless you type exit in your deck on on the cmd-line, or ctrl-c). In this case you can continue to run more flooxs commands after your deck has run.