Difference between revisions of "Sequential GSAS"

From Ug11bm
Jump to navigationJump to search
 
(9 intermediate revisions by the same user not shown)
Line 11: Line 11:
===Sequential GSAS Hints===
===Sequential GSAS Hints===


* Data sets must be in a proper GSAS format.
* Data sets must be in a proper GSAS format. Use CNVFILE to fix them if needed.


* The datasets must have sequential numeric file names and be in the same directory as your initial refinement.  File names should be renamed (if necessary) before starting.  An example of appropriate names would be:
* The datasets must have increasing sequential numeric file names and be in the '''same directory''' as your initial refinement.  File names should be renamed (if necessary) before starting.  An example of appropriate names would be:
   
   
  file0.raw, file1.raw, file2.raw, ... file11.raw, file12.raw... file100.raw
  file0.raw, file1.raw, file2.raw, ... file11.raw, file12.raw... file100.raw
Line 25: Line 25:
* Give your initial (manually performed) refinement a '''''short''''' name like ''seq.exe'', then set up the refinement using the dataset "0.fxye"
* Give your initial (manually performed) refinement a '''''short''''' name like ''seq.exe'', then set up the refinement using the dataset "0.fxye"


* On the '''LS Controls''' tab of EXPGUI, change the '''Print Options'''.  Select '''Output parameter name, value, and esd to file (1024)'''.  This tells GSAS to include these terms in the .EXP file.  SeqGSAS works by copying and renaming the previous .EXP for the next refinement, and uses the final terms from one refinement as the starting for the next.  Two sets of POWPREF & GENLES are run by SeqGSAS to refine to this data set. It then repeats this process for the next data set; it stops when it has exhausted the sequence of raw file names.
* You must be performing a Rietveld fit to the data, it does not work for profile fits (Le Bail, etc)
 
* On the '''LS Controls''' tab of EXPGUI, change the '''Print Options'''.  Select '''Output parameter name, value, and esd to file (1024)'''.  This tells GSAS to include these terms in the .EXP file.  SEQGSAS works by copying and renaming the previous .EXP for the next refinement, and uses the final terms from one refinement as the starting for the next.  Two sets of POWPREF & GENLES are run by SEQGSAS to refine to this data set. It then repeats this process for the next data set; it stops when it has exhausted the sequence of raw file names.
   
   
* Complete your initial (manually performed) refinement as normal.  Once "done", turn on (i.e. EXPGUI tick boxes) ONLY the parameter flag(s) you wish to refine sequentially in the subsequent data sets (e.g. lattice, atom coordinates, etc...)
* Complete your initial (manually performed) refinement as normal.  Once "done", turn on (i.e. EXPGUI tick boxes) ONLY the parameter flag(s) you wish to refine sequentially in the subsequent data sets (e.g. lattice, atom coordinates, etc...)
Line 31: Line 33:
* With all of the above complete, perform one final '''GENLES'''.
* With all of the above complete, perform one final '''GENLES'''.


* Launch '''seqgsas''': the program is command line only, but can be accessed from the EXPGUI interface, look in the '''CALC''' menu for '''seqgsas''' (and later '''seqplot''').
* Launch '''SEQGSAS''': the program is command line only, but can be accessed from the EXPGUI interface, look in the '''CALC''' menu for '''SEQGSAS''' (and later '''SEQPLOT''').
 
* Follow instructions (example below)
 


* Follow '''SEQGSAS''' instructions (example below)
  |-----------------------------------------|
  |-----------------------------------------|
  |            Program SEQGSAS              |
  |            Program SEQGSAS              |
Line 48: Line 48:
  Raw data file names such as: stuff_0.gda stuff_1.gda ... stuff_nnn.gda are suitable
  Raw data file names such as: stuff_0.gda stuff_1.gda ... stuff_nnn.gda are suitable
   
   
  Do you want to process files in reverse order (Y/<N>)? > '''N'''
  Do you want to process files in reverse order (Y/<N>)? > '''N'''  ''(reverse order is not recommended)''
   
   
  Enter last file to process (<CR> for all available) > '''CR'''
  Enter last file to process (<CR> for all available) > '''CR'''  ''(or just hit enter/return)''
   
   
  Are you ready to proceed (Y/<N>)? > Y
  Are you ready to proceed (Y/<N>)? > Y
Line 58: Line 58:
  Do you expect more by now (Y/<N>)? > N
  Do you expect more by now (Y/<N>)? > N


* When finished, you will find new refinement files in your working directory. Using the example above, they will be named as follows:
seq_1.exe, seq_2.exe, seq_3.exe, ... seq_100.exe


* Using the file numbering suggested above, notice that ''seq_1.exe'' corresponds with ''file1.fxye'', etc, while the initial ''seq.exe'' corresponds to ''file0.fxye''


* The results can be viewed as plots (or exported) using '''SEQPLOT'''.  This reads refined results from all the individual .PVE files.


* Follow '''SEQPLOT''' instructions (example below). Note that SEQPLOT will read 1000 PVE files; limited to 200 parameters''
|-----------------------------------------|
|            Program SEQPLOT            |
|      Plot results from SeqGSAS runs    |
|-----------------------------------------|
Graphics screen option:
  A    X-window display
  B    Persistent X-window display
  C    Tektronix 4100 terminal
  Z    No screen graphics; only hardcopy
Enter graphic screen option (<?>,A,B,C,Z) >'''A'''
Do you want to save graphics output (Y,<N>)? >'''N'''
SEQPLOT Commands:
  A  - ASCII output of parameter tables
  L  - List parameter names
  N  - Step to next unique parameter
  P  - Plot selected parameter
  R  - Replace run no. with different values
  S  - Select parameter to plot
  U  - Update parameters
  X  - Exit from PLTPVE
Enter command (<?>,A,L,N,P,R,S,U,X) >


- SEQPLOT will read 1000 PVE files; limited to 200 parameters.
* "ASCII output" will output an ascii file with a table of all parameters (limit 200) found with esds for all the runs processed suitable for input to some other graphics program (e.g. Excel).  
 
- Note there is an option to refine "live" data....
 
- makes .pve files...
 
- SEQPLOT, plot or export to csv file...
 
 
 
 
 
 
 
 
 




1. SeqPLOT has been enhanced. It now can accept alternative values for the X-axis (i.e. temperatures) and a new X-axis label. It will output an ascii file with a table of all parameters (limit 200) found with esds for all the runs processed suitable for input to some other graphics program (e.g. Excel). The plots now show error bars (1 sigma) for all values.
===Other Notes===


* SEQGSAS will read raw data files until it runs out and then ask if "there are more". This is to allow SEQGSAS to run in a live data acquisition pipeline where one does Rietveld refinement on data as it is produced in an experiment varying temperature.


1. Enhancements of SEQGSAS & SEQPLOT: SEQGSAS now will read raw data files until it runs out and then ask if "there are more". This is to allow SEQGSAS to run in a live data acquisition pipeline where one does Rietveld refinement on data as it is produced in an experiment varying temperature. SEQPLOT now has an "update" mode where new PVE files are read on demand ("U" option).  GENLES has been modified so that profile R values (Rp & Rpw) are put in the PVE file and the lattice parameters (a, b, c, etc.) with esds are also put in this file when varied. ASCII table output tweaked a bit to give 6 sig(?) figures; used to be 4. Raw data file names still must be in numerical sequence but no longer require any leading characters (although this is a good idea anyway) before the number (e.g. 25.dat, 26.dat, etc. is OK). Please note that SEQGSAS does not work for raw data sets that are not in "proper" GSAS format. Use CNVFILE to fix them if needed.
* SEQPLOT now has an "update" mode where new PVE files are read on demand ("U" option).

Latest revision as of 04:08, 2 May 2012

Sequential GSAS

Sequential GSAS (using the programs SEQGSAS & SEQPLOT) can automatically perform multiple Rietveld refinements from a sequence of powder data sets using GSAS/EXPGUI. The first refinement must be performed manually, but subsequent related datasets can then be refined automatically. Each subsequent refinement uses the values and parameters of the previous refinement as a starting point.

As an example, this might be used to obtain refined lattice parameters (or atomic positions, particle strain, etc..) from a series of diffraction datasets collected while varying the temperature of the sample. This works well if changes between datasets are minor (i.e. no changes in symmetry etc)

SEQGSAS & SEQPLOT were written by Robert Von Dreele and added to GSAS in ~ 2005. This is no GUI (command line only), but EXPGUI has shortcuts to launch the routines. The programs are not documented in the GSAS manual; limited info can be found in the Rietveld mailing list archive.

The hints below should help get you started using sequential GSAS from EXPGUI...

Sequential GSAS Hints

  • Data sets must be in a proper GSAS format. Use CNVFILE to fix them if needed.
  • The datasets must have increasing sequential numeric file names and be in the same directory as your initial refinement. File names should be renamed (if necessary) before starting. An example of appropriate names would be:
file0.raw, file1.raw, file2.raw, ... file11.raw, file12.raw... file100.raw

or just

0.fxye, 1.fxye, 2.fxye, ... 11.fxye, 12.fxye... 100.fxye

long files names will cause problems, for this reason, the format in the later example is recommended.

  • Give your initial (manually performed) refinement a short name like seq.exe, then set up the refinement using the dataset "0.fxye"
  • You must be performing a Rietveld fit to the data, it does not work for profile fits (Le Bail, etc)
  • On the LS Controls tab of EXPGUI, change the Print Options. Select Output parameter name, value, and esd to file (1024). This tells GSAS to include these terms in the .EXP file. SEQGSAS works by copying and renaming the previous .EXP for the next refinement, and uses the final terms from one refinement as the starting for the next. Two sets of POWPREF & GENLES are run by SEQGSAS to refine to this data set. It then repeats this process for the next data set; it stops when it has exhausted the sequence of raw file names.
  • Complete your initial (manually performed) refinement as normal. Once "done", turn on (i.e. EXPGUI tick boxes) ONLY the parameter flag(s) you wish to refine sequentially in the subsequent data sets (e.g. lattice, atom coordinates, etc...)
  • With all of the above complete, perform one final GENLES.
  • Launch SEQGSAS: the program is command line only, but can be accessed from the EXPGUI interface, look in the CALC menu for SEQGSAS (and later SEQPLOT).
  • Follow SEQGSAS instructions (example below)
|-----------------------------------------|
|            Program SEQGSAS              |
|  Sequential Rietveld refinement program |
|-----------------------------------------|

The starting experiment file is: SEQ.EXE
This should be a completed refinement with all desired parameters refined.
All refinement flags & options should be set as needed for final refinement cycles.
Set "V" L-S print option for simple table of all parameters & esds.
The data files should be in numerical sequence beyond the one used in this refinement.
Raw data file names such as: stuff_0.gda stuff_1.gda ... stuff_nnn.gda are suitable

Do you want to process files in reverse order (Y/<N>)? > N  (reverse order is not recommended)

Enter last file to process (<CR> for all available) > CR  (or just hit enter/return)

Are you ready to proceed (Y/<N>)? > Y
.....
.....
No more raw data files
Do you expect more by now (Y/<N>)? > N
  • When finished, you will find new refinement files in your working directory. Using the example above, they will be named as follows:
seq_1.exe, seq_2.exe, seq_3.exe, ... seq_100.exe
  • Using the file numbering suggested above, notice that seq_1.exe corresponds with file1.fxye, etc, while the initial seq.exe corresponds to file0.fxye
  • The results can be viewed as plots (or exported) using SEQPLOT. This reads refined results from all the individual .PVE files.
  • Follow SEQPLOT instructions (example below). Note that SEQPLOT will read 1000 PVE files; limited to 200 parameters
|-----------------------------------------|
|             Program SEQPLOT             |
|      Plot results from SeqGSAS runs     |
|-----------------------------------------|

Graphics screen option:
 A    X-window display
 B    Persistent X-window display
 C    Tektronix 4100 terminal
 Z    No screen graphics; only hardcopy
Enter graphic screen option (<?>,A,B,C,Z) >A

Do you want to save graphics output (Y,<N>)? >N

SEQPLOT Commands:
 A   - ASCII output of parameter tables
 L   - List parameter names
 N   - Step to next unique parameter
 P   - Plot selected parameter
 R   - Replace run no. with different values
 S   - Select parameter to plot
 U   - Update parameters
 X   - Exit from PLTPVE
Enter command (<?>,A,L,N,P,R,S,U,X) > 
  • "ASCII output" will output an ascii file with a table of all parameters (limit 200) found with esds for all the runs processed suitable for input to some other graphics program (e.g. Excel).


Other Notes

  • SEQGSAS will read raw data files until it runs out and then ask if "there are more". This is to allow SEQGSAS to run in a live data acquisition pipeline where one does Rietveld refinement on data as it is produced in an experiment varying temperature.
  • SEQPLOT now has an "update" mode where new PVE files are read on demand ("U" option).