mfisch
Hi all,
I have a set of data of which each pattern contains an angular range of -45°2Th to +45°2Th. Mirroring the negative part yields two patterns from 0 to 45°2Th, which are significantly different due to very poor particle statistics during the measurement.
What is the best strategy to refine e.g. lattice parameters for both patterns simultaneously and refine e.g. preferred orientation, CS, scale individually? In the end, I would like to write all parameters to a separate file.
Put the phase(s) into a macro and use local parameters per xdd section? Or is there a more elegant way using for xdds {? In the latter case, how can I use global and xdd specific parameters which all can be written to a file?
Thanks,
Martin
alancoelho
For X-ray data the program wont work with negative 2Th values. You would need to first change the scan to two separate files such that the 2Th values are positive; one corresponding to negative 2Th values and the other positive. You would then need to refine on the two files together with appropriate constraints.
mfisch
Hi Alan,
That is clear. The question was, if there is a way other than having two separate parts (i.e. xdd pattern_neg and xdd pattern_pos) with all individual parameters twice (i.e. CS_L(csl_neg, 300) and CS_L(csl_pos, 300)) and just the LP's and offsets constraint. In the end, all parameters should go to a file.
Merry Xmas,
Martin
alancoelho
To have all parameters the same except for lattice parameter then yes use for xdds; ie.
xdd file-1
bkg ......
str...
xdd file-2
bkg ......
str...
for xdds {
' common xdd stuff here
for strs {
' common str stuff
}
}
Note, don't use the '@' refine character within 'for' constructs
mfisch
Hi Alan,
Are the strs always numbered sequentially? Is there another way, i.e. to give them a name instead of sequential numbers?
This is because I have several hundred measurements, in which phases appear e.g. like this:
patterns 01 to 10: phases A, B, C
Patterns 10 to 20: phases A, B, C, D
patterns 20 to 30: phases A, C, D
patterns 30 to 40: phases A, C, D, E
patterns 40 to 50: phases A, D, E, F
I am still looking for a convenient way to have a "standard" inputfile in which I can #define phases and easily switch them on and off.
So, for strs 1 to 1 is always phase A. For strs 2 to 2 is phase B for patterns 1 to 20 but then phase C for patterns 20 to 40 (when '#define Phase_B). Is there a way to keep this counting fixed?
alancoelho
Yes, the strs are always numbered sequentially.
I think the simple #ifdef pre-processor directive should suffice; ie.
#define PHASE_A
#define PHASE_B
#define PHASE_C
#ifdef PHASE_A
...
#endif
#ifdef PHASE_B
...
#endif
#ifdef PHASE_C
...
#endif
At the top of the file you comment out the phases you don't want.
Version 5 has more flexibility with the 'if' statment; ie.
#define Set 2
if And(Sets > 0, Set < 11) {
#define PHASE_A
#define PHASE_B
#define PHASE_C
}
if And(Set > 10, Set < 20) {
#define PHASE_A
#define PHASE_B
#define PHASE_C
}
does that help