When FLUX7 is installed, the command ``helpflux'' will start a browser window showing this page but to access all of the links go to the flux website www.pjms.nl/FLUXHTML
Flux7 is a program that simulates the trajectories of high energy ions in single crystals in a channeling, or near channeling, direction. In the model used, the ion experiences binary collisions at regular spatial intervals. In between, the ion path is considered a straight line. One of the quantities evaluated during the process is the effective flux density across the lattice plane, and this is where the program's name stems from.
The original programs flux, yimp, fityim, rbsim and some other programs in this distribution were developed by Peter Smulders and Dik Boerma, and are described in
P.J.M. Smulders and D.O Boerma Nucl. Instr. and Meth. B29 (1987) 471
Please refer to this publication (and/or follow-ups, see appendix) when publishing results from any of these programs.
For a more recent description of flux and its capabilities see ``Notes from a talk about FLUX'' given at the RENIBEL workshop, 2004, see LINK below.
These programs are freely available for non-commercial use. It is understood however that all serious users of this software should keep in contact with the authors.
This implies that modifications and extensions will be reported.
We also expect you to send us preprints / reprints of any papers prepared with the use of this software.
And, please, also discuss unsatisfactory results with us.
the install page :Instructions for installation of the program
See also file flux7.9.install.html and also the Installation Guide (somewhat outdated)the cbinding page. First-time users, see also this page
the input page : The input structure. See also the source in FLUXLIB/inp.f, and always run program fluxchk before starting a time consuming simulation.
the configuration page : description of configuration files COMBIN.FIG and COMBI4.FIG
the coord page for ways to obtain distributions of coordinates, energy, and other parameters.
the faq page various topics
the plotxy page program plotxy : graphics of distributions f(x,y)
the rbsim page : Help for program rbsim
the rbsiminst page. hints for installation of rbsim
the hf page : Some notes about the implementation of the Hartree-Fock potential
the news page recent developments
the bugs page known bugs
To download the programs see
Notes from a talk about FLUX given at the RENIBEL workshop, 2004.
For any questions or remarks contact
``Peter Smulders'' <p.j.m.smulders@home.nl>
The application to emission channeling was implemented by Ulrich Wahl, who also made a streamlined version of program yimp. For information contact:
``Ulrich Wahl'' <uwahl@itn.mces.pt> Currently at ITN/CFNUL, Lisbon
The program flux7 can handle multilayer structures where the thickness of the alternating layers is repetitive, or, varies with depth. A requisite is that at most two different lattice structures are involved. If this condition is not fullfilled, two or more invocations of flux7 are necessary, as explained below.
At each interface a transformation is applied to the beam coordinates:
1. a rotation of the velocity vector, specified by a 3 by 3 rotation matrix
2. a translation, specified by delta (x,y,z) in angstrom units
Optionally the coordinates at the end of each ion's journey are recorded. The following data are saved:
These coordinates are relative to the position an ion would have that initially entered at x=0 and y=0 and travelled in a straight line along the beam direction.
Here the value is 0 for an ion that exits in the beam direction. (I.e. if the ion beam direction makes an angle with the crystal main axis an offset is applied to px and py as maintained in the program)
In the output these numbers are multiplied by a constant factor and possibly an offset is subtracted, as indicated in the output file.
These coordinates can be used as initial coordinates for a subsequent run of FLUX7. Thus, for the general case, of more than 2 different layers, it is possible to break up the calculation in parts, and feed the exit coordinates of one run as initial coordinates into the next run.
Just supply orientation of curvature axis and radius of curvature, see FLUXLIB/inp.f
A new feature in flux7.7 is the possibility to have a mixture of different atoms occupying equivalent sites, e.g. Si_(1-x)Ge_x. In a diatomic crystal, such as GaAs, each of the constituents may consist of a mixture of two or more elements. There may also be ai fraction of empty sites (vacancies) for each of the constituents.
New in flux7.72 is an option to use energy dependent stopping parameters. Up till this version this dependence was neglected and the best a user could do was to supply paramaters for an average energy. Now, following an idea by Louis Selen, there is an option to obtain both the impact parameter dependent energy loss as the stopping due to valence electrons by means of interpolation from a set of energies and corresponding sets of stopping parameters.
For details, see ENERGY DEPENDENT STOPPING in the input page
Some parts of this distribution were 'borrowed' left and right.
The K-Bessel function routine BESK was adapted from a subroutine supplied by the ``Interchange Users Group'' (author unknown).
The integration routine ROMBERG was written by Hans de Jong.
The energy loss subroutines in RBSIM are due to Ziegler and Biersack.
The least square routines in program FITYIM are due to C.L.Lawson and R.J.Hanson, 'SOLVING LEAST SQUARES PROBLEMS', Prentice-Hall, 1974
The random number generator RANMAR is due to G. Marsaglia and A. Zaman, http://cmd.inp.nsk.su/old/cmd2/manuals/cernlib/shortwrups/node242.html
The graphics output of various programs is done by the PGPLOT package. PGPLOT is a Fortran subroutine package for drawing graphs on a variety of display devices by T. J. Pearson, http://www.astro.caltech.edu/~tjp/pgplot/. The source is available at ftp://ftp.astro.caltech.edu/pub/pgplot/.
This FLUX distribution contains a modified PostScript Driver for PGPLOT. This driver enables the use of PosScript fonts in output files. If you want to use this, you should patch the PGPLOT graphics package. For details see PostScript Fonts in PGPLOT in the psdriver page
In order to compile PGPLOT I had to adjust the pgplot makefile a bit, see file pgpatchfile in the directory FLUX7/PGPLOT
flux7.f FLUX FLUX7.COM include file: common blocks for FLUX7, YIMP, dettmann.f Dettmann & Robinson model for impact parameter dependent stopping dedx.f estimate of electronic stopping parameters makemake prepare Makefiles for specified configuration Makefile makes flux7 and auxiliary programs
HTML directory containing help files in html format HELP directory containing help files in text format POD directory containing source files for the above
FLUXLIB directory containing a library of subroutines, see below FILE.LOC This file, in directory FLUXLIB, contains the locations of some data files, and should be adapted to your site.
MISC directory containing auxiliary programs FITYIM directory containing program FITYIM INPUT directory: sample input and output PLOTXY directory: program for plotting functions f(x,y) The program plotxy has an option to build 2d distributions from the flux output obtained with option EXITCOORD. RBSIM directory: RBS / channeling energy spectra TAB This directory contains some input files, such as stopping data (scoef88), a mass table, and file COMBIN.FIG that defines the configurations for various lattices in various projections. CHECK directory: program fluxchk XTAL directory containing programs to generate projections of crystals. YIMP directory containing U.Wahl's program yimp.
A set of subroutines. You don't need all of these, so if you can, make 'libraries' out of this to be presented to the linking loader. Some of these are machine dependent to wit:
program fityim, file fityim.f
(in earlier distributions this directory was named AUX)
programs praak, yimp7, plotfig3, show
The idea is that you organize all the input and output pertaining to one case, in a separate directory. Before starting you change to this directory. Flux7 expects a file with the name 'batflux.ini', the startup file, in the current directory. This startup file should be a writeable file, as it is modified as the calculation proceeds.
The contents of batflux.ini are:
line 1: name of the inputfile of flux7 line 2: name of the outputfile of flux7 (flxfile) line 3: name of the text file of flux7 (logfile) line 4: name of the outputfile of yimp (may be a blank line) line 5: current angle number (initially 1, updated by flux7) line 6: current sub-run number (initially 1, updated by flux7) line 7: the verb NEW or OLD : status of flxfile (updated by flux7)
An empty or absent line 7 means the same as NEW: the flxfile should not yet exist. For OLD, as you already guessed, the flxfile is expected to exist already.
If for some reason a flux7 simulation run was interrupted, it may be continued, by just changing to the proper directory and starting flux7. It will automatically resume were it left off.
The same file, now renamed to yimp.ini, may be used as a startup file for program yimp.
As an alternative, you may start flux7 with the startup file name (now not necessarily 'batflux.ini') as a command-line argument. This option has been tested on Unix systems (HP, Sun, SGI) but may cause problems on other machines. If so, comment out the two relevant lines in batinit.f, directory FLUXLIB.
A script to do the above automatically is provided in directory BIN. This works in Unix only. You then have to prepare only the input file, with extension '.inp', say <name>.inp, and type the command
ini -t <name> to check the input file, or, ini <name> to run the simulation, with program flux7. ini -p fluxhf <name> to run the simulation, with program fluxhf.
For further options, see file BIN/ini itself.
A simplified version of this is the script makeflx, with calling sequence 'makeflx <name>' to run the simulation using <name>.inp as input file.
See also the script fluxgo. See further Launching Flux7 in the input page
The inputfile of flux is decribed in the input page, see also the source of subroutine INP.
After preparing the inputfile, and the startup file, run program fluxchk (see below) to check for trivial errors.
The output of FLUX consists of a text file, and a flux file. The flux file contains, for every simulation, a header, the close encounter probability, the energy loss, and the energy straggling as functions of depth, and the flux distribution integrated over depthi, as a function of x and y.
PLOTFIG: shows how the unit-cell is chosen, and how the x- and y- units are defined DETTMANN: generates the energy loss contribution of core electrons as a function of impact parameter. Input to this program are the electron binding energies for the various shells.
DEDX: generates values of dE/dx due to valence electrons, dE/dx (valence,local) and dE/dx (plasma).
FLUXCHK: tests the input file of flux7, without doing the lengthy simulations. Also calculations the 'random stopping power' corresponding to the input values of flux7
To make graphs of close encounter probability, energy loss or straggling the program SHOW may be used.
For simulating channeling profiles, several programs are available
1. For the profiles of host atoms one may use program PRAAK. N.B. a better way is to generate an RBS spectrum using the FLUX results as input, and set windows on this spectrum
2. For the profiles of impurity atoms use program YIMP7 or YIMPU The input of YIMP contains impurity lattice sites. To generate all projected lattice sites for a given displacement from substitutional programs XTAL (SI lattice) and FCCXTAL may be used.
The output of praak has the same format as the output of yimp. A little named getyim (source in MISC/getyim.f) may be used to convert it to a form more suitable for graphics programs. As a side effect it produces a file 'pgplot.ps' that visualizes the results of praak or yimp.
To fit experimental channeling profiles, use program FITYIM.
RBS spectra of scattered ions may be generated using RBSIM. RBSIM is not a standalone program but a subroutine package that should be integrated in a general data processing and analysis program.
To visualize individual ion histories, programs 'track' and 'ztrack' are available. To run these enable option XYOUT of flux. The coordinates are then output to the text file of flux, not the 'flux file'.
Besides the output file of flux7, the following input data are asked:
A,DEBYE [ instead of the DEBYE temperature, one may also specify the thermal vibration amplitude U1. For this purpose give -U1 instead of +Debye temperature for the parameter DEBYE ]. NSITES,NFAC: (2 integers) ANGSTR=0,XYUN=1,(R,PHI)=2 (1 integer, called JANG) IF(JANG.NE.2) X0,Y0,DX,DY,WEIGHT: (5 reals), NSITES times IF(JANG.EQ.2) X0,Y0,R,PHI,WEIGHT: " [ The idea is that X0,Y0 specifies a basic site (substitutional or interstitial), DX,DY the displacement from this site. Only DX,DY (not X0,Y0) will be multiplied by FACTOR, see below ] FACTOR: (real), NFAC times next A,DEBYE etc. give (A,DEBYE) = (0,0) to stop.
YIMP7 generates an ASCII output file that can be used as input for program FITYIM.
Two different ASCII input files are required:
1. An experimental data file, containing one or more records, where each record contains one angular scan, i.e. yield versus angle. The variable angle may be either the polar angle (tilt) or the azimuthal angle with respect to the channeling axis.
2. A simulated data file, containing one or more records, where each record contains an angular scan.
The format of these two files is quite different. The layout of the simulated data file is produced by programs YIMP and PRAAK. When using RBSIM to produce this file some editing will be needed.
Layout of the experimental data file: line 1: NI IVAR V0 VSTEP line 2: notes line3 and further (NI lines): xvar, yield
where:
NI: Number of data points. IVAR: Flag for the variable coordinate (IVAR=1:THETA, IVAR=2:PHI) ANGLE(I)=V0 + VSTEP * XVAR(I)
Another difference is the use within FITYIM. The experimental data are read sequentially (therefore put the records in the order you wish to analyse them). The simulated (``theoretical'') data records can be accessed randomly, and it is even possible to use a linear combination of two or more of these to fit a given experiment. It is the responsibility of the user to do the bookkeeping, within FITYIM each theoretical data record is addressed by its sequence number in the file.
The program is keyword driven. Some of the keywords are:
Exp : read the next experimental data record. Th : specify a theory Ranfrac : do a fit Graph: save graphic output to the plot file Cal : change the calibration (that was given in the experimental data record) Weight: specify the weights used in the fitting procedure Limit : use a subset of the experimental data Fix: Fix ratio of theoretical components
Computer simulation of channeling in single crystals. P.J.M. Smulders and D.O. Boerma, Nucl. Instr. and Meth. B29(1987)471
The relation between depth and energy in channeling experiments. M.Vos, D.O. Boerma and P.J.M. Smulders, Nucl. Instr. and Meth. B30(1988) 38
W. Segeth, D.O. Boerma, L. Niesen and P.J.M. Smulders Internal oxidation of In and Cd impurities in silver Phys. Rev. B39 (1989) 10725-10735
Thermal stability of a supersaturated solution of Hafnium in Aluminium. D.O. Boerma, P.J.M.Smulders, K.G.Prasad, M.M.Cruz, R.M.C. da Silva and F.Pleiter, Journal of the Less-Common Metals, 145(1988)487
P.J.M. Smulders, D.O. Boerma and M. Shanaan Lattice site location of Te in GaAs Nucl. Instr. and Meth. in Phys. Res. B45 (1990) 450-454
P.J.M. Smulders, D.O. Boerma, B. Bech Nielsen and M.L. Swanson Lattice site location of clustered boron atoms in silicon Nucl. Instr. and Meth. in Phys. Res B45 (1990) 438-441
W.G. Spanninga, P.J.M. Smulders and L. Niesen Moessbauer and channeling measurements on buried layers of CoSi2 in Si Proceedings of XXVI Zakopane School on Physics 1991, eds. J. Stanek and A.T. Pedziwiatr (World Scientific, Singapore, 1991) 360-362
P.J.M. Smulders, A. Dygo and D.O. Boerma Giant focusing peak and potential dependence observed in a transition from axial to planar channeling in Si Nucl. Instr. and Meth. in Phys. Res. B67 (1992) 185-188
W.G. Spanninga, P.J.M. Smulders and L. Niesen Moessbauer channeling measurements on buried layers of CoSi2 in Si Hyp. Int. 70 (1992) 927-930
W.G. Spanninga, P.J.M. Smulders and L. Niesen Moessbauer and channeling measurements on buried layers of CoSi2 in Si Nucl. Instr. and Meth. in Phys. Res. B63 (1992) 138-140
A. Dygo, P.J.M. Smulders and D.O. Boerma Simulation analysis of ion channeling spectra: thermal vibrational amplitude in Si Nucl. Instr. and Meth. in Phys. Res. B64 (1992) 701-705
M. Vos, C. Wu, I.V. Mitchell and P.J.M. Smulders Channeling of B ions in silicon Nucl. Instr. and Meth in Phys. Res. B67 (1992) 223-227
J.M.G.J. de Bakker, F. Pleiter and P.J.M. Smulders Hafnium implanted in iron: I. Lattice location and annealing behaviour J. Phys.: Condens. Matter 5 (1993) 2171-2180
L. Rebouta, P.J.M. Smulders, D.O. Boerma, F. Agullo-Lopez, M.F. da Silva and J.C. Soares Ion-beam channeling yields of host and impurity atoms in LiNbO3: computer simulations Phys. Rev. B48 (1993) 3600-3610
A. Dygo, W.N. Lennard, I.V. Mitchell, P.J.M. Smulders Random spectrum for the channeling-backscattering technique: A rotating axial-dip study Nucl. Instr. and Meth. in Phys. Res. B84 (1994) 23-30
A. Dygo, W.N. Lennard, I.V. Mitchel and P.J.M. Smulders Azimuthally averaged backscattering yield near the <100> axis in Si Nucl. Instr. and Meth. in Phys. Res. B90 (1994) 161-165
P.J.M. Smulders The nuclear encounter probability Nucl. Instr. and Meth. in Phys. Res. B94 (1994) 595-596
P. J. C. King, M. B. H. Breese, P. J. M. Smulders, P. R. Wilshaw, and G. W. Grime Observation of a blocking to channeling transition for MeV protons at stacking faults in silicon. Phys. Rev. Letters 74 (1995) 411
M.B.H. Breese, P.J.C. King, P.J.M. Smulders, G.W. Grime, Dechanneling of MeV protons by 60 degree dislocations, Phys. Rev. B 51(5), pp.2742-2750, 1995
P.J.C. King, M.B.H. Breese, P.R.Wilshaw, P.J.M. Smulders, and G.W.Grime Transmission ion channeling images of crystal defects Nucl. Instr. and Meth. B99 (1995) 419
P.J.C. King, M.B.H. Breese, P.J.M.Smulders, A.J. Wilkinson, G.R. Booker, E.H.C. Parker, and G.W. Grime Evidence from ion channeling images for the elastic relaxation of a Si0.85Ge0.15 layer grown on a patterned Si substrate Applied Physics Letters 67 (1995) 3566
M.B.H. Breese, P.J.C. King, G.W. Grime, P.J.M. Smulders, L.E. Seiberling, and M.A. Boshart. Observation of planar oscillations of Mev protons in silicon using ion channeling patterns. Phys. Rev. B 53(13) (1996) 8267
M.B.H. Breese, P.J.C. King, and P.J.M. Smulders Characterisation of strain in crystal bilayers using ion chan Phys Rev B54(14) (1996) 9693
M. B. H. Breese and D. G. Dekerckhove and P. J. C. King and G. W. Grime and P. J. M. Smulders, Direct observation of lattice strain in Si_{1-x}Ge_x/Si crystals using planar channeling patterns. Phys Rev B (1997) {to be published}
M. B. H. Breese, P. J. M. Smulders, A study of channeling patterns from strained Si_{1-x}Ge_x/Si bilayers close to <011> axes. Nucl. Instr. and Meth. B132 (1997) 177
This list is outdated. Applications have been published since by Mark Breese and co-workers, Louis Selen et. al. (Eindhoven University of Technology), Anni Seppala and Reeta Salonen (Finland), and Ulrich Wahl and the K.U. Leuven group.