## Site map |
||||

**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,

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.

a=b+cassigns the string "b+c" to the variable named "a". Every multiple equation symbol makes one deeper evaluation. e.g.

d==a e===ad 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):expressionA 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 inL. 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.htmlwill 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 arePARAM[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, usePOL=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Θ I

, 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)_{mess}I_{calc}I_{background} **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.

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.316Attention! Units of measure are nanometers, or you must use the key

UNIT=ANGSTROEMin this structure description file!

name=ANISOLIN name=ANISOSQRThere 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

B1=ANISO^0.02This 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.

GEWICHTOf 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/SPHAR10Only 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.

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.

**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 wayPARAM=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

ork2=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!

**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.

**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.

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=cThe next are the x, y, z values as demanded by the Wyckoff symbol:

x=0.312 z=0.574For structure refinement, these values may be parametrized:

PARAM=x=0.312_0.31^0.315The Debye-Waller-Factor is given by the variable TDS. It may be declared as anisotropic:

TDS=ANISOThe 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 β

TDS=8π^{2}U

If no TDS is defined, a phase-specific of measurement-global expression for TDS is used. Otherwise, TDS is assumed to be zero.

GOAL=A/Cfor determining the lattice constants ratio A/C. A special feature for non-global GOAL's are the so-called auxiliary goals:

goal:name=expressionIn 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=GEWICHTIn 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.

- 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.

GEWICHT[i]=expressionIf 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

irefin the expressions for non-indexed real structure variables. You can assign arbitrary values to the variable

DELTAskand/or

DELTAzweiThetaand/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`

.

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.

**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*r^{m}+b*r^{n}, 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.

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.

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

my[i]hold the linear absorption coefficient of the i

`RefMult`

>1.
In such case, `my`

holds the linear absorption coefficient of the 1densityholds the X ray density of the 1

`RefMult`

>1
is defined).
density[i]holds the X ray density of the i

**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.