Variables for use with BGMN
- The expression interpreter
-
-
Variables in the task description SAV file for BGMN
-
VAL,
VERZERR,
STRUC, STRUCOUT,
PDBOUT, RESOUT,
FCFOUT,
OUTPUT, LIST,
RU, UNT, DDM,
PARAM,
LAMBDA, SYNCHROTRON,
EPS1, EPS2, EPS3, EPS4, POL,
PROTOKOLL, ONLYISO,
ITMAX,
DIAGRAMM, PLAN,
STANDALONEPLAN,
GOAL, WMIN, WMAX,
CUT,
LIMIT2, LIMIT4, LIMIT6, LIMIT8, LIMIT10, ANISOLIMIT,
ANISO4LIMIT,
- Items in the structure description *.str-file
-
- Definition of the lattice
- SpacegroupNo, HermannMauguin, ReflectionCondition,
A, B, C, ALPHA, BETA, GAMMA, UNIT
- Anisotropic variables
- ANISO, ANISOLIN, ANISOSQR, ANISO4
- Scaling factor/prefered orientation
- GEWICHT, SPHAR0, SPHAR2, SPHAR4, SPHAR6, SPHAR8, SPHAR10
- Real structure
- B1, B2, k1, k2, k3, sk, H, h, k, l, zweiTheta, RP
- Atomic positions
- E=, Wyckoff, x, y, z, TDS, B, betaij, U, Uij
- GOAL's, quant analysis
- GOAL, GEWICHT
- BGMN-specific functions
- PHASE, sk,
B1, k2,
ANISO,
GEWICHT(h,k,l),
GrainSize,
TDS,
- Advanced feature: subphases
- RefMult, iref, GEWICHT[i], B1[i], B2[i], k1[i], k2[i], k3[i],
DELTAsk, DELTAzweiTheta,
- Advanced feature: Structure factors etc
- F, Finv, H
- Advanced feature: molecules
- set, setgitter, cross, diffvec, normvec, skalpro, distance,
angle, T, D, X, Y, Z, WW, WWalt, Straf, Theory, Bondings, BondLevel
-
Micro absorption correction according to Brindley
- my, my[i]
-
X ray density
- density, density[i]
-
Variables in the task description SAV file for computation of
standard profiles
- VERZERR,
TubeTails,
R,
FocusH, FocusW,
HSlitR, HSlitW,
PColl, PCollA,
VSlitR, VSlitH,
SamplD, SamplW, SamplH,
DeltaOmega,
SSlitW, SSlitR,
SColl, SCollA,
DetW, DetH,
MonR, EPSG,
zweiTheta[i], GSUM,
TSlitR, TSlitH,
FocusS, FocusA,
GEOMETRY, WMIN, WMAX,
WSTEP, GEQ,
D, T,
STANDARDPAR,
VAL,
BGMN uses a built-in expression interpreter. This interpreter in general
uses case-sensitive variable names of unlimited lenght. The number of
indices per variable is unlimited. Indexed variables are referred
as follows:
name[i,j,k]
Variables may hold numeric values (double format) or strings. In special,
a string may hold an expression. Expressions are stored as-is and evaluated
every time they are used. Therefore expression evaluation may become
recursive: An expression may contain a variable, which refers to a second
expression etc. Bracket level is unlimited. A lot of standard functions are
predetermined:
- abs, sqr, sqrt, sin, cos, tan, asin, acos, atan, log, exp
- with one argument. As usual, the argument of the angular
functions sin, cos,tan and the result of its inverses (asin, acos, atan)
are in radians.
- mod, power
- with two arguments,
- min, max
- with variable argument count,
- ge, gt, le, lt, eq, ne
- This functions accept two or
more arguments.
ge, gt, le, lt, eq return 1.0 (TRUE), if the condition holds for each
neighboured pair of arguments, starting from the first. If some pair does
not hold the condition, 0.0 (FALSE) will be returned immedially, errors
in following arguments will not cause this function to cause
errors.
ne looks for inequality between any pair (also not neighboured)
of arguments. If two arguments are equal, ne returns 0.0 (FALSE).
Otherwise, ne returns 1.0 (TRUE).
- and, or
- with variable argument count. Evaluation of arguments is done until
the result is determined (C-like evaluation).
- not
- with one argument,
- ifthenelse
- with three arguments. If the first argument is TRUE, then the
result of the second expression is returned, otherwise the result of the
third. The other argument will cause no error to the result.
- ifdef
- with variable argument count. Delivers TRUE, if all arguments may be
evaluated to a numeric (double) value. In the case one value is undefined
(causes an error), ifdef results in an error.
- cat
- Concatenation of commands, with variable argument count.
Arguments may be expressions or assignments. At least one expression
must be in the argument list, the rightmost expression determines the
return value of the function.
- while
- looping of commands, with variable argument count.
The first argument must be an expression. As long as its value is
non-zero and no error occurs, all following arguments are evaluated.
Returns the number of loop iterations.
- ergibt
- with one argument, executes the assignment given as argument.
Returns TRUE, if the assignment is succesfull, otherwise FALSE.
Please note the special meaning of multiple equation symbols in value
assignments to variables:
a=b+c
assigns the string "b+c" to the variable named "a". Every multiple equation
symbol makes one deeper evaluation. e.g.
d==a
e===a
d holds the string "b+c". If the third evaluation is possible at input time,
e holds the numeric value of the sum b+c. Otherwise, the multiple evaluation
is cancelled (without error) and the string "b+c" is assigned, too.
In the input, the user may define string functions in the manner of:
name(argumentcount):expression
A positive count of argument defines a fixed value, the absolute value
of a negative argument count defines a lower limit of argument count.
expression may contain the special symbols
#1 #2...
which are replaced by the evaluated numeric value of the first, second...
argument. Every argument is evaluated only once. An errorneous argument
causes an error only if it will be used.
Example:
faculty(1):ifthenelse(eq(#1,0),1,#1*faculty(#1-1))
or using level 3.3.29 or above:
faculty(1):cat(n==#1,ret==1,while(n,ret==ret*n,n==n-1),ret)
BGMN defines a lot of structure-description specific functions with
limited validity. Most of them are only valid in the structure description
files. Some are only valid in GOAL's, others only in the description of
atomic positions (E=...).
- VAL[1], VAL[2]...
- Files with measuring values. BGMN assumes the APX file format of the firm
SEIFERT FPM, in general. Files with the extension ".rd" are assumed
to be in PHILLIPS format. In this case the variable STEPWIDTH may be
uses to assing a non-raster stepwidht (STEPWIDTH != n*0.005)of the
measuring file (e.g. PHILLIPS format in conjunction with a scanning
PSD from SIEMENS). Files with the extension ".raw" are assumed to be in
SIEMENS format. Files with the extension ".gsa" are assumed in
GSAS format, restricted to constant angular steps (both the variants
STD and ESD of the GSAS data format)
- VERZERR
- name of the GEQ-file (output of makegeq). This is the recommended
case. If only the GER-file (output of geomet) exists, BGMN interpolates
it for every measuring point. If no file is available, you can give an
expression as value. This expression may depend from the variable zweiTheta
(two Θ). It describes the width parameter of a single squared Lorentzian
function, which is used instead of the complicated sum of squared lorentzians.
The width parameter refers to Θ, unit radian.
- STRUC[1], STRUC[2]...
- Structure description files for the phases present in the specimen.
- STRUCOUT[1], STRUCOUT[2]...
- Output of structure descriptions in the same format as the input (*.str).
- PDBOUT[1], PDBOUT[2]...
- Output of the structures in the *.pdb format (Brookhaven Protein Data Base,
e.g. usable for image generation with RasMol)
- RESOUT[1], RESOUT[2]...
- Output of the structures in ShelX format.
- FCFOUT[1], FCFOUT[2]...
- Output of observed and calculated F's plus phase angle in ShelX
format. I have choosed the No. 5 format from the ShelX 97 manual.
Cited from those manual:
Write h, k, l, Fo, Fc, and f (phase angle in degree) ...
This is indented for input to somestandard macromolecular FFT programs
(such as W. Furey's PHASES program), thereby providing a possible
route to a graphical display of the electron density.
New in version 2.5.0!
New in Version 2.5.1: All Fs and the phase angles are corrected
for dispersion. This means: They really are fourier coefficents of
electron density maps. See (newest) ShelX manual.
- OUTPUT
- *.par-file (peak parameters of all peaks). Used for diagramm generation
with SHOW and for peaklist generation with OUTPUT.
- LIST
- General result output
- RU
- Number of background parameters. If omitted, BGMN automatic selects a
value depending from the 2Θ range and the data accuracy.
- UNT
- A single file with pattern data. If this parameter is used, its
intensities describes a kind of "amorphous background" and are multiplied
with the last background parameter and added to the model during refinement.
- DDM
- If set to
DDM=Y
the DDM method as described in
L. A. Solovyov
Full-profile refinement by derivative difference minimization
J. Appl. Cryst. 37 (2004), pp. 743-749
http://krsk.info/icct/en/cont/persons/sol/ddm.html
will be used. As inherent to this Method, the number of Background parameters
RU is set to zero. The DDM method is indented to cases with complicated
background.
- PARAM[1], PARAM[2]...
- Global parameters for the fit. Needs a starting value in the kind
PARAM[i]=name=startingvalue
Possible extensions are
PARAM[i]=name=startingvalue_lowerlimit
PARAM[i]=name=startingvalue^upperlimit
which may be combined.
- LAMBDA
- specifies a wavelength file, for example LAMBDA=CU selects
the file cu.lam for the wavelength distribution (profile of the
K alpha doublet) and cu.ano for the corresponding anomalous dispersion.
- SYNCHROTRON
- same as LAMBDA, but switches on some specialities for synchrotron
radiation. Knows an extended form as
SYNCHROTRON=0.079776
for specifying an ideal narrow (delta-peak) wavelength distribution
at the given wavelength in nanometers. Then, no anomalous dispersion
may be specified.
- EPS1, EPS2, EPS3, EPS4
- describes angular corrections of the measured diagram:
- EPS1 describes the shift of X ray tube and/or detector in radian.
Positive values of EPS1 correspond to the tube's resp. detector shift
towards the Θ=90° position and therefore to shifting the
pattern towards lower angle.
- EPS2 describes the shift of the specimen out of the goniometer axis.
Again, the unit is radian. Positive values of EPS2 correspond to:
- GEOMETRY=REFLEXION, GEOMETRY=CAPILLARY:
- shift of the specimen out of the zero line and orthogonal to this
line opposite of the side of tube/detector, which means shift of the
pattern towards lower angle. The shift of the specimen is
equal to:
R*EPS2/2
- GEOMETRY=TRANSMISSION:
- shift of the specimen parallel to the zero line in detector direction.
The shift of the specimen is equal to R*EPS2/2
- EPS3 corrects for penetration depth. Should only be used with
GEOMETRY=REFLEXION, a better way is correction of the
profile by penetration depth using the D variable
- EPS4 should only be used without modelling the apparatus function
(without having runned geomet/makegeq and without using
*.ger/*.geq-files)
- POL
- used in the polarisation factor. Default POL=1 means no monochromator.
Cannot be declared as parameter. Should be in the kind
POL=sqr(cos(2 ThetaMonochromator))
For Cu Kα radiation and graphite monochromator, use
POL=sqr(cos(26.6*pi/180))
pi=2*acos(0)
- PROTOKOLL
- determines, wether a iteration protocol is given or not.
Y/y/J/j: A protocol is printed.
N/n: A protocol is not printed.
Default value is N.
- ONLYISO
- if this value is set to Y/y/J/j, only a fast isotropic
computation is done. All anisotropies and spherical harmonics
are ignored. A numeric value controls the exit from iteration.
In the case of Y, 1.0E-4 is assumed. Default value is N.
- ITMAX
- Maximum stepcount while iteration. BGMN uses the 10 fold of the
parameter count. In critical cases (e.g. structure solution)
this limit should be enlarged.
- DIAGRAMM
- In every iteration step, a file containing a line per measuring point is
written. Each line contains
2Θ Imess Icalc Ibackground
, followed by a list of intensities, each for every phase
involved in the refinement.
This is for graphical observation of the refinement progress
(Diagram window in BGMNwin)
- PLAN
- A simple list, each line contains angle, count and measuring time of a
futural measurement. Output of (optional) Optimal Experimental Design.
- STANDALONEPLAN
- Logical switch. Decides, if the Designed Measurement has to be
evaluated together with the unplanned pre-measurement
(STANDALONEPLAN=N) or standalone (STANDALONEPLAN=Y).
For a single task, I would prefer N, which is the default.
However, in the environment of a routine analysis in a factory,
which has to been done cyclically every few minutes (specimen does
not change very largely), STANDALONEPLAN=Y becomes significant.
- GOAL[1], GOAL[2]...
- global goal of the experiment. Possible values are:
GOAL[i]=expression
GOAL[i]=expression=value
GOAL[i]=expression=value+-σ
The second line is written in the output SAV file. It contains the
result. The third line ist written in the LIST file, supporting a fitted
value and an error (1σ) for the expression. If one uses the third
line in the SAV-file, Optimal Experimental Design is done and the σ
value should be reached after a planned measurement an fit of both
measurements at once.
- WMIN, WMAX
- Angular limits for selection of measuring values, unit degree in 2Θ.
- CUT[1], CUT[2]...
- Angular limits for deselection of measuring values. Format:
CUT[i]=wmin:wmax
, units are again degree in 2Θ
-
LIMIT2, LIMIT4, LIMIT6, LIMIT8, LIMIT10, ANISOLIMIT, ANISO4LIMIT
- These variables controls the automatic reduction of degree of
spherical harmonics and/or anisotropies. After isotropic calculation,
the value of the variable GEWICHT must exceed the LIMITx-fold of
its error (1σ). Otherwise, the degree of spherical harmonics is
reduced. ANISOLIMIT, ANISO4LIMIT works in the same kind for any variable
declared as ANISO or ANISO4. ANISO4 is reduced to ANISOSQR.
If not given (which should be mostly the case), BGMN chooses an advanced
value depending from the Laue Group of the phase.
Beside there are other ways for defining a lattice with BGMN, one should
use the spacegrp.dat file. Therefore, give at least one of the items
HermannMauguin=...
SpacegroupNo=...
in the structure description file. In addition, one may set
ReflectionCondition=...
as a bool switch for the selection of the reflection (depending on
h k l) conditions as given in the International Tables. Zero (false)
will omit the reflection, non-zero (true) activates the reflection.
And give the non-trivial lattice constants, e.g.
A=... C=...
for tetragonal or hexagonal lattice. The full set of lattice constants
(triclinic) must be named
A=... B=... C=... ALPHA=... BETA=... GAMMA=...
In normally, this lattice constants should be parametrized and boundaries
should be used, e.g.
PARAM=A=0.314_0.312^0.316
Attention! Units of measure are nanometers, or you must use the key
UNIT=ANGSTROEM
in this structure description file!
Each variable may be parametrized. As an extension, each variable
may be parametrized anisotropic by using the key's
name=ANISOLIN
name=ANISOSQR
There are some special keys for backward comptibility:
B1=ANISO stands for B1=ANISOLIN
k2=ANISO stands for k2=ANISOSQR
GEWICHT=ANISO stands for GEWICHT=ANISOSQR
ANISO4 is recommended in the case of complicated micro strain, use k2=ANISO4.
This means a fully symmetric product of hkl with a positive definite tensor of
forth rank. See:
- P. Thompson et al.,J. Less Common Met. 129 (1987) 105
- J. Rodriguez-Carvajal et al., J. Phys. Condens. Matter 3 (1991) 3215
- Both cited corresponding to an oral presentation of P.W. Stephens on
EPDIC 5, Parma, Italy
Each of this key's may be completed by an upper limit, e.g.
B1=ANISO^0.02
This boundary is valid only in the first steps of computation. In this steps
isotropic replacements for such variables are used. Therefore, the limit is
only a hint for the iteration procedure.
The symmetriy of the anisotropic values is automatically corrected to the
lattice symmetry.
The commonly used scaling factor is predefined by the variable
GEWICHT
Of course, one may define this variable as anisotropic. For strong and
multiple prefered orientation there are possible spherical harmonics.
The keywords therefore are:
GEWICHT=SPHAR0/SPHAR2/SPHAR4/SPHAR6/SPHAR8/SPHAR10
Only the even coefficients up to the given order are used. This means
6/15/28/45/66 independent parameters in triclinic lattices. Of course,
the symmetry of the spherical harmonics is atomatically corrected to the
lattice symmetry. Plus, BGMN guarantees these spherical harmonics
to be positive definite. For details see:
J. Bergmann, T. Monecke, R. Kleeberg
Alternative algorithm for the correction of preferred orientation in
Rietveld analysis
J. Appl. Cryst. 34 (2001) pp. 16-19
The effective count of parameters is reduced, thereby, for
all non-triclinic lattices. SPHAR0 corresponds to an isotropic value.
GEWICHT is corrected with the usual factors for weight content
analysis. This includes in special the value as predefined
in the variable density, which means that of the first
subphase in case of RefMult>1.
In General, SPHARx starts with the isotropic value zero. But if
no measuring data are given (only theoretic computation), the value 1
is assumed.
If both GEWICHT=SPHARx and GEWICHT=ANSIO are active:
- GEWICHT=ANISO dominates over GEWICHT=SPHAR0.
- GEWICHT=SPHARx (x>0) dominates over GEWICHT=ANISO.
- By defining GEWICHT=ANISO and GEWICHT=SPHARx (x>0) one gets
the extended switching SPHAR6->SPHAR4->SPHAR2->ANISO->ISOTROPIC,
which makes senso in complicated cases.
Having solved the problem of wavelength and apparatus influence into the
profil shape, BGMN now must handle the specimens influence to this shape.
This is normally done by three variables, two of them may be declared
anisotropic:
- B1
- stands for a lorentzian broadening caused by size effects. It should
be parametrized. Units of measure is the inverse of that used for the
lattice constants, in common 1/nm. You are encouraged to declare it
anisotropic using the key
B1=ANISO
if the specimens crystals are of anisotropic shape.
- B2
- Is the square of the broadening of a squared lorentzian, which is more
gaussian-like. Using the square of the broadening solves a convergence
problem, which will occur for B2=0 by handling the squared lorentzian
with itself. In usual, you should not use this variable direct.
BGMN predetermines the formula
B2=k1*sqr(b1)+k2*sqr(1/d)+k3*sqr(cost*max(0.0,cot(twoTheta)))
k1 describes a gaussian-like part of the size effects. It should be
parametrized in the way
PARAM=k1=starting_value_0^1
Values greater 1 leads to negative contents of smallest particles in
the particle size distribution. The greater the value of k2, the narrower
is the particle size distribution.
k2 may describe the micro strain effect. It is the quare of the usual
micro strain. You may describe it anisotropic by
using
k2=ANISO
or
k2=ANISO4
But k2=ANISO should be restricted to very special cases, for which you
have any hints for the reallity of anisotropic strain.
You should never use k3, except in case you don't use any predetermined
specimens function's (which are generated by running geomet/makegeq and
sored in *.ger/*.geq files). In such cases, k3 describes a broadening
of the line for small angles. Asymmetry is never described, in this way!
You may assign own expressions to B1 and/or B2. There are some predefined
variables for doing so:
- sk
- holds the 1/d-value of the reflection, unit 1/nanometer (or 1/Å
in case you use UNIT=ANGSTROEM for this structure file).
- h, k, l
- hold the Miller indices of the reflection. Attention: In general,
reflections are multiple. For each reflection only one triple of Miller
indices is used for computation, and intensity is multiplied with the
multiplicity!
- zweiTheta
- holds the 2Θ value of the reflection.
- H
- holds the multiplicity of the reflection.
The kind of the profile model is controlled by the variable RP, also.
- RP=2
- means ideal lines, no specimen influence on line shapes.
- RP=3
- means usage of Lorentzian-broadening B1 only.
- RP=4
- means usage of both Lorentzian B1 and squared Lorentzian broadening B2.
This is the default value.
In general, the key for starting an atomic position is the position's
occupation definition, e.g.
E=C
E=(NA(p),K(1-p))
E=(NA(p),K)
The last two lines are equivalent. All non-weighted elements are used
to complete the position's total occupation probability to one.
The next is the Wyckoff symbol in accordance to the spacegrp.dat file, e.g.
Wyckoff=c
The next are the x, y, z values as demanded by the Wyckoff symbol:
x=0.312 z=0.574
For structure refinement, these values may be parametrized:
PARAM=x=0.312_0.31^0.315
The Debye-Waller-Factor is given by the variable TDS. It may be declared
as anisotropic:
TDS=ANISO
The isotropic TDS value is equal to the common used B, except for the
unit of measure (default nm**2, otherwise use
UNIT=ANGSTROEM). The anisotropic
TDS values given in the LIST file are dimensionless and are equivalent to the
βij values. The Uij values also are given in the
LIST file, Uij values are given in the used unit of measure.
If you have given only an isotropic U,
please use the equation
TDS=8π2U
If no TDS is defined, a phase-specific of measurement-global expression
for TDS is used. Otherwise, TDS is assumed to be zero.
A special feature of BGMN are GOAL's. From above, you know them as global
GOAL's. You can, of course, use them in phase-specific or position-specific
context. Therefore you must omit the index, e.g.
GOAL=A/C
for determining the lattice constants ratio A/C.
A special feature for non-global GOAL's are the so-called auxiliary goals:
goal:name=expression
In opposite to normal assignments, the right side of the auxiliary goal's
assignment is evaluated to a numeric (double) value. Furthermore you can use
GOAL-time specific functions in auxiliary goals.
Quant analysis is supported by the GOAL's. Therefore, in each phase's
structure description file use the auxiliary GOAL
GOAL:phasei=GEWICHT
In the case of three phases, use the three GOAL's
GOAL[1]=phase1/(phase1+phase2+phase3)
GOAL[2]=phase2/(phase1+phase2+phase3)
GOAL[3]=phase3/(phase1+phase2+phase3)
in the SAV file. The values for GEWICHT are corrected for the phase's
X ray density (that of the 1st Subphase in case
RefMult>1). So they can used for quant analysis, directly.
- PHASE
- with one argument serves TRUE, if the string given as argument is identic
to the phase identificator given for the phase.
- sk
- uses three arguments: A set of Miller indices. It serves the 1/d value
for the given reflection. Usable only in GOALs
- B1
- uses the Miller indices as three arguments. Serves the B1 value of this
reflection. Usable only in GOALs.
- k2
- uses the Miller indices as three arguments. Serves the k2 value of
this reflection. Usable only in GOALs.
- ANISO
- First parameter is a variable declared as ANISO, followed by three
Miller indices. Serves the value of this variable in the given
direction. Usable only in GOALs.
- GEWICHT
- uses the Miller indices as three arguments. Serves the value of GEWICHT
for this direction. Usable only in GOALs.
As a special feature, the mean value of GEWICHT is set to the variable
GEWICHT at GOAL time. So you can get the value of the prefered
orientation's correction for a given direction simply by writing
GOAL=GEWICHT(h,k,l)/GEWICHT
- GrainSize
- uses the Miller indices as three arguments. Serves the value of a mean
grain diameter in the given direction, which is influenced by B1 and k1.
Usable only in GOALs.
- TDS
- uses the Miller indices as three arguments, Serves the value of the
Debye-Waller-factor for the given direction. May be used in a position
description and only in GOALs. If you defines a global TDS, you may use
this GOAL function outside a position description, too.
As an advanced feature, subphase definition may be used for complicated
real structures description. Therefore, you must assign a value greater than one
to the variable RefMult. Subphases share:
- the values of prefered orientation hold in the variable GEWICHT
(which is automatic set in dependence from the Miller indices, in the
case of GEWICHT=ANISO/GEWICHT=SPHARx)
- the lattice constants and therefore the variables sk/zweiTheta, which
are automatic set, too.
But you can influence this values subphase-specific as described below.
The number of the actual computed suphase is set to the variable
iref=1,2,... The scaling factors of the subphases may be set by writing:
GEWICHT[i]=expression
If not defined, BGMN uses the variable GEWICHT. You can
use the value of the variable GEWICHT as well as some new parameters in
the above expression. So you can define arbitrary subphase's scaling factors.
You can define subphase-specific values of the real-structure variables
B1[1], B1[2]...
B2[1], B2[2]...
k1[1], k1[2]...
k2[1], k2[2]...
k3[1], k3[2]...
and/or you can use the variable
iref
in the expressions for
non-indexed real structure variables. You can assign arbitrary values to
the variable DELTAsk
and/or DELTAzweiTheta
and/or
these variables indexed with the subphase's number. Their values are used for
position correction of the subphase's peaks.
You can use special items for the atomic positions. e.g.
E(1,0,1,0)=...
which means: This atomic position is only used for the first and third
subphase, each with weight 1 to the structural amplitude.
As an advanced feature, BGMN serves both the absolute values of the structure
amplitudes of the reflection {h,k,l} resp. the inverse reflection
{-h,-k,-l} by the variables F
resp. Finv
. In
addition, the multiplicity of the reflection is served by the variable
H
.
As a special feature for structure refinement, you can define a molecule or
parts of it in cartesian or atomic (fractional) co-ordinates. In following
you can shift and rotate the molecule as a whole or only parts of it (changing
bonding lengths, bonding angles or torsion angles in dependence from some
refined parameters). As a very advanced feature, you can define some
penalty conditions similar to those used in molecular dynamics to avoid
molecules from overlapping.
Therefore BGMN uses some special functions:
- set
- uses 4 parameters. The first is a position descriptor, e.g. C1 for the
first carbon atom. The following three are the cartesian co-ordinates
of this atom in the molecule. They are assigned to the indexed variables
C1[1] C1[2] C1[3]
according to the example (in further referred
as a vector).
- setgitter
- makes the same task, except that it reads atomic (fractional)
co-ordinates. An error occurs, if this function is used before full
definition of the lattice constants.
- cross
- Arguments must be 4 vectors. The first 3 must be defined.
Computes the cross product between two connection vectors: The vector
between the first and the second position and the vector between the second
and the third position. The result equals the vector between the second
and the fourth position (the fourth position is set in this kind).
- diffvec
- Needs three vectors as arguments. Sets the third vector to the
difference of the second minus the first.
- normvec
- Arguments are two vectors. Calculates the second vector as the unit
vector in the direction of the first.
- skalpro
- Needs two vector descriptors. Calculates the scalar product between both
and returns it as the function's result.
- distance
- Needs two vectors as argument. Calculates the distance between both
vectors (the atomic distance).
- angle
- Needs 2, 3 or 4 vectors as arguments.
- For 2 arguments it returns the angle between both vectors.
- For 3 arguments, it returns the bonding angle between the 3 positions.
- For 4 arguments, it returns the torsion angle between the 4 positions.
The result is served in degree!
- T
- Needs at least 7 parameters. Use it in the kind:
T(x,y,z,alpha,beta,gamma,E1,...)
Defines an arbitrary unitary transformation of the positions
E1,... At first, all positions are rotated for the three euler angles
alpha,beta,gamma. At second, all positions are shifted for the values
x,y,z. alpha,beta,gamma must be given in degree!
- D
- Needs at least 4 parameters. Use in in the kind:
D(A,B,chi,E1,...)
Defines a rotation of the positions E1,... around the axis A-B for the
angle chi. chi must be given in degree!
- X, Y, Z
- Need each one argument: a position descriptor. Returns the (fractional)
atomic co-ordinates of this descriptor. Must be used in definition of
any atomic position after
E=...
for defining the values of x,y,z in accordance with the Wyckoff symbol.
E.g.
x=X(C1) y=Y(C1) z=Z(C1)
- WW
- Needs at least 5 arguments. It defines an interaction energy in accordance
to common used values in molecular dynamics. Use it in the way:
WW(a,m,b,n,(A1,A2,...))
WW(a,m,b,n,(A1,A2,...),(B1,B2,...))
The interaction energy in common is given as
a*rm+b*rn, where
r is the distance between both atoms. The results for all significant
atomic pairs (also in neighbour elementary cells etc.) are added and
multiplied with the value of the variable Theory (default: zero).
This value then is added to the minimized value during Rietveld's fit.
The first line means all combinations of one list (e.g. all interactions
between carbon atoms of a molecule). The second line means all
combinations between two lists of atoms (e.g. all interactions between
all carbon and all nitrogen atoms of a molecule).
As a special feature, you can define an occupation probability of the
position A (usable for multiple conformations):
WW(a,m,b,n,(A1,A2(p),...),(B1(q),...))
- WWalt
- Needs one additional parameter to WW. This last parameter is an interaction
probability. You need it for correlated occupation probabilities
of two atomic positions. In WW, the interaction probability is
computed as the product of the two occupation probabilities.
- Straf
- Needs one argument: An expression. The square of this expression is used
as an energy term. So you can define any arbitrary penalty function.
As an additional feature, you can define assignments
Bondings=E1,E2,...
as many as you want. They are controlled by the variable BondLevel (default
value 1). This means: Every atom didn't interact (in WW/WWalt) with itself
(BondLevel=0), the next bonded atoms (the atoms must be neighbours in any
Bondings list, case BondLevel=1), the next next bonded atoms (BondLevel=2)
and so on.
For each phase, there is supported the variable my, which holds the
linear absorption coefficient of the phase. For a simple Brindley correction
(identic grain size for every phase) please use the auxiliary GOAL
GOAL:phasex=GEWICHT*exp(my*d*3/4)
where d holds the mean grain diameter in microns. This is valid
since my is given in the unusual unit µm-1
In addition the variables
my[i]
hold the linear absorption coefficient of the ith
subphase, which may be of interest in case of
RefMult
>1.
In such case, my
holds the linear absorption coefficient of the 1st
subphase.
The variable
density
holds the X ray density of the 1st subphase
(the only, if no RefMult
>1
is defined).
density[i]
holds the X ray density of the ith subphase.
As no other said, all lengths are in millimeters an all angles are in
degree.
- VERZERR
- name of the GER-file (output of geomet) and (if no variable GEQ is
defined) the output GEQ-file of makegeq.
- TubeTails
- File with pattern data for
Tube Tails correction. Implementation
restriction: This file may contain only one scan. Possible file formats
are identic to the VAL[x] entry.
- R
- Gomiometer radius.
- FocusH FocusW
- Axial (FocusH) and equatorial (FocusW) dimension of the X-ray tube's focus.
FocusW means the optical focus width. Usually, the thermal focus dimensions
are printed on the X-ray tube. The optical equatorial focus dimension
is reduced by the take-off angle of X-rays from anode surface
(usually 6°). Usually, the optical equatorial focus dimension is
assumed as the 10th part of the thermal one.
- HSlitR, HSlitW
- Radius (distance from specimen's center) and width of the equatorial
divergence slit. May depend from the variable zweiTheta, which
means variable divergence slit. In this case GSUM=Y should be used.
- PColl
- Divergency angle of the primary soller slit, e.g. 0.5/25 (unit is radian).
Default is no collimator.
- PCollA
- Out-of-plane-angle of primary soller slit.
- VSlitR, VSlitH
- Radius (distance from specimen's center) and width of the axial
divergence slit.
- SamplD
- Diameter of a round specimen. Default value is infinite (sufficient large).
Using a small value, you should give GSUM=Y.
- DeltaOmega
- Ω twist of the specimen, valid only for
GEOMTRY=REFLEXION
. Changes profile shapes
plus intensities (GEOMET) and changes effective penetration depths
depending from zweiTheta
(MAKEGEQ). May depend from
zweiTheta
. Therefore, may be used for simulating grazing
incidence, too.
- SamplW, SamplH
- Length and equatorial dimension of a rectangular, not rotated specimen.
Default values are infinite (sufficient large).
- SSlitW, SSlitR
- Radius (distance from specimen's center) and width of the anti-scatter
slit. May depend from the variable zweiTheta, which means variable
anti-scatter slit. If used in conjunction with
TubeTails, you should use the switch
GSUM=Y
.
- SColl
- Divergency angle of the secondary soller slit.
- SCollA
- Out-of-plane-angle of secondary soller slit.
- DetW, DetH
- Equatorial (DetW) and axial (DetH) dimension of the receiving slit.
DetW may depend on Bragg angle zweiTheta in cases of variable
receiving slit, as described for
variable divergence slits.
- MonR
- Radius of a secondary monochromator (distance from specimen's center).
It's axial dimension is smaller than those of the detection slit, in most
cases. Therefore give MonR and use the monochromator crystal's axial
dimension as DetH.
- EPSG
- Computational accuracy. Default value: 0.7 per cent.
- zweiTheta[1] zweiTheta[2]...
- 2Θ values, for which geomet computes profile shapes.
- GSUM
- Logical switch. Values J/j/Y/y means: A variable GSUM is computed
and written to each profile in the GER file. GSUM holds the relative
intensity of each profile. Use it for small specimens, variable
divergence slits etc.
- TSlitR, TSlitH
- The usage of an additional axial slit near the X-ray tube is
supported. These variables describe it's radius and axial dimension.
Optional.
- FocusS, FocusA
- These variables describe a axial shift and an rotation angle
(around the line tube-specimen) of the X-ray focus. Optional.
- GEOMETRY
- Measuring geometry. Default value is REFLEXION.
The value TRANSMISSION describes a planar, thin transmission specimen.
The value CAPILLARY describes a thin, wire-like specimen in the goniometer
axis. In the case CAPILLARY, SamplD or SamplH describes the length
(heigth) of the specimen, and T desribes the diameter of the wire
(capillary).
- WMIN, WMAX
- Angular range for the computation done by makegeq. Default range:
20°...140°
- WSTEP
- Stepwidth of makegeq. Default value is 0.01 degree, higher values are
recommended. May depend from zweiTheta.
- GEQ
- Output file of makegeq. Default value: The value of the variable
VERZERR, but with the extension geq.
- D
- Reciprocal value of the linear absorption's coefficient of the specimen.
Default value: zero (no correction of the profile shape for
penetration depth)
- T
- Thickness of specimen (GEOMETRY=REFLEXION/TRANSMISSION) or
capillary/wire diameter (GEOMETRY=CAPILLARY). Default value:
Infinity (sufficient thick) in the case REFLEXION,
zero (thin specimen or capillary) in the cases TRANSMISSION/CAPILLARY.
- STANDARDPAR
- Name of the
*.par
file containing only the selected
reference lines of the standard specimen. Used for
learnt profiles.
- VAL[x]
- Enumeration of the measured scans, which will be accumulated by the
VERZERR program. Used for learnt profiles.