Initial revision

This commit is contained in:
cvs
2000-02-07 10:38:55 +00:00
commit fdc6b051c9
846 changed files with 230218 additions and 0 deletions

346
doc/user/tricsman Normal file
View File

@ -0,0 +1,346 @@
\documentclass[12pt,a4paper]{report}
%%\usepackage[dvips]{graphics}
%%\usepackage{epsf}
\setlength{\textheight}{24cm}
\setlength{\textwidth}{16cm}
\setlength{\headheight}{0cm}
\setlength{\headsep}{0cm}
\setlength{\topmargin}{0cm}
\setlength{\oddsidemargin}{0cm}
\setlength{\evensidemargin}{0cm}
\setlength{\hoffset}{0cm}
\setlength{\marginparwidth}{0cm}
\begin{document}
%html -d hr " "
%html -s report
\begin{center}
\begin{huge}
TRICS--Reference Manual \\
\end{huge}
Version November, 1998\\
Dr. Mark K\"onnecke \\
Labor f\"ur Neutronenstreuung\\
Paul Scherrer Institut\\
CH--5232 Villigen--PSI\\
Switzerland\\
\end{center}
\clearpage
\clearpage
\tableofcontents
\clearpage
%html trics.htm 1
%html tricsgen.htm 1
%html basic.htm 1
%html drive.htm 1
%html motor.htm 2
%html trimot.htm 2
%html counter.htm 2
%html samenv.htm 2
%html logbook.htm 2
%html commandlog.htm 2
%html macro.htm 1
%html buffer.htm 1
%html hkl.htm 2
%html config.htm 1
%html system.htm 1
%html tricsingle.htm 1
%html optimise.htm 2
\section{External FORTRAN 77 Programs}
\subsection{INDEX}
The program indexes reflections on the basis of observed
2Theta, Omega, Chi, Phi angles when the cell constants and
wavelength are known.
It does not take into account systematic extinctions.
The process, when successful, has three steps.
First, it calculates, for each set of observations, all possible
HKL's for which theta(calc) lies within theta(obs) +/-
delta theta.
delta theta is given - see below -.
For delta theta = 0, the value defaults to 0.05.
Second, it finds for all combinations of two sets of observations,
the angle between the indexed HKL's for which angle(calc) lies
within angle (obs) +/- delta.
delta given - see below -. Delta = 0 causes default to 0.2
Finally, it finds all sets of indexed HKL's that explain all angles
between the observed sets of Omega, Chi and Phi.
The user will normally be presented with several possible sets of
HKL's which fit within the limits given.
- they are already tested for right-handedness -
and he must now choose which set he likes the most.
If he wishes he may now specify which set of reflections he likes
and the program will then set up the input file for the program
rafin, - see next section -.
The program ensures that the first two reflections are acceptable
to rafin. The user must say whether he wants the ub matrix
written directly into lsd ( for instant use ) and which file he
wants his rafin input to come from (usually rafin.dat).
The program rafin is then automatically started.
Input to index can be done either from the terminal or from a file
index.dat
The format is the same, an example is given here.
\begin{verbatim}
THIS IS A DUMMY EXAMPLE ( text )
5.82 16.15 4.09 90 103.2 90 .84 .15 (cell constants, lambda delta)
16.18 9.01 34.71 14.74 0 (2Th, Om, Ch, Ph, delta theta)
13.21 7.8 .71 -56.13 0.1 (2Th, Om, Ch, Ph, delta theta)
etc. etc.
0 ( end list with 2Th = 0 )
\end{verbatim}
The program will only suggest sets of indexed HKL's if all
reflections are explained. If not, the user must himself look
through the list of observed and calculated angles to find a
partial list.
\subsection{RAFIN}
This program determines orientation matrix ( ub) from two or more
sets of orientation angles for reflections, and refines
(optionally) wavelength; zeroes of 2Theta, Omega or Chi; a, b, c,
alpha, beta or gamma.
To call the program, type :--
rafin
after having set up the input file :
The input data are on rafin. dat
(teletype input can be used, but is cumbersome)
Use teco to make or correct the file.
An example of the input file ( comments in parentheses ) :--
\begin{verbatim}
0 1 (second no. 0/1 for ub not transferred/transferred to lsd)
0 (always)
0 -4 -2 28.01 13.75 81.59 42.05 (H K L 2Theta Omega Chi Phi)
4 -6 7 50.84 25.37 34.04 18.41
-2 -6 0 41.55 20.53 66.93 59.99
4 0 4 19.74 9.94 -16.92 -5.40
1 -5 -3 35.59 17.70 82.32 1.40
6 0 0 18.47 9.26 -2.32 -46.95
0 .8405 (0/1 do not/do refine lambda; and lambda)
0 0.0 1 0.0 1 0.0 (0/1 for do not/do refine, 2Theta zero,
-0/1 for do not/do refine, Om zero,
-0/1 for do not/do refine, Chi zero.
0 15.9158 0 7.1939 0 14.277 0 90 0 98.72 0 90 (ditto for a, b, c, alpha, beta and gamma)
2 0 0 (H K L list for angles to be calculated)
0 2 0
0 0 2
0 0 0 (end of list)
-1 (end of input file)
\end{verbatim}
Ensure that lsd is not running if you wish to transfer the
matrix and wavelength directly into its parameter section,
otherwise it may not be successful.
rafin will never modify the zeroes for you. This is for you to do
by adding them to the values in zer of par. Remember that for a
well aligned diffractometer, they will never change by very much.
Note: the first two reflections should be far away enough in
reciprocal space to define a plane. They must be at least 45 deg
apart in Phi and only one may have Chi greater than 45 deg.
Note also that higher angle (Theta) reflections usually give a
better fit.
You cannot, obviously, refine lambda and your cell at the same
time.
\subsubsection{Acknowledgements}
The index program was written by M.S.Lehmann,
and J.M.Savariault.
The rafin program was implemented at the ill by A.Filhol and
M.Thomas.
It was implemented on the pdp 11 system by A.Barthelemy.
\subsection{HKLGEN}
THIS PROGRAM IS USED TO GENERATE A LIST OF HKL's which can be used
for input to the measurement routines of lsd.
Indices can be generated internally in lsd, but it is generally
considered easier to create a list, and measure from this.
hklgen will generate HKL's according to min and max specified
indices, and will write them into output file(s) if they are inside
the Theta limits.
If chi and phi limits are specified, the program will also look
to see if the hkl is measurable inside these machine limits.
If not, it will see if the Friedel Pair is inside limits
If this is also outside limits, it will see if the reflection can
be measured for hkl psi=180
- note this option means chi = 90 -> 180 i.e. up-side-down.
If measurement is not possible for any of these conditions, the
hkl is declared blind.
Comments like fr.pr hichi blind indicate these on tty output.
To run the program do :--
hklgen
Input to the program is either from the terminal or from a file
hklgen.dat, already created by the user.
\subsubsection{Input from Terminal}
The first question asked under this option is whether a file
hklgen.dat should be created.
If subsequent runs are envisaged, this might be a good idea. In
this case teco can be used to make small changes to the input and
the program can be quickly re-run.
hklgen then asks for the following parameters :--
\begin{enumerate}
\item Title. Up to 80 characters to be displayed at the top of the
output.
\item Wavelength and the 9 'rules limiting possible reflections' -
see appendix C -- If you give wavelength = 0, the wavelength,
extinction rules, and orientation matrix will be taken from
lsd's parameter files.
chi and phi software limits are also taken but an
opportunity is given to over-write them.
-- If the wavelength is given explictly, followed by up to 9
numbers for the extinction rules, the orientation matrix must
then be given line by line.
\item Theta limits. ( Note not 2-Theta limits ).
chi and phi limits ( if required ) must also be given in
this line.
-- If zeroes are given, no limits will be included in the
calculations.
-- If nothing is given, LSD's limits will be used if data was
taken from the parameter files, or it will default to zeroes
if the data above was given by the user.
\item Three numbers indicating the relative speed of variation of
h, k and l.
First number is the slowest changing index, third number is
the fastest changing index.
1/2/3 is used to represent h/k/l.
e.g. 3 2 1 means L changes slowest, then K, with H changing
fastest.
\item Minimum and maximum indices in hkl are now requested.
You must give hmin hmax kmin kmax lmin lmax.
Note however that before starting the calculations, hklgen
calculates itself what is the maximum value for each index for
the specified Theta range and if this is inside these values,
they will be modified.
Therfore, if, for example 0 999 0 999 -999 999 is given,
hklgen will calculate the maximum values and give HKL's for
positive H, positive K, positive and negative L.
\item Four numbers concerning various outputs from the program.
a) The first npunch concerns the hkl output file.
0 = no file for output
1 = file for output containing hkl only in 3I4 format.
2 = file for d15-ren ( not for d8-d9 )
3 = file for output containing hkl and setting angles.
b) The second ipara concerns machine geometry.
0 = Bissecting geometry - (normal for d8-d9 ).
1 = Normal beam geometry - ( rarely used on d8-d9 )
3 = d15 lifting counter mode ( used with npunch = 2 )
c) The third number nbites concerns hkl output.
1 = write hkl for each case in four separate files.
0 = write all HKL's in one single file FOR00x. dat
( x specified below ).
d) The fourth number nlist concerns terminal output.
0 = write each hkl with angles and comment on terminal.
( can take time and consume paper ).
1 = suppress most of the output on tty.
\item If in previous line FOR00x. dat was specified for hkl output,
X must be given.
This is the last line in the input but is not always
necessary.
\end{enumerate}
The program then generates as specified, creating file(s) if
required. It gives a resume at the end and exits.
\subsubsection{Input from file hklgen.dat}
Input is given in exactly the same order as above, so for a more
detailed description of each parameter see previous section.
Two possible examples are given below.
\begin{verbatim}
KNUDDERKRYSTAL LAVET AF AARKVARD, 120K (Text, 80 characters)
0.8405 0 0 0 0 0 0 0 0 0 (Wavelength and the 9 Extinction rules. )
0.043361 -.04190 .5399 ( ub given in three separate lines
-.046409 -.032053 .03721 - as wavelength is given explicitly
-.00256 -.12861 -.02687
0 36 -20 95 ( Theta limits and Chi limits - note - no limits on Phi. )
2 1 3 ( relative speeds of hkl. - K slowest - L fastest. )
-99 -1 0 5 -99 99 ( Hmin,Hmax,Kmin, etc. - note all L's with all neg
1 0 0 1 ( a) Output file of hkl.
b) Bisecting geom - usual.
c) All HKL's in for00x.dat.
d) Suppress most tty output. )
3 ( hkl file on for003.dat )
\end{verbatim}
hklgen is a program which has evolved in the hands of :
A.Filhol, S.Mason. A.Barthelemy and J.Allibon.
\subsection{Encoding of Extinction Rules}
\begin{verbatim}
HKL
0 : NO CONDITIONS
1 : H + K + L = 2n
2 : H, K, L all even or all odd
3 : -H + K + L = 3n
4 : H = K + L = 3n
5 : H + K = 2n
6 : K + L = 2n
7 : H + L = 2n
8 : H + K + L = 6n
9 : H, K, L all even
10 : H, K, L all odd
11 : If H - K = 3n, then L = 6n
H K 0
0 : No conditions
1 : H = 2n
2 : K = 2n
3 : H + K = 2n
4 : H + K = 4n
0 K L
0 : No conditions
1 : K = 2n
2 : K + L = 2n
3 : K + L = 3n
4 : K + L = 4n
5 : L = 2n
H 0 L
0 : No conditions
1 : L = 2n
2 : H = 2n
3 : L + H = 2n
4 : L + H = 4n
H H L
0 : No conditions
1 : L = 2n
2 : H = 2n
3 : 2H + L = 4n
\end{verbatim}
%html mesure.htm 2
%html hklscan.htm 2
%html tricspsd.htm 1
%html histogram.htm 2
%html nextrics.htm 2
\end{document}