December 20, 1995 Version 96.xx
S R I M
The Stopping and Range of Ions in Matter
Instruction Manual
SRIM calculates the stopping and range of ions (10 eV - 2 GeV/amu) into matter using a full quantum mechanical treatment of ion-atom collisions (this manual refers to the moving atom as an "ion", and all target atoms as "atoms"). This calculation is made very efficient by the use of statistical algorithms which allow the ion to make jumps between calculated collisions and then averaging the collision results over the intervening gap. During the collisions, the ion and atom have a screened Coulomb collision, including exchange and correlation interactions between the overlapping electron shells. The ion has long range interactions creating electron excitations and plasmons within the target. These are described by including a description of the target's collective electronic structure and interatomic bond structure when the calculation is setup (tables of nominal values are supplied). The charge state of the ion within the target is described using the concept of effective charge, which includes a velocity dependent charge state and long range screening due to the collective electron sea of the target. A full description of the calculation is found in our tutorial book "The Stopping and Range of Ions in Solids", by J. F. Ziegler, J. P. Biersack and U. Littmark, Pergamon Press, New York, 1985 (out of print in 1992). This book presents the physics of ion penetration of solids in a simple tutorial manner, then presents the source code for SRIM with a full explanation of its physics. Further chapters document the accuracy of SRIM and show various applications.
SRIM will accept complex targets made of compound materials with up to eight layers, each of different materials. It will calculate both the final 3D distribution of the ions and also all kinetic phenomena associated with the ion's energy loss: target damage, sputtering, ionization, and phonon production. All target atom cascades in the target are followed in detail. The programs are made so they can be interrupted at any time, and then resumed later. Plots of the calculation may be saved, and displayed when needed (it takes 5 seconds to begin viewing a saved calculation).
SRIM results from the original work by J. P. Biersack on range algorithms (see J. P. Biersack and L. Haggmark, Nucl. Instr. and Meth., vol. 174, 257, 1980) and the work by J. F. Ziegler on stopping theory (see "The Stopping and Range of Ions in Matter", vol. 2-6, Pergamon Press, 1977-1985). The various versions of SRIM are described briefly at the end of this manual, and in the file VERSION on the SRIM disk.
If you use SRIM in a scientific publication, please mail a copy to the authors.
This will help continue support of SRIM in the future.
SRIM requires a Personal Computer with either a DOS or
OS/2 operating system, or a UNIX system with DOS emulation.
James F. Ziegler InterNet: Ziegler @ Watson.IBM.Com
IBM-Research, 28-0 Tele: (01) 914-9452165
Yorktown, NY Fax: (01) 914-9454149
10598, USA Fax Please use e-mail for any questions
< /A>Table of Contents Page
Putting TRIM on your Computer
Using TRIM Programs
Problems and System Error Messages 5
Stopping and Range Tables 6
Monte-Carlo TRIM Execution and Commands 7
Quick Start into Monte-Carlo TRIM 7
SETUP Program for Monte-Carlo TRIM 7
Type of Calculation 8
TRIM Memory Limitations 9
Types of Calculation Plots 9
Ion Name, Mass, Energy 9
Target Description 10
Calculation Parameters 11
Binding Energies of Target Atoms 12
Review of Input Data 12
Restarting a TRIM Program 12
Hotkeys Available for TRIM 13
TRIM : Menu of Analysis Plots 15
Saving Monte-Carlo TRIM Calculation Data 15
Running TRIM in the background (OS/2 and UNIX computers) 16
Data Files for Monte-Carlo TRIM Output 16
Files of Averaged Data 16
Files of Individual Ion or Recoil Atom Kinetics 17
Saving Details of Ion-Atom Collisions and Recoil Cascades 17
Detailed Recoil Cascade Data File : Command "Alt-C" 17
Reading Datafiles into Analysis Programs 18
Printing TRIM Plots 18
Special Purpose Programs and Files included with TRIM 18
Scientific Background to TRIM 20
Physics of Recoil Cascades 20
Physics of Sputtering 21
The Stopping of Ions in Compounds 22
Stopping Powers for Ions in Gases 23
Special Applications of TRIM 24
Ions starting with varying Energies, Angles and Depths 24
Calculating Plasma Ions Hitting a Solid 24
Simulating a Receding Surface from Sputtering 24
Simulating Reactor Radiation Damage in Metals 24
Special Setup for Multi-Layered Biological Targets 26
How to obtain 3-D plots of Electronic Energy Loss 27
How to use TRIM for Isotopically Enriched Targets 28
Straggling in Ion Energy Reducers (Energy Degraders) 29
How to Combine Multiple TRIM Calculations 31
Getting High-Resolution Collision Data from TRIM 32
Evaluating the Details of "Ion Mixing" Experiments 32
TRIM with full Recoils for Targets with Many Layers 33
Using TRIM for Mixed Gas/Solid Targets 34
Radiation Damage from Neutrons/Electrons/Photons 35
TRIM - Common Questions and Solutions 38
What are Radial and Projected Range Distributions ? 38
What is Straggling, Skewness and Kurtosis ? 38
What Causes Anomalous Peaks and Dips at Layer Edges ? 40
Cycling TRIM through Many Calculations Automatically 41
Running TRIM on PCs with Resident Memory Managers 41
Identification of the Disk Programs / Files 42
APPENDIX : Examples of TRIM Data Output Files 44
Examples of TRIM Individual Ion Data A-2
Table A 1 - RANGE_3D.TXT (Final 3D Ion Distribution) A- 2
Table A 2 - BACKSCAT.TXT (Backscattered Ion Kinetics) A- 3
Table A 3 - TRANSMIT.TXT (Transmitted Ion Kinetics) A- 4
Table A 4 - SPUTTER.TXT (Sputtered Atom Kinetics) A- 5
Table A 5 - SRIMOUT.TXT (Summary of Table A 2 -Table A 4) A- 6
Table A 6 - COLLISON.TXT (Ion-Atom Collision Kinetics) A- 7
Table A 7 - COLLISON.TXT (with Recoil Cascades) A- 8
Table A 8 - COLLISON.TXT (with Kinchin-Pease Damage) A- 9
Examples of Averaged TRIM Output A-10
Table A 9- TDATA.TXT (Summary of Calculation) A-10
Table A 10 - RANGE.TXT (Ion Range Distribution) A-11
Table A 11 - LATERAL.TXT (Ion Range Distribution) A-12
Table A 12 - IONIZ.TXT (Energy Loss to Ionization) A-12
Table A 13 - PHONON.TXT (Energy Loss to Phonons) A-13
Table A 14 - VACANCY.TXT (Vacancy Production) A-13
Table A 15 - NOVAC.TXT (Replacement Collisions) A-14
TRIM Input File : TRIM.IN A-15
Table A 16 - TRIM.IN - H into Si A-15
Table A 17 - TRIM.IN - Xe into Si/Pt/Si A-16
Table A 18 - TRIM.IN - H into Biological Target A-17
Versions of SRIM A-18
Legal Notices about SRIM A-20
Flow Chart of TRIM Programs A-21
Original SRIM disks contain a compressed file containing all the SRIM files. Insert the disk in a floppy drive and make that your default drive (by typing, for example, A:). Execute INSTALL to see instructions about how to install SRIM on your hard disk. You will make up a hard-disk subdirectory for SRIM. The subdirectory may have any name. Then the SRIM files will be placed into it, occupying about 1 Mbyte of disk space. First look at the file README in the SRIM directory for recent details about SRIM. If you want to run SRIM from Windows, an icon called SRIM.ICO is on the disk. A Postscript copy of this manual is also on the disk as files *.PS.
SRIM consists of two main programs, and several special-purpose programs. The two main programs calculate
These programs are accessed through the main SRIM menu described below. The auxiliary programs are described in the section "Identification of the Disk Programs / Files" and show how to save images, print images, change colors on the plots, etc. Also on the disk are the source-code of the stopping-power program and the TRIM transport program which shows the physics and also allows the stopping powers to be incorporated into other programs.
To start SRIM, enter the SRIM subdirectory and type the single letter command T .
This T program leads to all other programs. You will get the SRIM title page, and when you press any key you will get the Main Menu of SRIM. If you have immediate problems, see section "System Error Messages". For an overview of SRIM programming, see the SRIM Flow Chart at the end of this manual. The Main Menu allows you to select:
Help Screens which review SRIM physics and history. Get these by pressing H .
Tables of ion stopping and ranges in solids (Press S or R for this program). These are quick calculations (less than a minute) and are fairly accurate. Tables are provided for complex compounds such as photoresist, plastics, glasses, biological targets, concrete, stainless steel, etc.. An auxiliary program called STOP.EXE is also on the SRIM disk and allows more complicated arrays of stopping data to be built, such as one ion into all solids (this program must be directly executed from DOS).
Demonstrations of Monte-Carlo TRIM. It is instructive to try several of these to discover the range of TRIM options. Execute this program by pressing D .
TRIM Monte-Carlo calculations of the range and damage of ions in complex solids (Press Spacebar). There are four main parts: (1) Setup the ion and target, (2) Run the calculation, (3) Interrupt the calculation to look at plots of distributions, and (4) Save data files of all the details that you need. . Instructions are in section "Quick Start into Monte-Carlo TRIM".
Monte-Carlo TRIM is very versatile. It will handle ion energies from 10 eV to 2 GeV/amu, and targets with up to eight layers, made up of twelve different elements. Files may be generated for details about transmitted ions, backscattered ions, sputtered atoms or the data about every ion/target collision. This program is more accurate in calculating ion ranges that the transport program used in producing the range tables described above. However, the separate programs for calculating ion ranges rarely disagree by more than a few percent.
These calculations are described in detail in our book "The Stopping of Ions in Solids" (now out-of-print). Chapters 2 and 3 describe the stopping power calculations. Chapter 4 describes TRIM. Chapter 5 describes the transport equation called PRAL used for the SR quick ion range tables.
Note: To speed up TRIM calculations, see section on deleting Memory Managers !
Problems and System Error Messages
The following errors may occur:
SRIM has been run on OS/2 computers (version 2.+). If you have troubles, see section Running SRIM in the background in OS/2 and UNIX computers.
Programs do not execute at all. You must have a color monitor, a co-processor chip and about 410k FREE memory (DOS 5.0 frees up almost 50k of memory used by earlier versions of DOS). After the SRIM title page is shown, the program analyzes your free memory, and tells you if there may be problems. If you don't get a message, but go right into the Main Menu, then you should be OK. If you have not enough free memory, check your CONFIG.SYS and AUTOEXEC.BAT for memory eaters. The Stopping and Range tables use only 230k, and by executing S or R from the main menu, you can see if these programs work.
Missing disk files. SRIM needs 8 data files. If one of these is missing, it will tell you which one. The file TRIM.IN is created by the setup program of TRIM.
Strange graphics which look like things are missing. This occurs if you are using an early EGA card with only 64k RAM on it. SRIM requires an EGA card with 128k memory, or a VGA card.
All other errors will result in an error message. Please communicate any such errors to the authors, with a note about your last command input.
Error number 7 or 253 means Out of memory. You need more free memory. This problem is easily corrected with DOS 5.0, which allows most resident programs to be put in high memory.
Tables of ion stopping and ranges can be obtained using the commands S or R from the main menu, or by typing SR in DOS.
The ion Stopping Tables gives values which are the same as those used in the Monte Carlo program TRIM. You may request stopping for any ion, with energies from 10 eV - 2 GeV, in both solid or gaseous targets made of complex materials. A variety of stopping units can be selected, and the final table contains conversion constants to other stopping units. The table of stopping powers is stored on disk and is available for use in other programs. The stopping powers were originally derived in 1984 using theoretical and experimental methods described in our book (see ZBL citation below). These values were completely revised and improved in 1988, and again in 1995. The stopping powers are calculated using the program STOP96.BAS and uses the data sets SCOEF.95A, SCOEF.95B and SCOEFGAS.95. These are on the SRIM disk, with extensive comments within the files.
The ion Range Tables include both lists of the stopping powers given above, and also estimates of the ion range and its longitudinal and lateral straggle. These ranges are calculated using the program PRAL (Projected Range Algorithm) by J. P. Biersack (see citations below). This range calculation is remarkably accurate, and usually is within a few percent of the range values found using TRIM. The ranges calculated with TRIM should always be considered the benchmark, since the physical interaction between the ion and target atoms is considered in much more detail than in PRAL. If one wishes a table of ion ranges, one should consider obtaining a few ranges using Monte-Carlo TRIM and then interpolating using the tables of ranges produced by PRAL. The straggling values produced by PRAL are variable in accuracy, perhaps 20% for light ions, but up to 2x for heavy ions.
Citations:
Stopping powers are described in "The Stopping and Range of Ions in Solids", volume 1, by J. F. Ziegler, J. P. Biersack and U. Littmark, Pergamon Press, New York, 1985 (out of print in 1992).
The scientific / mathematical assumptions of PRAL were developed over a decade of effort, and are described in: J. P. Biersack, Z. fur Physik, 211, 595 (1968; J. P. Biersack and W. Kruger "Ionenimplantation", ed. by H. Ryssel and G. Ruge, B. G. Teubner Press, Stuttgart (1978 - out of print); H. Ryssel, G. Lang, J. P. Biersack, K. Muller and W. Kruger, IEEE Trans. Elec. Dev., ED-27, 58 (1980); and J. P. Biersack and J. F. Ziegler, "The Calculation of Ion Ranges in Solids with Analytic Solutions", pp 157-176, in "Ion Implantation Techniques", ed. by H. Ryssel and H. Glawischnig, Springer-Verlag, Berlin (1982 - out of print). The final version of the PRAL program is fully described in the ZBL stopping book cited above, pages 155-164.
M onte-Carlo TRIM Execution and Commands
Quick Start into Monte-Carlo TRIM
It is helpful to first run a few demonstration programs of Monte-Carlo TRIM in order to see what it will do. Execute T in DOS, then Spacebar to clear the title page. In the Menu of Applications, select the demonstrations by typing D. This will show a selection of 12 possible uses of TRIM. Select an example somewhat similar to your application by entering the demo-letter. This will write the datafile TRIM.IN on your disk, which is the input control file for TRIM (Monte-Carlo), and then it will automatically start the TRIM program. You are in the TRIM program when you are asked whether this is a New or Old TRIM calculation. Select New by pressing N. TRIM will read the datafile TRIM.IN, and calculate the necessary stopping-power tables. Then it will display the ion/target data, and begin the calculation. An animation of the ion will be shown on the screen, along with its collisions within the target. Let the calculation continue until a few ions have finished. Then press Spacebar. This will bring up the Menu of Distributions. This Menu allows you to see plots of various aspects of the calculations. It will also allow you to create datafiles (using the command T) which may be used for later analysis. You might try all of these commands to see what they do. You may resume the TRIM calculation by pressing Spacebar or R. You may quit the demonstration by pressing Q from this Menu. You will be asked if you want to save the calculation (in order to restart it later). Answer N to return to DOS. To try another demonstration, again press T from DOS to start TRIM.
Once you have an idea what TRIM (Monte-Carlo) does, you are ready to setup a new calculation. Execute T in DOS, then Spacebar, Spacebar to enter the TRIM Setup program. For a first try in using this setup program for TRIM, press Enter after each question to accept each default. Default values for every question are show in square brackets. If there are questions in this setup that you don't understand, TRIM suggests reasonable defaults. The Setup program is described in detail below. The setup program writes a file TRIM.IN and links to the main program called TRIM.EXE (Examples of datafile TRIM.IN are described in the Appendix. When you see the question "New TRIM or Old?" you are in the main program.) Press Enter. TRIM starts by building a table of stopping powers. Then you will see animated ions which show the progress of the calculation. During the calculation, the available hotkeys are shown in the upper-right of the screen (they are red if in use). Press H during the calculation to get a quick Help Menu about them. At any time, you may press Spacebar and TRIM will be interrupted (it may take a few seconds to pause the calculation because TRIM will not interrupt the calculation of a complex collision cascade). This interruption brings you to a Menu of Plots so that you can see the progress of the calculation. After viewing these plots, you may continue the calculation by pressing R (restart) or Enter. The TRIM calculation may be interrupted at any time, and then restarted later, by pressing Q (quit) from the menu of plots instead of R. You may store calculations on your harddisk (subsequent calculations will over-write previous data) or on a floppy disk.
SETUP Program for Monte-Carlo TRIM
TRIM is initiated by executing T in DOS, then pressing Spacebar (for the Menu) and Spacebar (start new TRIM). This puts you into the Setup program for TRIM. At any time you may restart the Setup program by pressing the Esc key.
The setup for TRIM might seem at first glance to require a PhD in Radiation Damage Physics, but reasonable default values are suggested for everything. The instructions below give brief explanations of all the questions. For further definitions and discussions, see the section Physics of Recoil Cascaades later in this manual or our tutorial book. By pressing Enter during the setup program, and accepting the various defaults, you will probably do as well as the authors in running TRIM. The following questions are asked in the setup program:
TRIM is limited to 640k memory because of DOS limitations. You will be shown a screen which shows how much memory there is available on your PC, and how this will impact your calculation. If you are using Windows-95 or OS/2, you may have a full 640k memory available. If you are using DOS, then various resident programs will reduce the available memory. TRIM tries to estimate how much memory that you have available, and displays this number.
If you are not concerned with the details of collision cascades, you may specify a "Kinchin-Pease" type of calculation which estimates cascade damage effects without taking up memory. This type of calculation will be the type selected by most users, and it allows TRIM to use up to twelve different elements, arranged into up to eight layers.
If you need a precise calculation of full collision cascades within the target, then you will specify this in the first screen of the TRIM setup program (see section above). This kind of calculation takes up much more memory and you will be limited to up to four elements in up to three layers. It is possible to use TRIM with full cascades in more complex targets, and this is discussed later in the section called: How to Use TRIM for Targets with Many Layers. Basically, you will run TRIM for the first three layers, and use the datafiles of the ions which go through these first three layers as input into a new TRIM calculation for the next layers.
During the calculation of TRIM, the screen will show a two-dimensional projection of an animated ion and also all damage cascades. This gives a quick indication of whether the calculation is doing what you want it to do. The following plot options are available. You may switch from one to another plot during the calculation by pressing the hotkey P. The coordinate system of TRIM is defined with the X-axis being depth into the target, and the Y-axis and the Z-axis being transverse.
The last option can speed TRIM calculations by up to 3x, so many users start TRIM using one of the display plots, and then change into this mode using the P hotkey for the bulk of the calculation. This last option is required to run TRIM in the background in some operating systems such as UNIX or OS/2 .
Enter the ion name, e.g. O for oxygen or He for helium (TRIM ignores the case of the letters). For the ion mass, TRIM suggests the mass of the most abundant isotope. However, you may enter any mass (units = amu). For the ion energy, enter any value (units = keV). TRIM will accept any values from 10 eV to 2E9 eV/amu. For ions above 2 GeV/amu, TRIM does not include the necessary density corrections to allow accurate evaluation of stopping powers. One also should be cautioned that TRIM does not include any nuclear reaction analysis, so that ions with energies above about 5 MeV/amu may have inelastic energy losses which are not included.
Binding Energies of Target Atoms
This data input is beyond the knowledge of most TRIM users. All of the values requested are known for only a small number of targets. TRIM gives reasonable values as defaults.
This is the final screen of the Setup program for TRIM. All of your input values are displayed. If any are wrong, press the Esc key to start over at the beginning of the Setup program. If you press Enter, this data will be filed on disk as file TRIM.IN and the program will jump to the main TRIM program. When you see the question "New TRIM or Old?" you are in the main TRIM program. To abort this program at any time you may press Ctrl+Break.
At a later date, if you want to start up a saved TRIM calculation, select O from the main menu (Old TRIM) and then enter O when asked "New TRIM or Old ?" by the main TRIM program. TRIM constantly writes over old data, so it will restart the last calculation unless you have saved the data into a different directory. If you want to run a new TRIM calculation with small changes to the previous TRIM calculation, you can try to edit the file TRIM.IN and change only those values which you would like to vary (examples of datafile TRIM.IN are shown in the Appendix). This is usually much faster than rerunning the Setup program.
If a TRIM calculation runs to completion, and you would like to continue with more ions, you will have to edit the file TDATA.SAV. This is the file that contains all the information about the current TRIM calculation. It is well commented, and simple to alter. By changing the number of ions to calculate, and restarting TRIM as an Old TRIM, it will continue with the next ion.
During the setup program you will be asked about various tables which can be generated for later use. You can also start/stop these tables during the calculation. The following single-letter commands are available during the running of the Monte-Carlo TRIM. No commands are executed during the middle of a recoil cascade, so you may have to wait until the cascade is exhausted for execution.
The commands B, C, I, R, S, T and V are called "Toggle Commands". When you execute them, they cycle from Off to On to Off, etc. The name toggle comes from a "toggle switch" which alternately turns lights on and off. The hotkey list on the screen will display in red any active toggle command.
F2 - (Function key 2) Save current graphics screen on disk. The file will be named TRIMPLOT.xxx , where xxx is the picture number. Usually, you will not be able to PRINT during the calculation because resident printer programs which use DOS will not work with TRIM active. After you finish TRIM you can access these plots using the program PLOTS. It will allow you to cycle through all the plots with resident DOS printer programs now being able to copy them. See section on "Printing TRIM Plots".
SPACEBAR - Bring up the menu of plots and SAVE options. You may bring this up at any time (the program will wait until the current recoil cascade is finished).
A - Redraw AXES and lettering on calculation plots. As the calculation proceeds, these may be over-written by displays of the ion path or by recoil cascades. The axes and lettering are rewritten without erasing any other part of the plots.
B - Turn on/off the data file BACKSCAT.TXT. See Table A-2 in the Appendix. After pressing this key, the data about any subsequent backscattered ions will be stored. This includes the ion final trajectory and energy. Stop storing data by pressing the key at a later time. Further execution appends to the existing BACKSCAT.TXT file. (See section Data Files for TRIM Output.)
C - Make a diskfile of the results of each COLLISION. which produces vacancies (damage). This command opens the black-box of TRIM and allows you to see in detail what is happening within the program. The data about the ion is presented at each collision (depth, energy, energy loss), and then the number of vacancies produced by that individual cascade are noted. The purpose is to keep a record of the damage created as a function of ion energy and of the target depth. This data is stored in the file : COLLISON.TXT .. See Table A-6 in the Appendix. The command C may be executed at any time, and pressing C a second time turns the recording of damage off. Subsequent pressing of C adds to the existing file. A flag is shown on the screen indicating when data is being recorded. The file COLLISON.TXT may be analyzed using simple programs like READDATA.BAS which is on the TRIM disk. (See section Data Files for TRIM Output.)
Alt-C - Increase the detail of the COLLISON.TXT file discussed above and show every recoil collision. See Table A-7 in the Appendix. This command creates about 64kB bytes of information per 1000 vacancies so it should be used with caution. (See section Data Files for TRIM Output.)
E - ERASE the current plots of TRIM. This allows you to see what is happening once the screen gets too full of ions and recoils. The calculation does not reset, but continues on even though the display is erased.
I - Turn on/off the display of the ION'S energy and position, and the energy of any recoil cascade. This display slows the calculation by about 20%. If a cascade energy is shown, the ion energy will be its energy after the collision.
H - HELP. A Window appears with a brief description of all these command keys. These commands are called Hotkeys since they interrupt the calculation and are always active (except during a recoil cascade).
M - MOVE plots. One plotting option is four simultaneous plots of the TRIM calculation. This command "M" allows you to exchange the position of the plots. You lose no plots or data. Only the position of the plots is changed. The plots are identified by the number preceding the title of each plot.
P - Change PLOT type. There are five possible displays during the TRIM calculation. You may select from either longitudinal or lateral views, and with or without the recoils shown. If the plot type is changed, the plot is cleared but no data is lost.
R - Turn on/off the recoil cascades. Sometimes you may start a TRIM calculation with full recoil cascades and then begin wondering if you made the bottom layer deep enough to trap all the ions. Using this command you can turn OFF the cascades and watch a few ions rapidly complete their path. This allows you to see if the depth layers you have set up are adequate. Note: if you turn on the recoils when the program has originally been set up for no-recoils, then the recoils will have no electronic stopping powers. Switching between the two types of cascades will make the final distributions somewhat unreliable.
S - Turn on/off the data file SPUTTER.TXT. See Table A-4 at the back of this manual. After pressing this key, the data about any subsequent sputtered atoms will be stored. This includes the atom final trajectory and energy. Stop storing data by pressing the key at a later time. Further execution appends to the existing SPUTTER.TXT file. (See section Data Files for TRIM Output.)
Alt-S - Turn on/off special displays and plots which show the calculated sputtering yield. This toggle, when on, displays a special sputtering yield box on the main animated cascade display, and also creates a special plot of sputtering vs. surface-binding energy. Turning it off resumes the normal displays. This key is not available for Kinchin-Pease calculations which do not include any sputtering.
T - Turn on/off the data file. See Table A-3 at the back of this manual. After pressing this key, the data about any subsequent transmitted ions will be stored. This includes the ion final trajectory and energy. Stop storing data by pressing the key at a later time. Further execution appends to the existing TRANSMIT.TXT file. This data file may be analyzed with programs such as TRANSMIT.BAS which is on the TRIM disk. (See section Data Files for TRIM Output.)
NOTE: The above commands are detected only during the calculation of the ion's trajectory. If you type one of them during a recoil cascade calculation, it will not be executed until after the cascade is finished.
While TRIM is calculating (the animated-ion screen is visible), you may examine the calculation by pressing Spacebar. This will bring up a Menu of Saves/Files/Plots, which will allow you to look at plots of current average distributions, or save the current results. Commands which are available from this Menu are:
A-G These commands are for the plots of the TRIM distributions. The plots vary with different TRIM setups, so the available plots are described in the Menu.
H - HELP. This brings up several screens of descriptions of the command keys available in TRIM.
Q - QUIT the TRIM program. You will be asked if you wish to save the program's data so you can restart it at a later time. The data will be saved in files call *.SAV. You will be given the option to save in the default directory, or in any other directory.
R - RESUME the calculation. This brings back the plot of the ion penetration and resumes TRIM. (Pressing ENTER also resumes the calculation.)
S - Change the AutoSAVE number. TRIM will automatically save itself after a predetermined number of ions, for example after every 100th ion. You may change this number using this command.
T - Make a TEXT file of all the TRIM distributions. The program will make a group of disk files called *.TXT which contain the full data of the calculation. These files may then be analyzed by other programs.
Saving Monte-Carlo TRIM Calculation Data
TRIM may be saved simply by pressing Q (for Quit) from the Menu of Plots, and then answering Y when asked if you wish to save the calculation. This will save everything that is needed to restart the calculation at a later date. It will save all the averaged distributions. It will NOT save details of individual ions unless these files were turned on at an earlier point. Various other files of data may also be created:
Files *.SAV . These files allow TRIM to continue a calculation and are stored when you press Q from the Menu of Plots. There are eleven files. This is all that needs to be saved to restart TRIM and plot the distributions.
Files *.TXT . These are text files which are described in the section Data Files for TRIM Output (See Appendix). These files are in ASCII code (normal text characters) and may by analyzed by other programs. Individual ion data is saved using the hotkey commands B, C, S and T during the calculation. Averaged ion data is saved using T from the Menu of Plots/Saves.
Files TRIMPLOT.* . These are pictures of the animated screen, or of the distribution plots, which are saved by pressing F2 during the calculation. Each picture takes about 112k bytes of space. There are two disk files per picture. The program PLOTS.EXE on the TRIM disk allows you to review the above TRIMPLOT pictures. Just type PLOTS and it will cycle through all saved pictures.
See section on "Monte-Carlo TRIM Execution and Commands " and section "Data Files for TRIM Output" for more details.
Running TRIM in the background (OS/2 and UNIX computers)
TRIM can be run in a "DOS Box" in the background of PCs with multiple-job processors such as Intel 386 or 486. It also can be run in a Windows-3.0, OS-2 or an UNIX environment with DOS emulation (no information yet about Windows-95).
For OS/2 (versions 2.0+), TRIM runs without problems in a either full-screen DOS sessions or a DOS box. For operation in a window, the following parameters are set: COM_DIRECT_ACCESS = off; HW_ROM_TO_RAM = on; IDLE_SECONDS = 60; IDLE_SENSITIVITY = 100%; SESSION_PRIORITY = 32. (Contributed by W. Newhauser, Germany.)
For all non-DOS systems, TRIM can usually be run normally in the background, but it may be necessary to turn off the graphics with some operating systems. There are two ways to turn OFF the graphics in TRIM. You may specify this in the TRIM input program when you are asked which type of graphics you want. Or you may turn OFF the graphics at any time during the running of TRIM by using the hot-key "P" which changes the plotting selection. You may turn the graphics back ON at any time by using the hot-key "P" and specifying any of the graphics modes.
While the graphics are turned OFF, there are no plots available of the distributions. All the data may be saved as disk files, and be accessed later as needed.
Data Files for Monte-Carlo TRIM Output
Special data files can be requested for details of the TRIM calculation. All these files have the filename of *.TXT, indicating that they may be read by text editors. These files are created either in the TRIM setup program, or using hotkeys during the calculation, or by issuing commands from the plotting menu. Examples of typical output can be found in the Appendix of this manual.
The various plots available from the Menu of Plots (accessed by pressing spacebar during a TRIM calculation) show averaged values. Examples are: Ion range, Ion lateral straggle, Ionization energy loss, Vacancy production, etc. All these averaged quantities are also available as files which can be stored on disk. These disk files are generated by pressing T (for Text files) from the Menu of Plots. When this command is executed, the files will contain the same data as shown in the current plots. When you quit TRIM, by using the Q command, you will be asked if you wish to generate a set of these files. About eight files will be created (the number varies with the type of calculation being made), and a summary of the contents of these files will be contained in a separate file: TDATA.TXT. When you save a set of files, TRIM will write over any old files, so you must move or rename any old files with the same names.
Files produced by command "T" in the TRIM Menu of Plots/Saves. See end of manual for examples.
TRIM breaks the target into 100 equal-depth bins for these averages, and usually stores averages in units of (Event)/(Angstrom-Ion). These bins are only used for the storage of these averages.
Files of Individual Ion or Recoil Atom Kinetics
Disk files may also be made of various types of collisions, and also for ions and target atoms leaving the target. These disk files give detailed numerical tables. Typical samples are shown in Table A-1 - Table A-8 in the Appendix to this manual. They may be requested from the input menu for TRIM, or turned On/Off during the calculation. For example, pressing the hotkey B during the calculation turns On/Off the file of Backscattered Ions called BACKSCAT.TXT. (See section on TRIM Execution and Commands for various files.) Below is a list of the available file names and file description.
RANGE_3D.TXT - Final three-dimensional location of all ions which stop in the target. This file can only be requested during the TRIM setup program. See Table A-1.
BACKSCAT.TXT The kinetics of all backscattered ions (energy, location and trajectory). See Table A-2.
TRANSMIT.TXT The kinetics of all transmitted ions (energy, location and trajectory). See Table A-3 and note below.
SPUTTER.TXT The kinetics of all target atoms sputtered from the target. See Table A-4.
TRIMOUT.TXT A summary table of the backscattered, transmitted and sputtered atoms. See Table A-5.
COLLISON.TXT A table of all ion/target atom collisions which lead to target damage. This file may contain various quantities which are described when it is requested. See Table A-6 to Table A-8. See also the section: Saving Details of Ion-Atom Collisions and Recoil Cascades.
Note: Included on the TRIM disk is a program which makes a statistical analysis of transmitted ions. The program is TRANSMIT.BAS and can be run under interpretive Basic. By listing this Basic program you can modify it to calculate various other averages. This program can be simply modified to analyze other *.TXT files such as those for backscattered ions and for sputtered atoms.
Saving Details of Ion-Atom Collisions and Recoil Cascades
During the calculation, you can generate a file, COLLISON.TXT, which contains the kinetic data on every ion/target collision which exchanges enough energy to produce a vacancy (energy above the Displacement Energy). This file is turned on during TRIM using the "C" command. If the data file is turned off, then on again, further data is appended to the old data. Typical data is shown in the Appendix at the end of the manual in Table A 8. (Also see section on TRIM Execution and Commands and also the section Data Files for Monte-Carlo TRIM Output.)
Detailed Recoil Cascade Data File : Command "Alt-C"
For those who need every last detail of the collision cascades, there is a further command "Alt-C". This adds to the COLLISON.TXT file the details of EVERY collision in a cascade which produces a displacement. As the cascade proceeds, all details of the collisions are filed, and when the cascade ends, the summary of each cascade is filed. The command "Alt-C" may be toggled On/Off at any time. When Alt-C turns OFF the cascade details, the command "C" is still active and the summary of each cascade is still filed. The status of "C" and "Alt-C" are indicated in the upper right part of the TRIM screen during the calculation by turning the command letter from white to red.
The data produced by Alt-C is included in the COLLISON.TXT file, see Table A-7 at the end of this manual. For details, see the later section on Physics of Recoil Cascades.
NOTE: A Cascade with 1000 recoils will take about 64 kB bytes of memory if "Alt-C" is active.
Reading Datafiles into Analysis Programs
TRIM can produce many data files which can be analyzed by your own programs. All the data files which may be read in ASCII have the filename of xxxxx.TXT, where the TXT implies the file is a character file using standard ASCII characters (in contrast to a binary file or a BCD file). These files are created by pressing any of the hotkeys B, C, S or T during the calculation (see above), or by using the T command on the TRIM plot menu (this command creates 7 additional data files). The files contain many lines of comments, but these may be easily avoided by programming tricks to bring only the relevant data into your BASIC analysis programs.
Included on the TRIM disk is a program, READDATA.BAS, which gives an example of how to read data, using an interpreted BASIC program, from one of the xxxxx.TXT files. It reads the data from the file COLLISON.TXT, ignoring the comment lines, and then prints out the data to the screen to show that it has read the lines correctly (see Table A-6 and Table A-7). Please note that you must first create a COLLISON.TXT file before you execute READDATA.BAS. To do this, start a TRIM calculation with full cascades, and press the hotkey "C" at any time (you may press it during the initial calculation of stopping powers if you want it to start at the beginning of the calculation). After a few minutes of calculation, press spacebar and then Q to end TRIM. You will find that COLLISON.TXT now exists on your default drive, and you may start the analysis using the command: BASICA READDATA .
In order to PRINT a picture shown by TRIM you first must save it as a disk file. This is done by pressing function key " F2 " at any time. Each picture is stored as a file called TRIMPLOT.xxx, which is in a format compatible with the BASIC commands BLOAD and BSAVE used with SCREEN 9. Since there are so many different computer printers available, it is impossible for us to provide software to drive them all. Instead, you must install the resident printer-driver which comes with the printer, and then display the stored graphics using the program PLOTS after you leave the TRIM program.
Two forms of the display program PLOTS are included: PLOTS.BAS and PLOTS.EXE. If the EXE file does not work with your printer, you can use the code in the BASIC file to show the plots (however the colors mysteriously change hue).
Special Purpose Programs and Files included with TRIM
Several special programs are included on the TRIM disk:
TRIM.PRO - This data file contains the plotting parameters used by TRIM. You may modify this data to change the colors of the plots, or the size of writing on the plots.
TRIM.IN - This data file contains the input data to TRIM. You may modify this data with an Editor to make simple changes, such as the ion's energy, without having to go through the complete input program. After saving the file, just execute TRIM. You may not use an editor which reformats the file, or puts in special carriage returns (such as WORDSTAR or WORD).
STOP.EXE - This program can be used to make up a matrix of stopping powers, e. g. the stopping of an ion in all elements at a given energy, or all ions in one target at one energy, or other types of loops. The results are stored in a disk file.
PLOTS.EXE - This program allows you to review plots which you have stored while you have executed TRIM. During TRIM you may save any of the plots by pressing F2 (function key #2). These plots will be stored as files call TRIMPLOT.xxx. If you wish to print out these plots, or review them at a later date, you need to execute PLOTS with the files on the same default drive.
TRANSMIT.BAS - This BASIC program operates on the disk file TRANSMIT.TXT which TRIM can produce for the details of ions penetrating thin films. It analyzes the energy and angle of transmitted ions and calculates the statistical distributions. Execute this program in DOS with : BASICA TRANSMIT .
READDATA.BAS - This program shows an example of how to read xxxx.TXT datafiles into BASIC programs for analysis. See section on "Reading Datafiles into BASIC Programs" for details.
In additions to these programs, there are the principle programs which have been described before:
The easiest way to understand the TRIM cascades is to start TRIM (with the full cascade calculation option) and press the hotkey "C" which will start storing every ion/atom collision in a file called "COLLISON.TXT" (see Table A-6 and Table A-7). Note that you may press this key during the calculation of the stopping powers, at the beginning of TRIM, and the file COLLISON.TXT will start with the first ion. This file can get quite large, so for a first experiment try it only for a few minutes of calculation time. Then stop TRIM and edit the file COLLISON.TXT using any text editor. You will see tables of each ion colliding with various atoms in the target, and the detailed results of any collision cascades. Only those collisions which produce at least one displacement are tabulated, so you may not have a record of every collision.
In the table COLLISON.TXT, first the current ion energy and depth are given, and then the current rate of energy loss of the ion to the target electrons, the electronic stopping power, called "Se" in the table with units of eV/Angstrom. Then the target atom which is hit and starts a recoil cascade is identified, with its recoiling energy. Each cascade is then divided into displacement collisions, vacancy production, replacement collisions and interstitial atoms, as described below.
In the table, the number of displacement collisions records how many target atoms were set in motion in the cascade with energies above their displacement energy (which you specified in the input program to TRIM). The next item in the table is Target Vacancies. A vacancy is the hole left behind when a recoil atom moves from its original site. Next, the table shows replacement collisions, which reduce the number of vacancies. If a moving atom strikes a stationary target atom and transfers more than its displacement energy to it, and the initial atom, after the collision, does not have enough energy to move onwards, and it is the same element as the atom it struck, then it just replaces that atom in the target and there is no vacancy created. Although this may sound complicated, this mechanism may reduce the total vacancies by up to 30%. The summation goes:
Displacements = Vacancies + Replacement Collisions
Finally, the table lists interstitial atoms. When a recoil atom stops, and is not a replacement atom, then it becomes an interstitial. These may be summed as:
Vacancies = Interstitials + (Atoms which leave the target volume)
If a cascade atom leaves the target volume, it is no longer followed. That is, if it leaves the target front surface or the rear surface, it is discarded. TRIM will follow atoms indefinitely as they go sideways, even though they leave your screen. But if they go through either target surface they are discarded and not counted. So vacancies occur within the target, and the final resting place of a moving recoil atom can be some distance from its vacancy. If it recoils and leaves the target, clearly the sum of interstitials will be less than the number of vacancies by the loss of that atom. Replacement collisions are not part of this equation because each replacement collision reduces the number of vacancies and the number of interstitials by one, leaving the equation in balance.
The calculation of cascades, target displacements, replacement collisions, etc. makes certain assumptions which are defined explicitly below:
Assume an incident atom has atomic number Z1, and energy E. It has a collision within the target with an atom of atomic number Z2. After the collision, the incident ion has energy E1 and the struck atom has energy E2. Previously specified for the target are energies Ed, the displacement energy, Eb, the binding energy of a lattice atom to its site, and Ef, the final energy of a moving atom, below which it is considered to be stopped.
A displacement occurs if E2>Ed (the hit atom is given enough energy to leave the site). A vacancy occurs if both E1>Ed and E2>Ed (both atoms have enough energy to leave the site). Both atoms then become moving atoms of the cascade. The energy, E2, of atom Z2 is reduced by Eb before it has another collision. If E2<Ed, then the struck atom does not have enough energy and it will vibrate back to its original site releasing E2 as phonons.
If E1<Ed and E2>Ed and Z1 = Z2, then the incoming atom will remain at the site and the collision is called a replacement collision with E1 released as phonons. The atom in the lattice site remains the same atom by exchange. This type of collision is common in single element targets with large recoil cascades. If E1<Ed and E2>Ed and Z1Z2, then Z1 becomes a stopped interstitial atom.
Finally, if E1<Ed and E2<Ed, then Z1 becomes an interstitial and E1+E2 is released as phonons. If your target has several different elements in it, and each has a different displacement energy, then Ed will change for each atom of the cascade hitting different target atoms.
For those using the TRIM "quick" calculation of target damage, TRIM uses the Kinchin-Pease analytic solution for target damage as modified by two later authors. A brief description of this method is given in our textbook on pages 115-116 (see page one). Typical output is shown in the Appendix in Table A-8. The following references would also help in understanding its formalism:
1. Kinchin and R. S. Pease, Rep. Prog. Phys., vol. 18, 1 (1955).
2. P. Sigmund, Rad. Eff., vol. 1, 15 (1969).
3. M. J. Norgett, M. T. Robinson and I. M. Torrens, Nucl. Eng. Design, vol. 33, 50 (1974).
Note that the file COLLISON.TXT can be analyzed using the sample program READDATA.BAS which is described in the section "Reading Datafiles into BASIC Programs".
Sputtering is the removal of near-surface atoms from the target. When a cascade gives a target atom an energy greater than the "surface binding energy" of that target, the atom may be sputtered. To actually be sputtered, the atom's energy normal to the surface must still be above the surface binding energy when it crosses the plane of the surface. The sputtering of a surface is described by a "Sputtering Yield", which is defined as the mean number of sputtered target atoms per incident ion. If the target is made of several elements, there is a separate sputtering yield for each element.
The surface binding energy of an atom to a surface is known only for a few materials, but it is common to use the heat of sublimation as an estimate. Typical values are: Ni (4.46 eV), Cu (3.52 eV), Pd (3.91 eV), Ag (2.97 eV), Pt (5.86 eV) and Au (3.80 eV). Values will be suggested when you set up the TRIM calculation.
One may calculate sputtering by setting up a normal TRIM calculation with full recoils. By asking for the data file SPUTTER.TXT, a description will be made of each sputtered atom (see Table A-4). However, in order to achieve increased speed in determining sputtering yields, TRIM can be specially for a sputtering calculation to concentrate on this one aspect of cascade transport. For this reason, other parts of the calculation are not shown on the screen (e.g. vacancies / ion) as they are inaccurately calculated. This special sputtering calculation is accessed from the first menu in the Monte-Carlo TRIM setup. Typically, an increase of about 50x is achieved with this special sputtering calculation, allowing the evaluation of thousands of ions overnight.
Only the cascades which reach back to the target surface are important to sputtering, so it is usually adequate to use only a thin target to simulate sputtering. For heavy ions, e.g. heavier than 20 amu, a target thickness of 40A to 50A is usually adequate. Using a very thin target reduces the time spent calculating cascades which will not contribute to sputtering. For light ions, e.g. He, it will be necessary to use thicker targets, as much as 300 - 500 A, since these ions may backscatter from deeper in the target and cause sputtering as they exit from the target surface. The target depth needed for a calculation may be estimated by running several quick cases and seeing for what target depth the sputtering yield remains constant.
For the sputtering yield for light ions, H - Li, we use the approach described in J. P. Biersack and W. Eckstein, Appl. Phys., A34, 73-94 (1984). See figure 3 of this paper.
A final word of caution. The sputtering yield is very sensitive to the Surface Binding Energy which you input to the calculation. Be aware that for real surfaces, this changes under bombardment due to surface roughness, and also changes due to surface stoichiometry for compounds. Further, sputtering involves mostly the upper monolayer of the target. For targets such as Ni, or heavier, the electronic energy loss of a target atom moving through the last monolayer is of the order of the surface binding energy, so even monolayer roughness will change the sputtering yield.
The sensitivity of sputtering yield to surface binding energy may be displayed during the calculation by using the plotting menu. The plots of sputtering yield to SBE are accurate to about 30%.
The Stopping of Ions in Compounds
A large dictionary of COMPOUNDS has been integrated into the programs. The stopping of ions in compounds is executed using the formalism described in "The Stopping of Ions in Compounds", by J. F. Ziegler and J. M. Manoyan, published in Nuclear Instruments and Methods, Vol. B35, 215-228 (1989). The dictionary of compounds can be accessed from the programs whenever they ask you to describe your target. By typing "T" the programs enter the dictionary.
About 100 compounds are described in the dictionary. You may add other compounds by editing the file COMPOUND.DAT. At the top of this file are instructions about how the dictionary is constructed, and then the dictionary shows its 100 examples. You will need to know not only the composition of the compound, but also the chemical bonding state of the light elements such as H, C, N, and O. It is easiest to find a compound in the dictionary which closely resembles your new compound, and just alter the parts of this definition.
For a review of the stopping of H and He in compounds, see the review in the report: ICRU Report #49 (ISBN 0-913394-47-5), International Commission on Radiation Units and Measurements, 7910 Woodmont Ave., Bethesda, MD, 20814, USA. Note that the values quoted in this reference as being from TRIM or Ziegler are from 1977, and are not representative of current TRIM values.
Stopping Powers for Ions in Gases
TRIM calculates special stopping powers for ions in gas targets of H, He, N, O, Ne, Ar, Kr and Xe. Any gas targets of elements other than those in the above list are treated as solids. This does not mean that the target phase-state is not important, only that there is little data and no general theory. For example, measurements of the stopping of H in Zn, comparing stopping in gas and solid phases, shows 50% stopping differences for ion energies below 100 keV (see references below) There is only beginning to be a theory to calculate this difference. So TRIM may be inaccurate in calculating the stopping of slow ions in, for example, Zn vapor.
The difference between the stopping of ions in gas versus solid targets of H, He, N, O, Ne, Ar, Kr and Xe is only important at low ion velocities. For ions above 200 keV/amu, their stopping in solid and gas targets of the same element differ by less than 10%. Below this energy, the difference may reach almost a factor of two. See reference below (Z & M) as to how TRIM treats the differences.
If you ask TRIM for the stopping of ions in gases of compounds, e. g. CO2, it will use gaseous stopping powers for O (which is in the above list) and stopping powers for solid C. If you ask for stopping in solid targets of CO2, you will get stopping for solid C and for solid O added together. If you use the Table of Compounds, you can select CO2 from the table and obtain chemical binding corrections to the stopping of both C and O (see section "The Stopping of Ions in Compounds").
For heavy ions, Li - U, there is little data about stopping differences between solids and gases. For these ions, TRIM assumes similar phase differences as for H and He ions in the same targets. For exact details, see the BASIC program STOP96.BAS, which is in the TRIM directory.
The stopping of ions in gases is very dependent on the gas pressure. One may find stopping differences of more than a factor of two for pressures other than STP (0o C, 760 mm). This difference is especially true for gas densities within 95% of STP, i.e. partial vacuum conditions. TRIM assumes the target is at STP.
The phase effect (gas vs. solid target) on stopping powers is of long interest, and one might begin a study of this subject with the excellent paper: W. Mechbach and S. K. Allison, Phys. Rev. 132, 294 (1963). There is no recent review paper which covers all of the above physics. For a discussion of current insights into the phase-effect on stopping powers of ions in materials, see P. Bauer, F. Kastner, A Arnau, A. Salin, P. D. Fainstein, V. H. Ponce and P. M. Echenique, Phys. Rev Lett, 69, 1137 (1992), or G. Schiwietz, Phys. Rev. 42A, 296, (1990). For details of solid/gas calculations in TRIM, see J. F. Ziegler and J. M. Manoyan, Nuclear Inst. and Meth., B35, 215-228 (1989).
APPENDIX : Examples of TRIM Data Output Files
Insert Part 2 of TRIM Postscript File here.
Table A 1- RANGE_3D.TXT (Final 3D Ion Distribution)
Table A 2- BACKSCAT.TXT (Backscattered Ion Kinetics)
Table A 3 - TRANSMIT.TXT (Transmitted Ion Kinetics)
Table A 4 - SPUTTER.TXT (Sputtered Atom Kinetics)
Table A 5 - TRIMOUT.TXT (Summary of Table A 2 - Table A 4)
Table A 6 - COLLISON.TXT (Ion-Atom Collision Kinetics)
Table A 7 - COLLISON.TXT (with Recoil Cascades)
Table A 8 - COLLISON.TXT (with Kinchin-Pease Damage)
Examples of Averaged TRIM Output
Table A 9 - TDATA.TXT (Summary of Calculation)
Table A 10 - RANGE.TXT (Ion Range Distribution)
Table A 11 - LATERAL.TXT (Ion Range Distribution)
Table A 12 - IONIZ.TXT (Energy Loss to Ionization)
Table A 13 - PHONON.TXT (Energy Loss to Phonons)
Table A 14 - VACANCY.TXT (Vacancy Production)
Table A 15 - NOVAC.TXT (Replacement Collisions)
Stopping Powers for Ions in Gases
TRIM calculates special stopping powers for ions in gas targets of H, He, N, O, Ne, Ar, Kr and Xe. Any gas targets of elements other than those in the above list are treated as solids. This does not mean that the target phase-state is not important, only that there is little data and no general theory. For example, measurements of the stopping of H in Zn, comparing stopping in gas and solid phases, shows 50% stopping differences for ion energies below 100 keV (see references below) There is only beginning to be a theory to calculate this difference. So TRIM may be inaccurate in calculating the stopping of slow ions in, for example, Zn vapor.
The difference between the stopping of ions in gas versus solid targets of H, He, N, O, Ne, Ar, Kr and Xe is only important at low ion velocities. For ions above 200 keV/amu, their stopping in solid and gas targets of the same element differ by less than 10%. Below this energy, the difference may reach almost a factor of two. See reference below (Z & M) as to how TRIM treats the differences.
If you ask TRIM for the stopping of ions in gases of compounds, e. g. CO2, it will use gaseous stopping powers for O (which is in the above list) and stopping powers for solid C. If you ask for stopping in solid targets of CO2, you will get stopping for solid C and for solid O added together. If you use the Table of Compounds, you can select CO2 from the table and obtain chemical binding corrections to the stopping of both C and O (see section "The Stopping of Ions in Compounds").
For heavy ions, Li - U, there is little data about stopping differences between solids and gases. For these ions, TRIM assumes similar phase differences as for H and He ions in the same targets. For exact details, see the BASIC program STOP96.BAS, which is in the TRIM directory.
The stopping of ions in gases is very dependent on the gas pressure. One may find stopping differences of more than a factor of two for pressures other than STP (0o C, 760 mm). This difference is especially true for gas densities within 95% of STP, i.e. partial vacuum conditions. TRIM assumes the target is at STP.
The phase effect (gas vs. solid target) on stopping powers is of long interest, and one might begin a study of this subject with the excellent paper: W. Mechbach and S. K. Allison, Phys. Rev. 132, 294 (1963). There is no recent review paper which covers all of the above physics. For a discussion of current insights into the phase-effect on stopping powers of ions in materials, see P. Bauer, F. Kastner, A Arnau, A. Salin, P. D. Fainstein, V. H. Ponce and P. M. Echenique, Phys. Rev Lett, 69, 1137 (1992), or G. Schiwietz, Phys. Rev. 42A, 296, (1990). For details of solid/gas calculations in TRIM, see J. F. Ziegler and J. M. Manoyan, Nuclear Inst. and Meth., B35, 215-228 (1989).
< A NAME="_Toc336077306">Special Applications of TRIM
Ions starting with varying Energies, Angles and Depths
Calculating Plasma Ions Hitting a Solid
Simulating a Receding Surface from Sputtering
Simulating Reactor Radiation Damage in Metals
Sometimes users wish to consider incident ions with various energies, with various angles of incidence and possibly starting at various depths. For this application the data file, TRIM.DAT, is used, see Table 1 below. It can be used to simulate the ions from a plasma hitting a surface (various angles and energies), e.g. solar wind effects on planetary materials. It can be used to simulate a receding surface with subsequent ions starting at increasing depths, e.g. from ion sputtering effects. Or it can be used to simulate nuclear reaction processes, e.g. neutron induced alpha-particles created throughout reactor materials.
The top of file TRIM.DAT contains 10 lines of comments, which are not used in the TRIM calculation. (Ignore the special fonts used in the figure for emphasis; the data file on the disk will be in simple ASCII format.) One of the data lines, as noted in the sample file, will be included as an identifying comment in all output files (named *.TXT) which tabulates the statistics of each collision. This is the line: Ar Plasma Ions into Si (1000A thick) (Energies 20-80 keV, Various Angles).
Table 1- TRIM.DAT - Sample File for Varying Energy, Angle and Depth
TRIM.DAT: TRIM with various Incident Ion Energies/Angles and Depths
Data Format: Top 10 lines are user comments, with line #8 describing experiment.
Data Format: Line #8 will be written into all TRIM output files ( various files: *.TXT).
Data Format: Data Table line consist of: EventName(5 char.) + 8 numbers separated by spaces.
Data Format: The Event Name consists of any 5 characters to identify that line.
Typical Data File is shown below, with a variety of numerical formats, all acceptable.
Note that cos(X) = 1 for normal incidence, and cos(X) = -1 for back towards the target surface.
>> Ar Plasma Ions into Si (1000A thick) (Energies 20-80 keV, Various Angles)
Event Atom Energy Depth Lateral-Position ------- Atom Direction -------
Name Numb _(eV) X(Å) Y(Å) Z(Å) Cos(X) Cos(Y) Cos(Z)
A-1 18 12345 0 0 0 1.00000 .000000 -.000000
abcde 18 54321 0 0 0 0.62344 -.295513 .003415
AA#1 18 1.31E4 123 0 -154 0.34234 -.336437 -.017437
C-3 18 123.55 1230 432 12.3E2 -0.23258 -.543453 .443483
AA-1 18 0.123E2 0 -10 -12 0.99998 .000012 -.000017
Table 1 shows the data for several ions using various formats to show how to specify numbers. The numbers must be separated by spaces or commas. The first column is a five character ID which will be displayed on the screen while that ion is active. Columns 2-3 show the ion atomic number and energy (eV). Column 4 indicates the depth (Å) in the target where the ion starts- this is the x-axis coordinate. The depth must be a positive number. Columns 5-6 are the initial lateral position of the ion (Å). TRIM normally uses (0,0,0) as the starting coordinates of the ion. The ion's starting position is always randomly modified within an atomic diameter so that successive ions starting, for example, at (0,0,0) will not have the same impact parameter. The incident angle of the ion is specified by its directional cosines, columns 7-9, with the x-axis corresponding to depth into the target. For normal incidence, the three directional cosines are: 1,0,0. Note that cos(X) is positive when the ion is going into the target, and negative when moving towards the target surface. The TRIM.DAT file may be up to 99999 lines long. If any illegal input values are discovered, an error message is displayed on the screen and that input line is skipped.
As an example, a file TRIM1.DAT is included on the TRIM disk. This file contains data similar to that shown in the box above for Ar ions (20-80 keV) incident on a Si target (1000A thick) To illustrate various modes, we start the ions at different angles and at different depths in the target. To use this file to make a TRIM calculation, do the following:
Note: The Event in line 4 in Table 1 contains a mistake (depth > 1000A) to illustrate the error messages associated with using TRIM.DAT.
To run your own calculation, make up a new file TRIM.DAT, then follow the instructions above.
You will have to specify your own ion and target. When you prepare the TRIM.DAT file be sure that your editor places CR+LF characters at the end of each line, and at the end of the file there is an EOF character (EOF = End Of File). Most editors do this automatically and these characters are essential. If you finish your calculation and suddenly get Error #62, then your data file is missing the EOF character.
This application of TRIM was suggested by: K. Bodek, PSI, Switzerland, F. Calvino, Barcelona, Spain and many others.
Special Setup for Multi-Layered Biological Targets
A special setup program for TRIM (Monte-Carlo) is available for complex multi-layered biological targets. For a target with a single layer, one may use the normal TRIM setup and when asked about the target, use the Table of Compounds (by typing T) to specify one of the standard ICRU or ICRP biological target specifications. For multi-layered biological targets, you need the special TRIM setup procedure described below.
If you wish to enlarge or change the Table of Biological Targets, you need to edit the file BIO.DAT which is on the TRIM disk. This contains all the data of the biological targets. There are instructions at the top of the file which indicate the data format. In general, each target is described by a line of text, which is displayed in the table-of-contents during layer selection, and a line of data which describes the layer to the TRIM calculation. The table also allows the generation of corrections to the ion stopping powers based on chemical binding information, but this correction is beyond the scope of this manual. Please note that TRIM will only accept targets made of the twelve elements listed above. Any others are ignored by TRIM.
For all compounds listed in the Table of Biological Targets, TRIM stopping powers for ions above 50 keV are within a few percent of those of the recent ICRU report #49. There is some deviation in ranges, believed to be due to the archaic method for calculating ranges used in the ICRU report.
References:
This application was suggested by Tammy Utteridge, Royal Adelaide Hospital, Australia, and Wayne Newhauser, PTB, Braunschweig, Germany.
How to obtain 3-D plots of Electronic Energy Loss
Some applications require the generation of three dimensional plots of the electronic energy loss of light ions. Examples of such applications are the use of ion beams for micro-lithography, or the use of ion beams in studying or altering biological samples. Below are the steps required to generate the required data. (Note that this procedure may be inaccurate for heavy ions which create significant recoil cascades.)
Now edit the file COLLISON.TXT. A sample of this file is described in detail in the Appendix to this manual. You will see a file like the one shown below:
TRIM Calc.= B( 17 keV) ==> Tungsten( 300A )
º NOTES: Only Ion Collisions which produce Displacements are tabulated. º
º Atom Sums and Averages are Incomplete if Recoil Cascades Leave Target. º
º Target DISPlacements = VACancies + REPLACement Collisions. º
º Target VACancies = INTERstitial Atoms + (Atoms Leave Target Volume). º
ºIon Energy Depth Later. Distance(A) Se Atom Recoil Target Target Target Target
ºNumb (keV) (A) Y Axis Z Axis (eV/A) Hit (eV) DISP. VAC. REPLAC INTER
1 16.07E+00 33E+00 1E-05 4E+00 15.84 W 83E+00 0 0 0 0
1 16.10E+00 49E+00 -3E-02 7E+00 15.86 W 57E+00 4 2 2 2
1 16.28E+00 65E+00 -6E+00 6E+00 15.9 W 94E+00 2 1 1 1
1 16.06E+00 111E+00 -12E+00 -8. 15.85 W 48E+00 4 1 3 1
1 15.00E+00 125E+00 -14E+00 -15. 15.32 W 114E+00 2 1 1 1
--------- Data Omitted --------- Data Omitted ------------- Data Omitted ----
This file shows the three-dimensional position of each major collision between the ion and the target atoms. It also shows in column six the instantaneous electronic energy loss of the ion to the target in units of eV/. If you need the three-dimensional electronic energy loss of the ion to the target, you now have all the necessary information. To obtain the energy deposited, calculate the path length between two successive collisions and multiply by the specific energy loss. For example, the distance between the first two collisions shown above is 16.3, with an energy loss of 15.86 eV/. This means the ion loses 258 eV into electronic excitations in this segment. If higher accuracy is needed, one can interpolate between the instantaneous energy loss values shown at each major collision point. Note that electronic stopping, col. 6, does not smoothly change due to monte-carlo straggling variations.
This application was suggested by Lidia Didenko, Univ. of Maryland.
How to use TRIM for Isotopically Enriched Targets
TRIM assumes that a target has the natural abundance of isotopes, e.g. that lithium is made up of 7.5% of Li6 and 92.5% of Li7 . To use TRIM with isotopically enriched targets, it is necessary to follow the following steps (using the example of an enriched target with 90% Li6 and 10% Li7 ) :
Target Elements: Z Mass(amu)
Atom 1 = 3 6.941
Atom 2 = 3 6.941
Atom 3 = 0 0.000
Now change the masses to the desired isotopic masses:
Target Elements: Z Mass(amu)
Atom 2 = 3 6.015
Atom 1 = 3 7.016
Atom 3 = 0 0.000
Looking at the bottom of TRIM.IN you will see that the target is described by 90% of Atom #1 (Li6), and 10% of Atom #2 (Li7). Save the file. Execute the TRIM calculation by typing TRIM in DOS. This will give you a calculation for the isotopically enriched target. Details of the format of TRIM.IN, and examples of more complicated versions of TRIM.IN are shown the Appendix.
Suggested by T. Rodriques, E.T.S.I. Telecomunicacion, Spain
< A NAME="_Toc337435030">Calculating Straggling in Ion Energy Reducers (Energy Degraders)
TRIM may be used to calculate the energy loss through foils or thick blocks of materials used to lower the energy of a beam of particles. This is often done for light ions, such as protons, to obtain lower energies quickly. For example, if one starts with a beam of monoenergetic protons at 158.6 MeV and introduces a block of plexiglas (called perspex in Europe) 14.1 cm thick, the exiting beam of particles will be at 30 MeV. Degrader blocks made with light atoms can reduce particle energy with a minimum of straggle and little long term radioactivity (plexiglas is C6H4O2).
Two problems occur in planning "energy degraders". First is the calculation of the proper block thickness, and secondly is the calculation of the final beam energy spread. Below we illustrate both calculations.
The calculation of the required degrader thickness consists of four basic steps. We illustrate these steps below using the example of protons being slowed by a block of plexiglas from an initial energy of 158.6 MeV to a final energy of 30 MeV.
1 Make a table of proton stopping in plexiglas by executing the program SR (Stopping/Range) using the TRIM Menu, or by typing SR in DOS. In the program SR, select a target of plexiglas in the Table of Compounds and then generate a stopping/range table for protons up to 160 MeV in plexiglas, with the stopping powers specified in units of MeV/mm.
2 Using the table generated in (1), find the range of protons for the initial beam energy and estimate the depth at which the protons will be at 30 MeV by looking at the ranges and working backwards. For example, the table will show that 160 MeV protons have a range of 154.54mm in plexiglas, and 30 MeV protons will go 7.63mm. Hence your first guess for the thickness of plexiglas to reduce 160 MeV protons to 30 MeV will be 154.54 - 7.63 = 146.9 mm thick. Further, since the initial proton beam is not 160 MeV but 158.6 MeV, one interpolates the distance protons travel between 160 MeV to 158.6 MeV as 2.30 mm, so the initial block size for an incident 158.6 MeV beam will be 146.9 - 2.30 = 144.6 mm. Set up TRIM for protons in plexiglas at this thickness. Be sure to set the flag to store the energy spectra of the transmitted particles. This can be done with the TRIM setup program, or during the TRIM calculation by typing the hotkey T . When you have collected the data for about 100 particles, exit TRIM.
3 In DOS, execute the program BASICA TRANSMIT which will analyze the transmitted particles which TRIM stores in the file TRANSMIT.TXT. This program will give you both the mean final energy and the energy straggling of the transmitted protons. This program is written in BASIC so that you can look at the source code and modify it for your needs.
4 Use the difference between your desired final energy (30 MeV) and mean final energy found in step 3 above, along with the stopping power tables, made in step 1 above, to estimate a new target thickness. For example, if the protons exit at 32 MeV and the stopping power for protons at 30 MeV is 2.16 MeV/mm, then you need (2 MeV)/(2.16 MeV/mm) = 0.92 mm more plexiglas in the block to bring the beam down to 30 MeV. Change the file TRIM.IN (or use the TRIM setup program) to make up a new plexiglas target with a width of 144.6 mm (initial estimate) + 0.92 mm (correction) = 145.52 mm. Loop through steps 2-4 until you come get as close as you want to the desired thickness. (Examples of datafile TRIM.IN are shown in the Appendix.)
The final energy straggle of the beam after it has passed through the energy reducing block is a mixture of two components: (1) the straggle introduced by random collisions in the degrader block and (2) the broadening of any incident beam energy straggle by the block. We calculate the straggle of the incident monoenergetic beam with the TRIM calculations above, steps 1-4, and we find, for example, a straggle of about 2.0 MeV when we degrade protons from 160 MeV to 30 MeV using plexiglas (this comes out of the analysis program BASICA TRANSMIT). To this broadening, we have to add the straggle due to expansion of the initial beam energy spread, which may be the dominant factor in the final energy width. Assuming that the incident beam is not monoenergetic, but has a spread of 1 MeV at 160 MeV, we will find that this spread expands to 3.6 MeV by the time the beam degrades to 30 MeV. This expansion occurs because of the non-linearity of stopping powers with particle energy as explained below.
Assume that the energy straggle of the incident beam is . We show below that the final energy straggle of the exiting beam, Sigma, can be estimated as :
where S and S' are the stopping powers, dE/dx, in the degrader material at the initial and final beam energy.
Consider two particles of the incident beam with energies E1 and E2, separated by the incident beam energy straggle, . The final energy straggle of these two particles, after transiting the energy-lowering block of material, is defined as sigma = E1' - E2'. where E1' and E2' are the final energies of particles 1 and 2.
Considering the incident particles, assuming E1 > E2, , then particle #1 will travel a short distance into the degrader block before its energy will be reduced to that of particle #2. This distance, x, is about x = / S, where S is the particle stopping power (dE/dx) at energy E. After particle #1 reaches depth x, then both particles #1 and #2 will transit through the block similarly until particle #1 reaches the end of the block. Particle #2 will still have more of the block to traverse, an amount x' = ' / S' , where ' = E1' - E2', the final energy difference between the two particles, and S' is the stopping power at the final beam energy, E'. But the block length is the same for both particles, so x = x', and therefore / S = ' / S' . This can be solved for the energy straggle, Sigma = (S'/S) .
Note that several approximations are made in this argument, especially that S(E1) = S(E2) and S(E1') = S(E2'), and that the total energy loss is much larger than the straggling, (E - E') >> .
For an example, protons at 160 MeV in plexiglas have a stopping power of 0.593 MeV/mm and at 30 MeV have a stopping power of 2.157 MeV/mm. Assuming the initial beam straggle, , is 1 MeV, then the final beam energy straggle, ' = (1 MeV) (2.157 MeV/mm) / (.593 MeV/mm) = 3.6 MeV.
The total beam spread through the energy-degrader block is the rms total value of the two separate quantities : (1) the beam straggle through the block, 2.0 MeV, and (2) the beam energy broadening due to non-linear stopping powers, 3.6 MeV, which, when added in quadrature, gives a total straggle of 4.1 MeV .when protons at 160 MeV are degraded to 30 MeV.
The above comments come from Dr. Bernard Gottschalk, Harvard Cyclotron Laboratory, Harvard University, USA.
How to Combine Multiple TRIM Calculations
Normally, when one wishes to combine two or more TRIM calculations, one saves each separately and then manually combines them by writing a small ad hoc program. However, TRIM may be run in a way to automatically combine the results of several different runs. For example, one might wish to look at the distributions of ions and damage when multiple implants are done with the same ion but at more than one energy. This combining of TRIM results may be done by following these steps:
(1) Run TRIM with the first ion of the series. Indicate that TRIM should Stop at some finite number of ions, perhaps 1000 (instead of the default 99999). TRIM automatically saves its results when it is finished. (One can also stop the calculation at any time before the final number, and manually SAVE the data to resume TRIM later.)
(2) One of the files saved is TDATA.SAV. Use an editor to look at this file. This file shows the TRIM status at the time it was last saved. Now you wish to modify two parts of this file. First are the ion conditions for the next part of the calculation. For example, at the top of this file are a pair of lines called ION DATA, and listed are the ion Atomic Number, Mass, Energy and Angle to target. You may change any of these to new values. The new numbers may be of any form: integers, floating point or exponential. The next pair of lines list ION NUMB: Current and Total (ignore the rest of this line). These show the current ion being calculated, and the final ion number. For example, if you specified 1000 ions in the initial run, and you ran TRIM until it stopped, then both numbers will be 1000 in TDATA.SAV. Now you might want to add to the first run another 1000 ions, but with the modified ion energy you inserted above. To do this, leave the Current Number at 1000, but change the Total Number to 2000. This will make TRIM calculate another 1000 ions, and add the results to the first set of calculations. Be sure to leave the rest of the numbers in this line as they were. Save the file with your changes.
(3) Restart TRIM by either typing T or typing TRIM. Indicate that you want to continue the OLD calculation. Now TRIM will continue and add the new results to the old one.
(4) For a third change of conditions, repeat steps (2) and (3) above.
This use of TRIM was suggested by Santosh Kurinec, Rochester Inst. of Technology, USA.
Getting High-Resolution Collision Data from TRIM
TRIM breaks the target into 100 equal-depth layers, each parallel to the surface. These layers are defined by the viewing window, i.e. the depths that you see on your screen during the calculation. For example, if you try the DEMO (from the first TRIM menu screen) of 10 MeV protons into Be, you will find that the target is defined down to 1000m, but the viewing screen is defined as the 800-900m depth in the target. The collision data (vacancies, displacements, ion ranges, etc.) are stored in 1m bins from 800 to 900m. You can get data in 1m bins for the whole 1000m target depth by repeating the calculation with different viewing windows, and saving each set of data files separately. That is, repeat the same calculation for viewing depths of 0-100m, 100-200m, etc., each time storing the data separately. When TRIM repeats a calculation, it calculates exactly the same ions which follow the same trajectories and which have the same collisions (unless you explicitly change the random-number seed in the TRIM setup program). So the data you collect in the ten calculations necessary to cover the 0-1000m total target thickness will smoothly go together, and you can get 1000 bins, with 1m resolution, after ten TRIM runs on the above example.
You can make TRIM do this automatically, using the software described in the section: Cycling TRIM through Many Calculations Automatically.
This suggestion was made by Sarah Clark, Princeton University, USA.
Evaluating the Details of "Ion Mixing" Experiments
TRIM is often used for mixing of similar layers such as NiSi/SiO2/Si .. It is sometimes useful to try to identify which layer recoil atoms come from. You can specify different identical atoms for each layer, and TRIM will treat them separately. For the example, you can specify target atoms of Ni, Si, Si, O and Si. TRIM will treat these as separate atom types, and in plots or in text files they will be separately indexed.
If you wish to examine an interface closely, remember that you can isolate the interface using the Viewing Window option in TRIM, and blow up the interface region with monolayer resolution. As an example, assume your target is: NiSi (3000A) / SiO2 (2000A) / Si (5000A). The total target is 10,000A thick. But you may specify the Viewing Window as 2800A to 5200A and see the interface with twice the resolution. If you save data in the *.TXT files (previously discussed) the data will now be grouped in 24A segments instead of 100A segments. Note that the TRIM averages (e.g. the range or straggling) are calculated precisely and are not limited by the data segments.
TRIM with full Recoils for Targets with Many Layers
A TRIM Monte-Carlo calculation with full recoils is limited to three layers. TRIM without full recoils can have targets containing up to eight layers. This layer limitation is due to the DOS limit on the program size. However, there is a method for using TRIM with targets with more than the maximum layer limit. Basically, you set up a target with the first set of layers, and activate the option to produce a datafile of transmitted ions. You then set up your next target, with the next group of layers, and use this transmitted-ion file for the incident ions to the second target. This may be continued for even more complex layered targets. Note that one limitation is that there will be no backflow of ions from the second set of target layers into the first set. This may be a problem.
First, read the section entitled: Ions starting with varying Energies, Angles and Depths. This section forms the basis of the procedure. Then follow the below steps (we use the full-recoil limit of a maximum of 3 layers for this example) :
The above procedure will allow you to calculate ion transport in targets of many layers. It has one flaw. Ions which are backscattered from the second set of layers will not be tracked back into the upper layers. You should consider how much effect it may have on your results.
Suggested by: T. Utteridge, Royal Adelaide Hospital, Australia
Using TRIM for Mixed Gas/Solid Targets
If you wish to calculate ion stopping in a mixed solid/gas target, for example alpha-particles transmitted through an ionization chamber, you must consider how TRIM stores collision data. TRIM is set up to store the averaged collision results in 100 bins. The bins are equally spaced in depth, so if you have a thin window, say 10m of Al, then 100 mm of gas, then a final layer of 10m of Al, the TRIM output will be stored in about 1 mm bins. Since this is far bigger than the solid 10m windows, TRIM stores combined solid and gas collision data in the first and last bins.
There are three ways to get accurate data for all parts of the target:
When you declare your target, specify a GAS target. There will be no difference in stopping in the solid parts since TRIM assumes that materials such as Al or Ni have the same stopping as solids or as gases. If you are using a "gas" element in your solid film, e.g. a plastic film containing O, then you will have to compromise and either substitute F for O (F is always assumed to be a solid) or accept the error in having O in the film treated as a gas (which is only important for ions < 200 keV/amu). If your target includes a gas at other than STP, you will have to make manual corrections to your TRIM result. There is no theory to calculate the stopping of ions in low pressure gases (from STP down to 1% atmospheric pressure.)
(Discussion suggested by F. Calvino, Barcelona, Spain)
Radiation Damage from Neutrons/Electrons/Photons
TRIM can be used to calculate the recoil cascades in solids caused by neutrons, electrons or photons (which we will call NEP particles). These cases are treated identically, with TRIM evaluating only cascade damage without any incident particle damage.
One must first obtain another computer program for the transport of NEP particles through matter. Widely used codes are the "Integrated TIGER Series", (ITS code) for electrons and photons, or the "Monte Carlo Neutron Program" (MCNP code) for neutrons in matter. Both are available from the Radiation Shielding Information Center, Oak Ridge National Laboratory, P.O. Box 2008, Oak Ridge, TN, 37831-6362, USA, telephone: (01)-615-5746176, Fax: (01)-615-574-6182, Internet: PDC@EPIC.EPM.ORNL.GOV, Bitnet: PDC@ORNLSTC. The separate NEP transport programs are used to calculate where collisions are made in the target, and give the position, and recoil statistics for each collision atom. Then TRIM can be used to calculate the full target recoil cascade which occurs from each NEP collision atom.
A file called TRIM.DAT must be prepared by the user which specifies the parameters of each cascade. An example of TRIM.DAT is shown in Table 2 and included on the original TRIM disk as TRIM2.DAT. TRIM calculates the cascades with an "invisible" incident particle. TRIM.DAT specifies each recoil atom and calculates its cascade.
The top of file TRIM.DAT contains 10 lines of comments, which are not used in the TRIM calculation. (Ignore the special fonts used in the figure for emphasis; the data file on the disk will be in simple ASCII format.) One of the data lines, as noted in the sample file, will be included as an identifying comment in the file COLLISON.TXT (see Table A-6) which tabulates the statistics of each collision (This is the line: "Recoils from 1670000 eV electrons in SiO2(1200Å)+ GaAs(10000Å)"). The numerical data at the bottom of the file may be written in several different formats, such as 12345, 12.345E3, 0.12345E5, etc.
Table 2 - TRIM.DAT - Sample File for Collision Cascades
TRIM.DAT : TRIM recoil cascade data file
Data Format: Top 10 lines are user comments, with line #8 describing experiment.
Data Format: Line #8 will be written into all TRIM output files ( various files: *.TXT).
Data Format: Data Table line consist of: EventName(5 char.) + 9 numbers separated by spaces.
Data Format: The Event Name consists of any 5 characters to identify that line.
Typical Data File is shown below, with a variety of numerical formats, all acceptable.
Note that cos(X) = 1 for normal incidence, and cos(X) = -1 for back towards the target surface.
Recoils from 1670000 eV electrons in SiO2(1200A)+GaAs(10000A)
Event Atom Energy Depth Lateral-Position ------------ Atom Direction ------------
Name Numb (eV) _X_(Å)_ _Y_(Å)_ _Z_(Å)_ Cos(X) Cos(Y) Cos(Z)
A-1 8 59.2 322 24 12.34 0.99998 .000012 -.000017
C-3 33 1259. 10.02E3 432 12.3E2 -0.23258 -.543453 .443483
AA-1 8 98764 522 -24.3 -12 0.99998 .000012 -.000017
123C 14 1.56E4 2222 -33 -69 0.62344 -.295513 .003415
9875 33 7.31E4 3322 -82.9 154 0.34234 -.336437 -.017437
asd 6 0.98E5 0.882E2 -206 588 0.03754 .032936 -.334616
Table 2 shows the data for several recoils using various formats to show how to specify numbers. The numbers must be separated by spaces or commas. The first column is a five character ID which will be displayed on the screen while that recoil is active. Columns 2-3 show the recoiling atom atomic number and energy (eV). Column 4 indicates the depth (Å) in the target where the recoil atom starts- this is the x-axis coordinate. The depth must be a positive number. Columns 5-6 are the initial lateral position of the atom (Å). The initial trajectory of the recoiling atom is specified by its directional cosines, columns 7-9, with the x-axis corresponding to depth into the target. For a recoil trajectory normal to the target surface, the three directional cosines would be: cos(X)=1, cos(Y)=0, cos (Z)=0. Note that cos(X) is positive when the ion is going into the target, and negative when moving towards the target surface. The TRIM.DAT file may be up to 99999 lines long. If any illegal input values are discovered, an error message is displayed on the screen and that input line is skipped.
The sample input data file shown in Table 2 and on the TRIM disk, file TRIM2.DAT, is for 1.67 MeV electrons into a target of SiO2 (1200Å) on GaAs (10000Å). If you wish to try TRIM using the sample data file , follow these steps:
When you prepare the TRIM.DAT file be sure that your editor places CR+LF characters at the end of each line, and at the end of the file there is an EOF character (EOF = End Of File). Most editors do this automatically and these characters are essential. If you finish your calculation and suddenly get Error #62, then your data file is missing the EOF character.
NOTE: TRIM will assume that each Event Name data row in TRIM.DAT comes from a different incident particle, and hence its statistical averages will be in error for cases where a single particle may cause several recoils, e.g. for a high energy neutron may cause several Event data lines in TRIM.DAT. To correct for this counting error, take the calculated TRIM statistical averages and multiply by (NEvents/NParticles). For example, if the TRIM.DAT file contains 100 events caused by 20 incident particles, then every average needs to be corrected by multiplying by (100/20) = 5. So if the TRIM output shows "Vacancies/Ion = 10" the corrected average value would be 50 Vacancies/Ion.
As with normal runs of TRIM, the calculation may be interrupted and saved at any time. When TRIM resumes, it will automatically skip cascades which have been previously calculated.
COLLISON.TXT contains the data on every ion/target collision which exchanges enough energy to produce a vacancy (energy above the Displacement Energy). This file is turned on during TRIM using the C command. This file can get quite large. If the data file is turned off, then on again, further data may be appended to the old data. (See section on TRIM Execution and Commands and Table A-6 in the Appendix.)
Special Command : Alt-C
For those who need every detail of the collision cascades, there is a further command "Alt-C". This adds to the COLLISON.TXT file the details of EVERY collision in a cascade which produces a displacement. See section Detailed Recoil Cascade Data File : Command "Alt-C". A sample output is shown at the end of this manual in Table A-7.
NOTE: A Cascade with 1000 recoils will take about 64k bytes of memory if "Alt-C" is active.
The above instructions were suggested by R. Macaulay-Newcombe @ McMaster Univ.; Canada, M. Robbins, Univ. of West London, UK; and F. Calvino, Barcelona, Spain).
TRIM - Common Questions and Solutions
What are Radial and Projected Range Distributions ?
The program assumes that there is cylindrical symmetry in the final ion distributions. The assumed cylindrical axis is perpendicular to the target surface at the point of ion impact. (If the initial ion beam is not normal to the target surface, then none of the following is valid.) The "radial" parameters refers to these cylindrical coordinates. The "projected" parameters assumes that an X-Y plane has been inserted through the axis, and the final ion distribution is projected onto this plane. This projection is identical to the view on the screen and marked as the "XY Plane" (X is the depth axis; the XZ plane is perpendicular to the XY plane).
The mean "lateral range" of the ions is zero in both the radial and projected definitions if there is cylindrical symmetry. So the lateral range in TRIM is defined as the mean absolute value of the lateral range. The ion straggling has its normal definition as the second moment of the distribution. The lateral projected parameters directly describe the final distribution under a mask edge as used in VLSI technology. Remember, the total ion concentration directly at a mask edge is one half of the concentration of a uniform implantation distribution.
What is Straggling, Skewness and Kurtosis ?
These words are names for quantities related to the second, third and forth moments of the ion distribution. They are important because many VLSI modeling programs require these parameters to create analytic functions of ion implantation distributions. The use of these words in the ion implantation field is DIFFERENT from that in some statistics textbooks. In this field, we use mostly the definitions first proposed by B. Winterbon ("Ion Implantation Range and Energy Distributions", vol. 2, Plenum Press, 1975). For convenience, we define each moment below in several different standard notations. It is assumed below that the ion trajectory begins perpendicular to the target surface, co-linear to the x-axis, and the y-axis and z-axis are orthogonal in the target surface plane (the TRIM 4-plot display shows trajectories projected on both the XY and the XZ planes).
Mean Projected Range Rp = i xi / N = < x > .
Lateral Projected Range Ry = i yi / N = < y > .
Radial Range Rr = i (yi2 + zi2)1/2 / N .
Where xi is the projected range of ion "i" on the x-axis, i.e. the perpendicular distance from the surface to the end of an ion's track; i xi= sum of the ion ranges; i xi / N = the mean projected range of N ions; and < x > = the mean projected range of all ions. The transverse coordinate "y" is treated the same, only the distance is taken in the XY plane. The mean projected lateral range is zero for a perpendicular beam, so the above lateral range definition averages the absolute values to provide other information on the first moment of the radial spread. The mean radial range assumes cylindrical symmetry of the ion distribution.
Variance is the second moment of the range distribution, and we show below several identical definitions using various common notations.
Variance = i ( xi - Rp )2 / N = < ( x - Rp )2 > ,
= i xi2 / N = < ( xi )2 > ,
= < x2 > - < x >2 = (i xi2 ) / N - ( Rp )2 .
Where i xi2 = sum of the square of the deviations of the ion ranges from the mean projected range with xi = ( xi - Rp ).
Straggling is a word which is used in ion implantation in several ways, and care should be taken to determine the author's definition. Sometimes it is a synonym for variance and sometimes it is defined as the square root of the variance. In other cases an author, such as Winterbon, uses normalized definitions such as: Straggling = < xi2 > / < x >2. We use the common definition that straggling is the square root of the variance:
Straggling = [ (i xi2) / N - Rp2 ]1/2 = < ( xi )2 >1/2 ..
Radial
Straggling r = [ i (yi2 + zi2)/N - Rr2]1/2 = < ( ri)2 >1/2 ..
We define lateral straggling in the same way as range straggling above. (Lateral coordinates are sometimes called Transverse coordinates.) For a normally incident beam we can assume cylindrical symmetry of the range distribution, so the mean lateral projected range is zero (i.e. Ry = 0) . Further, we average the Y and Z projected ranges to increase statistical accuracy:
Lateral
Straggling y = [ i ((yi + zi)/2)2 / N ]1/2 .
Skewness = < x3 > / < x2 >3/2 ,
= i (xi - Rp)3 / (N3) ,
= i[xi3 - 3Rpxi2 + 3Rp2xi - Rp3 ] / (N3) .
Kurtosis = < x4 > / < x2 >2 ,
= i (xi - Rp)4 / (N4) ,
= i[xi4 - 4Rpxi3 + 6Rp2xi2 - 4Rp3xi + Rp4 ] / (N4) .
TRIM uses the last variations shown above for the calculation of skewness and kurtosis. The above definitions are different from those used in versions of TRIM before 91.04, and the changes were made to allow easier integration of TRIM with VLSI modeling programs.
In the above TRIM definitions, the projected range and the straggling have dimensions of length, while the high moments, skewness and kurtosis, are dimensionless. Note that we do NOT include backscattered or transmitted ions in our moment calculations, in contrast to some theorists. The skewness tells whether the peak is skewed towards the surface (negative values) or away from the surface (positive values). Another way of stating this is that negative skewness indicates that the most probable depth (the peak position) is greater than the mean depth, and positive values indicate the reverse. Kurtosis indicates the extent of the distribution tails, with a value of 3.0 indicating a Gaussian distribution. Since both the shallow and deep tails contribute, no simple rule indicates what a variation from 3.0 means about the ion distribution. In general, values from 0 to 3 indicate abbreviated tails, and values above 3 indicate broad tails. The papers which most clearly discuss how to regenerate complete distributions from statistical moments are : K. B. Winterbon, A.E.C.L. Reports #4829 (1972) and #4832 (1972), and especially CRNL-1817 (1978), available from the Chalk River Nuclear Laboratory, Chalk River, Ontario, Canada, K0J-1J0.
What Causes Anomalous Peaks and Dips at Layer Edges ?
There are several reasons that small artifacts occur at layer edges, and these are all associated with inconsistencies between two parts of TRIM :
1. The TRIM "data window", which is the portion of the target displayed on the screen, is divided into 100 equal segments or bins. (Your target may be much larger than the data window, but only the collision data within the window is saved. The position of the data window within the target is set in the TRIM input program.)
2. Atoms in a target are not randomly spaced, even in amorphous targets. There is a minimum distance between atoms, and once a collision occurs the ion must travel at least one monolayer to reach the next atom. TRIM defines a monolayer as the cube root of the atomic density of a layer.
An accounting problem occurs when the ion jumps from one layer to another, and TRIM must decide where to place the collision data. Typically, the following conditions cause small problems :
If your target layers do not end exactly at a data bin edge, then that bin consists of two different materials, and TRIM will assume one or the other based on the current ion's trajectory at that bin. When you input a new target, you are warned of this problem if it occurs.
If a data bin is less than one monolayer wide, then TRIM may not treat it accurately since calculation distances are never smaller than one monolayer. The same occurs to a lesser extent if a thin layer, say 20A wide, is not an integral number of monolayers wide.
Thin layers at the surface, or at the bottom of a target, may cause problems if ions leave the target. The point where the target ends is not clean if this layer is less than many monolayers thick, since TRIM works in monolayer steps, and the surface appears "smoother" to an ion moving almost parallel to the surface than to one moving perpendicular to the surface. Once the next ion step is found to be outside the target there are no further collisions. So inaccuracies of the order of one monolayer are probable. The special TRIM calculation for sputtering takes special precautions to prevent these errors from occurring at the target surface.
The small dips and peaks may extend more than one data bin at a layer's edge. TRIM runs efficiently because the ion can jump many monolayers between collisions, and the intermediate collisions are approximated. We suggest that you do not worry about small peaks and dips at layer edges, they are not worth the trouble to try to avoid, and
just average the final curves.
< /A>Cycling TRIM through Many Calculations Automatically
Automatic running of a sequence of TRIM calculations is done using a software package called AUTOTRIM which was developed independently by Bengt Johlander. For a package of software, send a formatted 3.5" disk to :
Bengt Johlander Telephone: 31-171986555
Radiation Effects Engineer TeleFax : 31-171917400
Components Division Telex : 39098 (The Netherlands)
ESTEC, European Space Agency Cables: Spaceurop, Noordwijk
P.O. Box 299
2200 AG Noordwijk, The Netherlands
Running TRIM on PCs with Resident Memory Managers
Many modern PCs use resident programs which speed up large programs using "Memory Managers". Examples are the Microsoft programs SmartDrv and EMM386 or the program QEMM386 by Quarterdeck. These programs use various algorithms to improve on the data handling of DOS, especially for accessing the hard-drive frequently or for programs which have to switch between 640k "pages" of memory.
In all cases, these programs SLOW DOWN TRIM, sometimes by large factors. TRIM is a closed program which is contained in a 640k "page" of a PC's memory and rarely accesses the hard disk once the calculation begins. So a memory manager can not improve on the I/O of TRIM because there is no I/O to improve, but it can waste lots of time looking for things to do. An example of the relative speeds is shown below for the default TRIM calculation of 100 H ions (10 keV) into silicon.
Computer Computer ----- Memory Manager Program Name -----
CPU Type Speed None EMM386 QEMM386
======= ========= ====== ======= ========
80386 20 MHz 43 sec 193 sec 125 sec
80386 25 MHz 31 sec 150 sec 92 sec
80486 20 MHz 14 sec 67 sec 46 sec
80486 25 MHz 82 sec (OS/2 operating system with 11
concurrent programs running.)
So if you wish to run TRIM at its maximum speed, be sure there are no memory management programs slowing things down.
This discussion was prompted by a note from W. Skala at the State University of New York at Albany, New York, USA.
Identification of the Disk Programs / Files
Below is a brief review of some of the programs and files on the TRIM disk. These are also pictorially shown in the flow chart at the end of this manual.
T.EXE - This is the control program which shows the Title Page, and then the Main Menu. From this menu you branch into the various options for calculating the Stopping and Range of Ions in Matter. It also provides an analysis of any available-memory limitations of your PC. The main programs that it branches to are: SR.EXE (tables of stopping powers and ranges), TIN.EXE (Setup program for TRIM-Monte Carlo), TRIM.EXE (TRIM Monte-Carlo program), and TDEMO.EXE (demonstrations of TRIM Monte-Carlo). Any of these programs can be executed without T.EXE .
SR.EXE - This program creates tables of stopping powers and ranges of ions in single-layer targets. It can be executed by itself. It is slightly less accurate than the full TRIM.EXE program.
TIN.EXE - This is the setup program for TRIM. It provides explanations and default values for all quantities needed for a new calculation. It produces an output datafile called TRIM.IN and then links to TRIM.EXE automatically.
TRIM.IN - This is the input data file to TRIM. It contains all the information for TRIM to begin. Experienced users of TRIM often modify this file, then start the main program by typing TRIM. This is convenient if you wish to change only one item of a calculation, e.g. the ion's energy or the target width. To get an example for many types of targets, execute the Demonstration program, TDEMO.EXE, from the main menu, and look at the TRIM.IN which is produced as a template for other calculations. Examples of TRIM.IN are shown in the Appendix.
TRIM.EXE - This is the Monte Carlo calculation program. See TRIM.BAS for the principle source code which shows the relevant physics. This program requires the datafile TRIM.IN which is produced by the setup program TIN.EXE.
TRIM.PRO - This data file contains the colors used in the plots and the size of the print which occurs on the plots. This data may be modified to change the plot appearance.
VERSION - This data file contains the current version of TRIM, and also all changes made in TRIM since 1985.
STOP.EXE - This program can be used to make up a disk file of stopping powers, for example the stopping of an ion in all elements at a given energy, or all ions in one target at one energy, or other types of loops.
STOP96.BAS - Stopping Power program written in BASIC. This shows all the physics used in calculating stopping powers for TRIM, and can be used in other programs to supply stopping powers.
SCOEF.95A, SCOEF.95B ,SCOEFGAS.95 - Stopping Power coefficients. See program STOP96.BAS for a description and also the use of these coefficients. At the bottom of STOP96.BAS is a subroutine, STOPCOEF.BAS, which reads the data and stores it into variables.
STOPCOEF.BAS - Short subroutine to read SCOEF.95x data into the variables needed for STOP96.BAS stopping power program. The language is Power-Basic. This program is found at the bottom of the STOP96.BAS file.
COMPOUND.DAT, BIO.DAT - Encyclopedia of data about compounds. Biological targets are found in BIO.DAT.
TRIM96*.PS - These are PostScript files which contain this manual. To print out another copy, use the DOS command: PRINT TRIM96.PS. These files require a PostScript printer.
F12.BIN, F24.BIN - Binary files containing Hershey font #12 and #24.
PLOTS.EXE - This program allows you to review the TRIMPLOT.* pictures produced by pressing F2 . The source code is found in PLOTS.BAS, which provides the format of the pictures.
APPENDIX : Examples of TRIM Data Output Files (See other file)