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