* $Id: xnd_r11v.html,v 1.1.1.1 1999/07/31 10:49:00 berar Exp $ *>
XND 1.1: standard blocks in the input file.
xnd 1.1: encoding of variables in the standard blocks.
Introduction
For each variable in the program, xnd allows some complex treatment such as a polynomial
expansion or introduction of linear dependance.
All the variables in xnd are read using the same procedure.
For convenient reasons they are grouped by block of variables which
have the same behaviour.
The program is structured in order to
have a starting input file of a simple form containing only a limited number
of foundamental blocks having a simple form. Nevertheless, it is possible,
as the refinement progresses, to add some more blocks or to modify the
existent. This actually leads to an increased complexity of the block
structures and to a growing number of blocks. We have already said that it
is possible to introduce a depence on an external variable Temp
in all the cristallographic parameters.
A numerical code at the beginning of each block
gives the order of the polynome describing the crystallographic
parameters in the bloc. In the other files of this document all blocks
are expressed in their generic form which is for a simple bloc.
Order | % | kind of developpement of the variables in this standard block
|
---|
Var0 | $ | the value of Var0 and refinement code
|
---|
Var1 | $ | the value of Var1 and refinement code
|
---|
Before giving some examples, the basic rules for building the
blocks will be described.
Order and size expansion
The Order parameter, associated with the format '%', is
made from two parameters from one or two integers according to:
order | | size | | example
|
---|
0 | size not read |
| The bloc is empty : used to read some blocks in which you can
have no data (eg if no points are specified in the background)
|
---|
1 | 1
| No Dependance of Temp, that is a classical parameter
| a=a(0)
|
---|
>1 | 1 |
Polynomial expansion with Temp of power order(eg cell paramters with thermal expansiond)
| a=a(0)+a(1)*Temp+a(2)*Temp^2
|
---|
-1 | size to be read | n |
No Dependance of Temp but a multidimensional
linear expansion using internal parameters b, c ...
| a=b(0)+c(0)
|
---|
<-1 | n |
Polynomial expansion with Temp of power -order and
multidimensional linear expansion
| a=b(0)+c(0)+Temp*(b(1)+c(1))
|
---|
Caution, the value of order is limited when reading the file to the
value given in the MaxOrder
parameter specified in the file header. This has be done to detect
some mistakes reading the file avoiding some nosense data.
that no
Content of the value field
In the coordinate file, two fields are associated to each refined variable:
- the value;
- RefCode, the refinement code which can include a coupling coefficient.
The content of each parameter, associated with the format '@',
depends on the values of order and size according
the following examples:
order | size | content
|
---|
0
|
---|
1 | 1 | Value(0) | RefCode(0)
|
---|
2 | Value(0) | RefCode(0)
| Value(1) | RefCode(1)
|
---|
3 | Value(0) | RefCode(0)
| Value(1) | RefCode(1) | Value(2) | RefCode(2)
|
---|
-1 | 2 | Value(0) | RefCode(0,1) | RefCode(0,2)
|
---|
3 | Value(0) | RefCode(0,1) | RefCode(0,2) | RefCode(0,3)
|
---|
-2 | 2 | Value(0) | RefCode(0,1) | RefCode(0,1)
| Value(1) | RefCode(1,1) | RefCode(1,2)
|
---|
Codeword and coupling coefficient
The content of RefCode, the refinement code
is simple, it contains:
- the codeword value;
- an optional coupling coefficient.
These values are read according to the following table
CodeWord | Coupling Coef. | meaning
|
---|
0 | | | fixed
|
1..9 | 1 | not read | adjusted
|
11..999 | f | to be read
|
-1..-9 | 1 | not read
| fixed
|
-11..-999 | f | to be read
|
For the codewords between 11 and 999, the program creates an internal parameter
with CodeWord as reference number and all the values refering the parameter
are moved from this parameter multiplied by their coupling coefficient.
Some specific rules appear in case where the ValidRef value in the general header
is non zero, they will be described with alternate refinement.
Generic structure of variables block
Order | % | kind of developpement of the variables
|
---|
according to specific definition the following group can be repeated
|
Par(0,0) | d/f | parameter
|
---|
Par(1,0) | d/f | parameter
|
---|
... | d/f | parameter
|
Var(0) | $ | the value of Var0 and refinement code
|
---|
Par(0,1) | d/f | parameter
|
---|
Par(1,1) | d/f | parameter
|
---|
... | d/f | parameter
|
Var(1) | $ | the value of Var1 and refinement code
|
---|
Examples
The following only contains basic examples. The more complicated examples
are described apart
together with some explaination on the alternate refinement.
Examples of blocks having no Temp dependance
The following example is a fixed size block corresponding to the setting
of the instrument. There are 4 variables to read, only the first will
be adjusted.
1
0.002 1 1.0 0
0.0 0 .20 -1
Here is a typical cell parameter block with 7 variables to read. As an
example an quadratic constrain have been choosen.
1
0.0 0
5.100 11 1.0 5.100 11 1.0 8.200 1
90 0 90 0 90 0
Example of blocks having with Temp dependance
This example is the same than the preceeding one but we have allowed
a linear cell expansion with Temp
2
0.0 0 0.0 0
5.100 11 1.0 0.002 12 1.0
5.100 11 1.0 0.002 12 1.0
8.200 1 0.004 1
90 0 0.0 0
90 0 0.0 0
90 0 0.0 0
JFB, March 26th, 1999