Tabular processor for X-ray diffractometry
Help and documentation for version 4.6

Table of content

1. Common information

Quick reference
Menu "Table"
Menu "Line"
Menu "Settings"
Menu "Calculate"
Menu "Help"
Configuration file rtp.ini
About the program

2. Operations with table

Open the table
Clear the data in the table
Save the results
Save the table in chosen format
Print the table

3. Operations with lines

Input and edit the data
Select the lines for calculation
Select a class for a line
Arrange the lines

4. Settings and specimen data

Information about specimen
Select the emission
Select the lattice type
Select the cell centring
Correction and precision
Select the font
Change the options

5. Calculations

Calculate the lattice parameters
Calculated results
Details of calculation
Calculate specimen displacement
Calculate lines for known h k l
Generate reflections by parameters
Mark lines as a phase

6. Indexing

Indexing overview
Settings for indexing
Indexing is in progress
Result of current cycle
Results of indexing

7. Errors and troubleshooting

File operation error
File already exists
File format error
No information about wavelength
No information about lattice type
Insufficient data for calculation
Precision is calculated
Wavelength is changed
Indexing is interrupted
Lack of independent lines
No reflections in given 2th range
Too few h k l combinations
Too many h k l combinations
Table size overflow
Unsatisfactory quality
No unidentified lines in the table
No lines have been identified

8. References

1. Common information


Tabular processor for X-ray diffractometry helps with common calculations in the practice of X-ray structure analysis: calculate the lattice parameters (edges, angles), estimate the quality of results, search the indices of reflections from unknown structures, calculate the reflection grid for known lattice, check the goniometer and specimen alignment.

Most available operations are accessible via main menu (use a mouse or F10 key). The context help is available any time by F1 key or Help button in the program dialogs (exceptions: Open and Save file dialogs show by F1 the OS-dependent help, use Help button; Print dialog does not have Help button, use F1). To find a specific term or expression in this documentation, use the combination Ctrl+F in the help window.

The toolbar and key commands allow to perform many operations without opening the main menu. Many useful commands are shown on the bottom line, also the context information and helpful tips can be seen here. Some menus can be called locally by left-click on the corresponding line, like emission, lattice type and cell centring.

Technical characteristics

Calculated lattice types: from cubic to triclinic. Calculated data: lattice edges, angles, cell volume; c/a relation for hexagonal, tetragonal and orthorhombic lattices; orthorhombic splitting.

Limits by indices h k l        : from 0 to 99
Limits by interplanar distances: 0.02...99 Å
Limits by lattice edges a, b, c: 2...99 Å
Limits by lattice angles       : 1...179 degrees
Precision of edge calculating  : 0.00001 Å
Maximum table size             : 440 lines
Number of labelled phases      : 5

By default, all calculations use ångström (Å) as a length unit. It is possible to perform the calculations in nanometres (nm) if the wavelength is set in nm.

Other options

Quick reference

Program operations

F1     - context help
F3     - open a file (also Ctrl+O)
F4     - select the emission (wavelength)
F5     - set the lattice type (syngony)
F6     - calculate the lattice parameters
F7     - set the Bravais cell centring
F8     - clear selected data in the table
F9     - print the table (also Ctrl+P)
F10    - enter the main menu
F11    - mark the lines as a phase
Esc    - cancel; stop of auto recalculation
Ctrl+N - new table (clear all current data)
Ctrl+S - write table and results to a file *.par
Ctrl+E - write table to *.par, *.txt, *.csv file
Alt+N  - see or input information about specimen
Alt+E  - input 2th correction and precision
Alt+F  - choose the font for main screen and print
Alt+O  - see or change the program options
Alt+D  - details of calculation, recommendations
Alt+P  - calculate specimen displacement
Alt+A  - calculate angles and d for known h k l
Alt+G  - generate h k l, calculate reflections
Alt+I  - indexing the reflections in the table
Alt+X  - exit the program (also F12)

Operations with lines

Enter   - edit data in the current line (also F2)
Ctrl+X  - cut current line and copy data to buffer
Ctrl+C  - copy current line to buffer
Ctrl+V  - insert data from buffer to new line
Ctrl+I  - insert an empty line in current place
Ctrl+Z  - undo the last line edit operation
Space   - select or unselect current line
Ctrl+L  - select all lines with calculated 2th
Ctrl+A  - select all lines with valid data
Ctrl+T  - invert selection of all valid lines
Ins     - set a phase or class for a line
Shift+Dn - select or unselect sequence of lines

Editing data in the table

Enter - input value, go to next cell or line
Esc   - restore value in the cell, exit edit mode
Tab   - go to next cell
Shift+Tab - go to previous cell

Estimation of the results

  (rms - root mean square, dev - abs. deviation,
      prec - precision of 2th, i.e. ±2th)

   excellent:     dev < prec for all lines
   very well: rms dev < rms prec
        well: rms dev < rms prec × 2
satisfactory: rms dev < rms prec × 3
        poor: rms dev > rms prec × 3

quality decreases:
by 1, if lines number < parameters number × 2
(for lattices with 3 and more parameters)
by 1, if lines number = parameters number + 1
(for all lattices)
not defined, if lines number = parameters number

Menu "Table"

This menu includes the operations with the table.

Open        - read a data file *.par or import *.txt
Clear       - clear entire table or particular data
Save        - write table and results to file *.par
Save as     - write table as *.par, *.txt, *.csv
Print       - output table and results to printer
Recent list - read one of the recent files (up to 9)
Exit        - exit the program, also use F12

Menu "Line"

This menu includes the operations with lines; convenient keyboard shortcuts are also available.

Undo        - undo the last line edit operation
Edit        - input data or edit the fields in the
              current line
Cut         - delete current line, store its data
              in the buffer
Copy        - copy current line to the buffer
Paste       - restore line from the buffer
Insert      - insert an empty line in current place
Select      - select/unselect line for calculation
Select calc - select all lines with calculated 2th
Select all  - select all lines with valid data
Invert all  - invert selection of all valid lines
Set class   - select a phase or class for a line

Menu "Settings"

This menu allows to set the different specimen-related data and conditions of diffractometry.

Specimen      - input the information about specimen
Emission      - select the emission from the list
                or input the wavelength manually
Lattice type  - set the syngony (Bravais type)
                for specimen or current phase
Cell centring - set the Bravais cell centring
Correction    - set angles of standard substance
                for 2th correction; set precision
Font          - select the font for main screen
Options       - see or change the configuration
                of the program

Menu "Calculate"

This menu allows to calculate the lattice parameters, theoretical angles and use the indexing.

Parameters      - calculate the lattice parameters
                  by selected lines of current phase
Details         - detailed report of calculation,
                  recommendations for improvement
Displacement    - calculate the specimen displacement
                  by minimal deviation of results
Angles by h k l - calculate the reflections by given
                  parameters for known indices h k l
Generate lines  - generate the reflections by given
                  parameters, syngony and cell
Indexing        - find the possible indices of lines
                  by given lattice type and cell
Mark lines as   - mark lines as belonging to a phase

Menu "Help"

This menu allows to get the help and information about the program.

Context          - help on current program mode or status
General          - table of content of this help system
Check for update - check if the new version is available
Manual update    - update by a file of program archive
About            - current program version and developers


System requirements

Win32 version: Windows XP or later, mouse
(Windows 7 or later is highly recommended).
Monospaced font: Lucida Console 12...16 pt.
Internet connection (only for version update).

Program archives

Two archives can be downloaded on the RTP home page. The main archive contains three files with the main program components. You can also download the archive with test examples, which contain the diffraction tables of various samples or PDF data; some examples may be useful to understand the indexing process. All archives use a Windows cabinet (CAB) format and can be opened and unpacked in Explorer or in other programs working with archives. Before downloading, browser may show a warning about download of unknown file; you need to allow it. Such warning is a common precaution which should never be ignored.

Program components

rtp32.exe - executable file (required)
rtp.chm   - help file (required)
rtpwl.ini - wavelength list (optional)

The main components of the program, rtp32.exe and rtp.chm, can be placed in any directory on an internal or external drive. The file with wavelength list rtpwl.ini is optional; if exists, it should be placed in the same directory. The shortcut to executable rtp32.exe can be created manually and placed wherever you want, e.g. on the desktop.

To specify a directory with data files, input it in the "Start in:" field of the shortcut. The configuration file rtp.ini also will be saved here. If need, you can create several shortcuts to different directories and configurations. Launching the program directly in Explorer is also possible but not recommended if the data files are stored elsewhere, or when the program's directory may be write-protected because of read-only drive or no write permission for user account, so rtp.ini will not be saved.

Warning: do not place the program components in a directory with Unicode symbols, e.g. with Cyrillic letters; use only the path with Latin characters and digits. Otherwise the help system may not work properly (a limitation of Windows Help).


Online update

Check for update is accessible in the "Help" menu. It checks the build date and time on the program's home page; if the more recent version is available, you can Update it directly from the program. Make sure that all lattice calculations are performed and results are saved, if need. If the update was successful, the text file with last changes will be shown in the Notepad editor. You can close it and open the updated program as usual.

Check for updated version can also be performed automatically on regular basis, daily or weekly. This setting is available in Options; the date of the last check is stored in configuration file (dates of update use the calendar of your PC, they are not related to build dates).

If PC has a problem with Internet connection, you will see an error message. Try to check the connection using a web browser, then try to open Home page in the "About" dialog. In some configurations, Windows Firewall may block the Internet access for any program not included in the permission list, so you can check and download a new version only in a web browser. Another possible error may happen if the new files cannot be saved. Check if the directory with the program components is not write-protected and has the write permission for current user account.

Manual update

If Internet is not available or a machine is not connected to network, you can perform manual update by a local copy of main program archive. This file, usually, can be downloaded on any machine with Internet connection and transferred, for example, by a portable drive.

Update can be started either from the "Manual update" menu or by the Manual button in the dialog with Internet error (if the online update was unsuccessful). You need to select the new archive in the file system window. Please note that archive of current program version is usually stored in the program's directory, so choose the new archive instead. If you prefer to unpack the archive and update each file separately, note that at least rtp32.exe and rtp.chm should be replaced with new versions; do not replace rtpwl.ini if you have your own wavelength list.

Configuration file rtp.ini

Configuration file stores the program settings and list of recent files; it uses UTF-8 text format. It is created in a working directory and updated upon exit, if you worked with files or changed any setting.

Almost all configuration settings can be viewed and changed in the options dialog, with exception of the last used wavelength, 2th precision and font. It is recommended not to change the file rtp.ini directly; use the program dialogs instead. Open this file in a text editor like Notepad only if need to check whether the current configuration might be a cause of a problem.

clock    - clock on the screen: show=1, do not=0
           (can be changed by left-click the clock)
scheme   - colour scheme: classic=1, light=2, dark=3
update   - check for update interval: never=0, daily=1,
           weekly=2, date of the last check (
font     - name of font for main window, font size, style
           (please change the font only in Font dialog)
height   - screen height in lines: 19...50, by default 25
           (used internally, set the table size instead)
wave     - last used wavelength
precise  - last used 2th precision
pdfprec  - default 2th precision for PDF-2 cards
precmode - precision input mode: constant=1, cosine=2
delta    - multiplier of 2th precision for indexing
radius   - distance between specimen and detector slit
standard - up to 5 interplanar distances of a standard, Å
[recent] - list of the recently opened or saved files

About the program

Thank you for using this program, and good luck in the researches using the X-ray diffractometry! Any opinions about the program, information about possible problems, issues as well as other useful recommendations will be received with gratitude.

Basic ideas and some code used in the program were developed in late 1980's by staff of X-ray research laboratory of the Institute of Inorganic Materials in Moscow: Andrey V. Golubev, Michael A. Poddyakov, Konstantin I. Avertsev, Iaroslav N. Chebotarev.


K. Avertsev — ideas and algorithm of the shuffle method used for indexing.

A. Golubev — ideas and algorithm of generation of indices for different lattices and cells centrings.

M. Poddyakov — first version of the program, basic code of solving the matrix using the Gauss method, calculation of lattice parameters up to monoclinic.

Ia. Chebotarev — calculation of triclinic lattice, 2th correction, user interface, help system, Win32 version of the program.
Contact in Telegram: @Slavic

2. Operations with table

Open the table

Select a data file from list (change the directory or drive if necessary). By default here are shown the files *.par and *.htm created by this program and *.aid files exported from the PDF-2 database (an option in PCPDFWIN).

RTP files (*.par; *.htm)
Files *.par contain all common data available in the program interface: the table of reflections, calculated parameters, specimen structure, description and notes; this is a default format. Hypertext *.htm files contain the same information with added HTML code, which allows to see the data in a web browser. In addition, they show the non-reliable data in colour similar to the table on the program screen. Both file types use UTF-8 text format.

PDF-2 files (*.aid)
Import of the PDF cards *.aid depends on the information in a particular card. For most modern cards, the program inputs the table of reflections (d, I and h k l) and calculates 2th using the wavelength stored in the card. The substance name and chemical formula are input as well and become available in the specimen dialog. However, some old cards (before 1970) may have lack of specific data: no indices, wavelength, undefined structure. You will see a warning in such case. Some cards may have too low precision of d; if so, the program will reconstruct the 2th precision and use it instead of default value.

Text files (*.txt)
By selecting the *.txt files in the drop-down list below the file window you can import the list of 2th or d and some additional data, prepared in ASCII *.txt format. This list may include the header with the specimen name and wavelength beginning from ";" or "#" (optional), then the lines with 2th or d values (required), intensity (optional) and indices h k l (optional). This format corresponds to data format of classic PDF cards. Such files can be created manually or by the programs processing the raw data from XRD devices.

; Nickel FCC
; 1.54051
44.51  100  1 1 1
51.85   40  2 0 0
76.37   20  2 2 0

The data files may have different extensions, depending on the program where the diffraction data were exported from. For example, the program Match! may export the list of d and I values (File, Export, Peak data) to a file with extensions *.dif or *.csv. You may rename such file to *.txt or select the option *.* in the drop-down list. Here is an example of exported data file of Zr powder (hexagonal lattice, wavelength 1.39217 Å):

2.806608   281.7
2.579302   315.4
2.465013  1000.0
1.897778   205.0

There are also two specific text formats: AMS files and Winfit! data; they are described below.

Select the data type
Import logic attempts to determine whether the first column may be 2th or d by first two values (more or less than 10.0). The dialog shows first 3 data lines: it may help to determine the correct type. You need to check and confirm the type: 2th values or d values. You may also Cancel the import.

For d values type, check whether the current length unit (Å or nm) corresponds to the data. If not, cancel the import and switch the unit in the emission menu.

After the import, if the wavelength was not included to the file header (like in the second example above), select the wavelength manually; you can also choose the preferred length unit for calculations.

To perform the lattice calculation, you need to select the proper lattice type, set 2th precision (by default 0.01 degree, set the real precision for your specimen) and input the indices. Alternatively, you can try to obtain the indices using the indexing process.

AMS files (*.txt)
These are the files with diffraction data of minerals in special *.txt format of American Mineralogist Crystal Structure Database (see References). The program imports the reflection table, name of mineral and space group (it can be seen in the specimen notes). Because the lattice type is not mentioned directly, the program instead of analysing the space group makes conclusion from the set of lattice parameters. However, some oddities may happen, like the "cubic" parameters for the group P1 (triclinic) are recognised as cubic lattice. You can select another lattice manually, calculate it and compare the results.

Winfit! data (*.txt)
The program can recognise the data from *.txt files, saved in a text editor like Notepad after pasting the data from the clipboard of the Winfit! program, where the list of peaks was obtained after fitting the raw XRD data (Winfit does not have the direct option of writing these results to a file). The name of the file with raw data is shown in the first line, the program uses it as a specimen name; the integral intensities (Area) are imported to the "I" column.

Import to existing table
The lines imported from a common *.txt file can be added to existing table with keeping all current data. This allows to combine several data files with reflections from particular areas of diffractogram into one integrated table. If the table is not empty, the program asks whether to Clear the table and then load new data, or keep the table and Add new data after the end. In the last case, the specimen name and other information will not be cleared or replaced, only new file name added to recent list. If the wavelength in the text file is different from current, 2th in imported lines will be recalculated to current wavelength (this does not affect d values, they will remain as is).

If you want to differentiate current and newly added lines, you can mark current lines as a phase with certain number before adding, because the imported lines always get the ordinal numbers.

Clear the data in the table

This menu allows to clear the entire table and calculated results (Clear all, the default option) with keeping only the wavelength and structure, or clear the particular parts of data. If you suppose to use current data later, save the table to a file.

Other options allow to clear:

— table data
Clear the entire table and keep the lattice parameters (if you generate the reflections by current parameters, the existing lines will be cleared anyway);

— indices h k l
Clear the indices, if you want to input different indices or use indexing by shuffle (first successful indexing will update the indices anyway);

— 2th, d, I
Clear these data, if you want to apply the existing indices to other substance. In particular, you may use a previously calculated specimen, PDF or AMS card as a structure prototype to calculate angles and d for known h k l (this calculation updates 2th and d, deletes the precisions but keeps the intensities);

— results
Clear the calculated 2th, deviation and lattice parameters, if you want to perform different calculations (any new calculation overwrites the previous results anyway). Note: if you clear both the table data and results, only the specimen information will remain;

— basic marks
Clear all marks of the lines as basic for indexing, if you want to select other basic lines;

— phase labels
Clear all phase labels and numerate the lines in ascending. The information about structure of different phases will be lost. The lattice type and cell centring of last calculated phase will be assigned to all lines. If no phase was calculated, the structure of the phase with lower number will be taken.

Note: you do not need to clear all data to calculate another specimen or phase with the same structure. Instead, you may input new 2th or d values in the existing lines, change the specimen name and delete extra lines if need, then select the lines for calculation.

Clear the entire table

You attempt to clear the table while the data have never been saved to a file. As a result, all the table and calculated results will be lost. If you suppose to use current data later, save the data to a file first.

Save the results

To save the table and calculated results, input a file name; the extension is recommended to leave as is. If the extension has not been specified, it will be appended automatically. Change the directory or drive if necessary. You can also select any existing file and use its name as a pattern or overwrite it.

The files *.par created by this program have a conventional UTF-8 text format; they contain all information about specimen, wavelength, full table of reflections and results of calculation if it was performed. They do not include some specific details visible in the program interface; the same limitations are applied to the printed tables.

Save the table in chosen format

You can save (export) the table data in different formats: *.par, *.htm, *.txt and *.csv. Choose the appropriate format in the drop-down list below the file window. Format *.par is the default format of the program; here you can also save the table and results under different file name.

Hypertext *.htm format contains the same data as *.par with added HTML code, which allows to view a table in a web browser. Like on the main screen, it shows in colour the indices, which should not present in current lattice, and significant 2th deviations (more than 3 × precision).

ASCII *.txt format is useful for phase analysis. In this format the table contains the header with specimen name and wavelength and then the data lines with 2th and I values (if no any intensities are known, 100 will be set instead). Use an option "Import ASCII" in the phase analysis program to import this table.

; Nickel FCC
; 1.54051
 44.510    100.0
 51.850    40.0
 76.370    20.0

CSV (comma-separated values) file format is compatible with spreadsheets, for example, MS Excel. The table is exported completely, and calculated data are placed after the end of the table. This option allows to perform additional calculations, comparisons and visual presentations. Usually the files with *.csv extension can be opened in the installed spreadsheet by default.

Print the table

Confirm the output of the table and calculated results to printer. You can select a printer and change the print options using the standard Windows interface.

Printing is implemented on basic level, it can help in common work, but cannot produce presentation-quality materials (you may import a file *.par into a convenient text or presentation editor). The table is printed in black-and-white mode: the colour marks of large deviations and non-permitted indices, if they present, are not reproduced. Printing uses the same monospaced font as on the main screen (Lucida Console by default), font size 14 points, standard font style. Page layout is designed for A4 paper, margins 15-20 mm; US letter size is also suitable.

Another option to have more control on printing is to save the table and results in HTML format and open it in a web browser. Most browsers, like Google Chrome, have an option to show a preview of the pages before printing, change the layout, margins and scale (zoom level) and also are able to print in colour if the table has such marks.

Exit the program

Check whether the table and calculated results have been written to a file, if necessary. This warning is shown only if you have some unsaved data.

3. Operations with lines

Input and edit the data

 # ‹h k l› 2th   ±2th    d       ±d     I  2th calc dev. 
 1  1 1 1 44.510 0.020 2.0338  0.0009 100.0              
 2 200                                                   

To calculate the lattice parameters, fill in the fields: h k l, 2th and ±2th or d and ±d. Intensities are optional, they do not affect the results. To input or edit the data in a cell, left-click it or press Enter. You can also use the arrow keys on the keyboard to select the cell for editing: the header of current column is marked with the pair of angle brackets.

The lines, which have enough data for calculation, become selected by default and are marked by bluish background. For indexing, the indices may be skipped, but the intensity values may be quite helpful.

If the indices h k l are marked by yellow, they do not correlate with current lattice type or cell centring (see more details in these sections).

Adjacent lines of the same phase with the same 2th and d values (they may have different indices h k l) are automatically marked with the bracket-like group labels to the right from the ordinal number or phase label. This makes easier to see the coincident lines, especially in the results of indexing.

Control keys

Enter      - input a value, go to the next cell/line
Esc        - restore value in the cell, exit editing
Tab        - go to next cell
Shift+Tab  - go to previous cell
Shift+Left - select characters in the cell
Backspace  - delete selection
Ctrl+X     - cut selection and copy it to buffer
Ctrl+C     - copy selection to buffer
Ctrl+V     - paste selection in current place
Ctrl+Z     - undo the last cell edit operation

Control with mouse

Left click  - edit a cell in the current line;
            - cancel if clicked outside of cell
              and move to another cell or line
Right click - cancel if clicked outside of cell

If you press Enter key to input the values in the fields, the program logic will attempt to assist your input. For example, h k l values less than 10 may be input without spaces. If the number of digits in the next index is the same or less than in current, the digits can be input "naturally", like 122 (1 2 2), 1014 (10 1 4) etc. However, if the number of digits in the next index is more than in current, need to add 0 before current index, like 08122 (8 12 2). For zero index, one zero is enough (see more details in the table below). If you are not sure whether the conversion will be correct, use spaces to separate the indices.

In the first line, after the input of 2th and ±2th, the d and ±d fields will be filled in automatically according to current wavelength, and the field I will be skipped. (If you want to input I anyway, use the Tab key or left-click that field.) In the next lines only 2th value is required, the precision ±2th will be copied from the previous line or calculated depending on your precision input mode (see correction and precision). You can change the suggested value and input a value of your choice instead.

Rules of h k l conversion

Input  Converted  Digits       Notes
hkl     h k l     3 any        every h k l has 1 digit
hhkl    hh k l    4 non-zero   hh, k, l
0kkl    0 kk l    4 from 0     0 for h, kk, l
00ll    0 0 ll    4 from 00    0 for h, 0 for k, ll
hhkkl   hh kk l   5 non-zero   hh, kk, l
0hkkl   h kk l    5 from 0     0h for h, kk, l
00kll   0 k ll    5 from 00    0 for h, 0k for k, ll
hh0ll   hh 0 ll   5, 0 inside  hh, 0 for k, ll
0h0ll   h 0 ll    5, two 0     0h for h, 0 for k, ll
hhkkll  hh kk ll  6 any        every h k l has 2 digits

Select the lines for calculation

 #  h k l  2th   ±2th    d       ±d     I  2th calc dev. 
 1  1 1 1 44.510 0.020 2.0338  0.0009 100.0              
 2  2 0 0 51.850 0.020 1.7618  0.0006  40.0              
 3  2 2 0 76.370 0.020 1.24596 0.00028 20.0              

Selected lines of each phase are marked by a colour: they have a  bluish background  or  green background  with the marker at least until the "I" column. You cannot select the lines with errors or incomplete data; they will have a white background until correction.

On the illustration the lines 1 and 2 are selected, while the line 3 is not. Marker is placed on the line 1, its right part is yellow because the results are not yet obtained. Note that the line 3 has a bluish line number: it shows that this line is ready to be selected, unlike the empty line 4.

If the table has the lines belonging to more than one phase, you need to move the marker to any line of the phase which you want to calculate. Only one phase can be chosen for calculation, the lines of other phases are inactive (pale).

Control keys

Space    - select or unselect current line
Shift+Dn - select/unselect a sequence of lines
Enter    - input or edit data in the current line
Ctrl+X   - cut current line and copy data to buffer
Ctrl+C   - copy current line to buffer
Ctrl+V   - paste data from buffer to new line
Ctrl+I   - insert an empty line in current place
Ctrl+Z   - undo the last line operation
Ctrl+L   - select all lines with calculated 2th
Ctrl+A   - select all lines with valid data
Ctrl+T   - invert selection of all valid lines
Ins      - set a phase or class for a line

See above the keys for editing data in a cell.

Control with mouse

Left click  - set the marker at cursor position;
            - call the class menu in "#" column;
            - edit a cell in the columns from
              "h k l" to "I" in the current line
Right click - select/unselect current line
Wheel       - scroll the marker first, then table
Ctrl+wheel  - scroll the table

Select a class for a line

Initially all lines in a new table or in a table imported from PDF or AMS database do not have any special labels besides a line number. This is a common case when the table includes only a single substance. Otherwise you may use the labels to differentiate the lines, in particular, the lines of the standard substance or separate two or more phases. Note that every phase has an independent lattice type and cell centring (primitive cubic type is assigned by default).

 #  h k l  2th   ±2th    d       ±d     I  2th calc dev. 
 2  2 0 0 51.850 0.020 1.7618  0.0006  40.0              
 ✓ Numbers   
   Phase 1
   Phase 2
   Phase 3
   Phase 4

To assign a class to a particular line, you can left-click the line in the column "#" or press the "Ins" or "Context" key (or Shift+F10 combination) to show the context menu of class selection. Choose a class label for this line:

Numbers     - a line with ordinal number
Phase 1...4 - one of specified phases, (1)...(4)
Standard    - a line of the standard substance, (s)
Excluded    - a line excluded from calculations, " x "
Basic       - a basic line for indexing

The selected class is shown instead of ordinal number; a basic line has an asterisk mark "*" right from a line number or phase label (the excluded lines cannot be marked as basic). Please note: using the context menu is not necessary, all labels can be set or changed directly by the corresponding keys, like key "1" to assign the phase 1 etc. Some advices related to selection of the basic lines can be found in the indexing section.

Arrange the lines

 #  h k l  2th ▲ ±2th    d       ±d     I  2th calc dev. 
 1  1 1 1 44.510 0.020 2.0338  0.0009 100.0 44.502  0.008
 2  2 0 0 51.850 0.020 1.7618  0.0006  40.0 51.857 -0.007
 3  2 2 0 76.370 0.020 1.24596 0.00028 20.0 76.393 -0.023

You can arrange (sort) the lines in the table by class numbers #, experimental angles 2th, interplanar distances d, intensities I and absolute values of deviations. To do this, left-click on the table header with bright blue background. Alternatively, use the keys Alt + column number. The direction of arrangment is shown by the triangle in the chosen header, like by ascending of 2th on the illustration above. By the second left-click the direction switches to opposite etc.

Control keys

Alt+1 - arrange by class # and 2th
Alt+3 - arrange by 2th 
Alt+5 - arrange by d
Alt+7 - arrange by I 
Alt+9 - arrange by deviation 

In particular, arranging by deviations is useful after calculation of lattice parameters: it allows to see the lines with most significant deviation and unselect them or correct the mistakes in their data.

Arranging by classes is possible only if some of them were defined. The lines with ordinal numbers are arranged first, then the phases (1), (2) etc., then standard substance (s) and excluded lines " x ". Within any class, the lines will be arranged by ascending of 2th.

Invert the indices h k l

This operation allows to invert the indices of the lines of current phase where the value k is negative. The purpose is to transform the indices of triclinic lattice, mainly imported from PDF data, in which negative k is allowed, to monoclinic-compatible indices where k is non-negative.

Key combinations: Alt+2 or Ctrl+left-click on h k l header.

(this experimental option may be modified or replaced in the future)

4. Settings and specimen data

Information about specimen

In this dialog you can input a specimen name and short description of specimen or its phases, if they are specified. These fields are optional: filling them in or using only a unique filename is a matter of personal style. Any string may have up to 68 characters or be empty (on the main screen, specimen name is limited by 26 characters). Non-empty strings will be written at the end of file *.par. When you read a PDF card or AMS diffraction data, a substance name and chemical formula (if presents) are taken from the card data.

Below these fields may be shown an information about applied goniometer and specimen corrections: constant correction and specimen displacement. These data present only after correction by standard substance or calculation of specimen displacement.

Select the emission

 Emission: 1.540600 

Choose the emission type or wavelength from the list of emissions, which are commonly used in the X-ray diffractometry, in the "Emission" menu or by left-click on current value. You can also input the wavelength manually. The last used value is stored in the configuration file. This menu also allows to select the length unit: ångströms (Å) or nanometres (nm). If the length unit was changed when the table contains some data, you need to calculate the lattice parameters again.

The internal table of wavelengths (which are more traditional than physically true) can be replaced with data from the file rtpwl.ini, which should be placed in the program's directory. This file can contain up to 18 data lines, each includes the name, wavelength and short description.

; Wavelenght list for RTP32
; replaces the internal table (max. 18 lines)
; G. Holzer et al., Phys. Rev. A, 56 (6), 4561 (1997)
; Name  Lambda   Description
&Cu-Ka1 1.540593 Emission of copper, line K-alpha1
Cu-K&b  1.392235 Emission of copper, line K-beta
A&g-Ka1 0.559363 Emission of silver, line K-alpha1
C&o-Ka1 1.788996 Emission of cobalt, line K-alpha1
Co-Kb   1.620826 Emission of cobalt, line K-beta
C&r-Ka1 2.289726 Emission of chromium, line K-alpha1
Cr-Kb   2.084881 Emission of chromium, line K-beta
&Fe-Ka1 1.936041 Emission of iron, line K-alpha1
Fe-Kb   1.756604 Emission of iron, line K-beta
&Mo-Ka1 0.709300 Emission of molybdenum, line K-alpha1
Mo-Kb   0.632253 Emission of molybdenum, line K-beta
&Ni-Ka1 1.657930 Emission of nickel, line K-alpha1
Ni-Kb   1.500152 Emission of nickel, line K-beta
&W-La1  1.476345 Emission of tungsten, line L-alpha1

You may create your own rtpwl.ini using this one as an example. All wavelenghts should be input in ångströms (they will be shown in nanometres if you choose this option in the menu). If you use the non-Latin characters, like Greek letters, save the file in the UTF-8 format.

The program uses the heuristic approach to determine whether the manually input value is in Å or nm. Every value is checked against the values in the table within relative error 0.0005 (the relative differences in the wavelengths listed in scientific media and databases usually are less than 0.0002). If the value is found, its unit is determined as well. Otherwise the values less than 0.49 are counted as nm (for reference, less common Ag Kβ is about 0.49701 Å). If you use a rare short-wave emission like W Kα1 (0.20901 Å) or Au Kα1 (0.18020 Å), add it to rtpwl.ini to prevent a mistake in length unit.

Specify the emission

Input the specific wavelength for current experimental data, if it does not present in the common list. The last used value will be stored in the configuration file. Please read the details and recommendation in the previous section.

Select the lattice type

 Lattice: A orthorhombic 

Select the Bravais lattice type (syngony) for investigated crystal substance or phase in the "Lattice type" menu or by left-click on the syngony name. If the table contains more than one phase, the current phase is defined by current position of the marker. When you add a new phase to the table or assign new class label to existing line, it gets the default "P cubic" type. Check this and correct for every new table or new phase, if needs.

For the rhombohedral, monoclinic and triclinic syngonies, where the negative indices are possible, the program checks if a particular negative h, k or l may be valid; if not, these indices will be marked in the table by yellow. Check and correct the yellow indices accordingly. In the case of monoclinic syngony, selecting the primitive cell centring (P) may also help.

For indexing, if a syngony is unknown, it is recommended to begin the process from the most symmetric types.

Select the cell centring

Select the Bravais cell centring for current lattice type in the "Cell centring" menu or by left-click on the centring letter. If some indices in the table do not correlate with chosen centring, they will be marked by yellow. The option "find highest" allows to find the most symmetric centring for all indices of current phase.

The program allows to select only those centrings, which are possible from the crystallographic point for current lattice type. All other centrings are inactive and cannot be selected. In the practice of X-ray analysis, however, the less restrictive approach may exist, like, for example, a face-centred triclinic cell. They are not minimal or do not have the full set of symmetry translations, but sometimes these models may be useful to describe a distortion or phase transformation of more symmetric cells; they also may exist in some PDF cards which can be imported as *.aid files. Non-standard centring will be marked by yellow letter. Such structure still can be calculated, but if you change the centring, it cannot be restored back in the program interface.

Select a line belonging to a phase

Point at one of the lines belonging to a known phase which you would like to calculate or define its lattice type or cell centring. Empty and excluded lines cannot be used for calculations. Please move the marker accordingly.

Correction and precision

In this dialog you can input and calculate the data required for 2th correction, change 2th precision for all lines in the table, change the precision input mode. To correct the angles 2th, which may be shifted from ideal positions due to detector or specimen misalignment, you can use the experimental angles of standard substance.

Required theoretical angles are calculated from the interplanar distances, which are stored in the configuration file, at current wavelength. Use options to see or change these data. Note that 3 decimal signs for calculated angles is only a visual limitation here, the program internally uses all available signs.

Standard #:
To use the standard substance correction, input here from 1 to 5 experimental angles (see the technical details below). Single angle gives the constant correction; two or more allow to calculate the specimen displacement and correct the experimental angles more precisely.

Please note that usage of two or more standard lines is highly recommended; the constant correction by single line may give reliable results only in narrow area around this angle.

Adding the lines of standard substance to the table is not required, but can be helpful. In this case, you can input their line numbers with "#" symbol, e.g. #4. You may input "#" without a number, then the line nearest to the theoretical angle will be taken. Use this if you have assigned the class label (s) to standard lines instead of ordinal numbers.

Press Calculate if you want to see the correction (constant and displacement values) without changing the table. Press Apply to correct the angles of all lines in the table. Calculated constant correction and specimen displacement / detector radius will be shown in the specimen dialog and saved as a remark in *.par file.

Constant correction:
This field shows the constant (zero-point) correction calculated by the lines of standard substance. You can also input here the constant correction for your detector manually and calculate the shifted angles.

Specimen displacement:
This field shows the specimen displacement calculated by two or more lines of standard substance, in millimetres. A positive value means the shift of specimen plane toward the diffraction angle, negative — backward.

If you input the constant correction and/or specimen displacement manually, then Calculate will give the expected angles of standard substance for such misalignment. This may be useful to reproduce the adjustment of the specimen and goniometer. (If some experimental angles and direct correction were input at the same time, the direct values have a priority.)

Specimen displacement can also be calculated independently by the minimal divergence of results of investigated substance, in this case the lines of standard substance (two or more) are used only for constant correction. See calculate specimen displacement section for details.

Set 2th precision:
Here you can change the precision for all lines in the table; this affects the results estimation and indexing. For a pattern, use "#" and line number, e.g. #2. Without a number, the first line will be taken as a pattern. Please note that in the cosine mode the precision of any line will depend on 2th. If you set only the precision, the buttons Apply and Calculate are equal.

Precision input mode:
This mode, constant or cosine, defines the offered precision of 2th when filling in the table as well as the precision which is set for all lines in this dialog. It also affects the calculation of root mean square deviation.

In the constant mode, the program offers the same ±2th for all lines. This may be useful when the precision is mainly determined by detector step, whilst the diffraction lines are relatively narrow and 2th range is limited.

In the cosine mode, the offered precision depends on 1/cos(th). This is suitable for wide 2th range and broadening diffraction lines. It decreases the relative weight and contribution to the results of the lines at large angles 2th, which often are weak and less reliable.

Technical details

Formula used:

correction = constant-2×cos(th)×displacement/radius

Constant (zero-point) correction should be added to all experimental angles to compensate the shift of detector from ideal position. Specimen displacement gives the correction depending on cos(th). Both these parameters are obtained using the least squares method from cosine — deviation data set. Calculation of displacement also uses the detector radius (typical value is 200 mm, see options).

Apply the angle correction

Two parameters, which define the angle correction: constant (zero-point) shift and specimen displacement, were calculated or input directly. To correct the position of all reflections, they should be applied to angles in the table. After that, they will be shown in the specimen dialog. You can cancel this operation and input the correction-related data again.

Select the font

This dialog allows to choose the font for main program screen. List of fonts shows the scalable monospaced fonts (with fixed symbols width) installed in your system. The default font is Lucida Console, 14 points. The chosen font name, size and style are stored in the configuration file.

The number of available fonts depends on version of your operating system, language and additionally installed fonts. For Western languages, usually only a few fonts are available; for Asian and Eastern languages there may be more. However, not every font may have the characters needed for program interface and description of phases. It is recommended to choose the font which has at least the Western and Greek symbols and your national alphabet, if need. List of alphabets supported by each font is shown in the drop-down box "Script".

Note: the font selected here is also used for printing, but the size and style are not (the fixed font size and standard style are used instead).

Change the options

Here you can see and change the settings which are stored in the configuration file rtp.ini.

Colour scheme:
You can choose a scheme for main program screen: classic, light, dark.

Auto update check:
Program can check for update automatically on regular basis: never, daily, weekly. This check performs one time when the program is started without opening a file. If a new version is available, you will see the information about this and can decide whether to update now or later. Set automatic check only if your PC has a stable Internet connection, otherwise use manual check in the "Help" menu. Note that new program versions are being released not very often, so weekly check may be more reasonable.

Lines on the screen: 16
You can change the table size visible on the main screen from 10 to 41 lines. Set the value which is better suited for your display and font size.

Default PDF precision: 0.010
The cards exported from PDF-2 database may not contain any specific information about precision, so this value is used as default 2th precision; it is also used for AMS data. More exactly, PDF cards may have different presumed precison depending on the number of meaning digits in the d values. Most modern cards, including the theoretically calculated data, have at least 5 digits after the decimal sign, so the default precision, which is typical for modern XRD equipment, is applied to these data. However, some old cards (circa 1950-1980) may have only 3 or 4 meaning digits (the last digits required by format are zeroes). The program checks this and can restore the approximate 2th precision basing on meaning digits of d and wavelength; in such case the default precision is not used.

Indexing delta multiplier: 4.0
This value is a multiplier of 2th precision, which defines an interval of 2th for search for adjacent reflections in the indexing mode. In some cases a value from 3 to 5 may be reasonable: 3.0 is a strict limit when all lines should be within the interval of satisfactory quality, may be useful for indexing by known h k l; 5.0 is a less restrictive limit to find the lines in more wide area, may be useful for shuffle. But generally, if you have the problems with indexing, try to set the more appropriate 2th precision first.

Radius of detector circle: 200
A distance between specimen and first slit of detector, in millimetres. It allows to calculate the exact value of specimen displacement by two or more experimental angles of standard substance in the correction dialog. Besides displacement, it does not affect any results.

d of standard substance #:
You may input from 1 to 5 interplanar distances of external standard, used for calculation of correction. The angles are calculated at current wavelength. To restore default data, clear or input 0 in all 5 fields. Default data: natural diamond at 25oC. Replace this if you use a different standard like alpha quartz, magnesium oxide etc. All distances should be input in ångströms.

; Natural diamond at 25C, a=3.566986
; T. Hom et al., J. Appl. Cryst. (1975) 8, 457-458
;    d      h k l
 2.0594003  1 1 1
 1.2611200  2 2 0
 1.0754867  3 1 1
 0.8183227  3 3 1

5. Calculations

Calculate the lattice parameters

To calculate the lattice, the lines must have non-empty h k l and valid 2th. Use the "Calculate" toolbar button or F6 key to calculate lattice parameters by selected lines of current phase. If the table contains more than one phase, the current phase is defined by current position of the marker. To calculate other phase, move the marker to any line of that phase first.

Before the first calculation, please make sure that you have set the correct emission and lattice type of current phase.

Calculated results

The top window shows the results of lattice calculation: the parameters and cell volume. For some lattices the relation c/a is also calculated, and for orthorhombic lattice — the split rate (b-a)/(b+a). The precision is an error caused by the limited precision of the original data: 2th or d, while the divergence is a result of the difference between the ideal calculated lattice and real experimental data. The deviation (rightmost column in the table) shows how much the real data differ from the ideal model: add it to the calculated angle in order to obtain the experimental 2th.

[12/14]  2th rms dev= 0.015: very well 

The line below the parameters shows the quality of the results. Quality is estimated by comparison of the root mean square deviation of 2th (2th rms dev) with the root mean square experimental precision (see the estimation section in the quick reference). If the lattice model is correct, for the most of lines the deviation should not be much more than the precision.

The deviations more than 3 × precision are marked by yellow. If a single line or small part of all lines show the significant deviation, it may be a result of accidental error or mistake. Consider to unselect such lines from calculation. However, if the total number of lines with high deviation is large, this may be a result of the systematically bad data (experimental precision is much worse than was input), presence of the lines of another phase, or incorrect lattice model. In the last case try to choose different syngony.

Two numbers separated by slash to the left from the estimation show the number of lines used in calculation and total number of lines of current phase. Their background shows the recalculation mode: bluish for active (as on the illustration above), white for inactive. When the recalculation is active, any selection or unselection of the lines of current phase will update the results. To cancel the automatic recalculation, press "Esc" or left-click these numbers with mouse.

Control with keys/mouse

Space       - select/unselect line for calculation
Shift+Dn    - select/unselect a sequence of lines
Ins         - set or change class of current line
Left click  - set the marker at cursor position;
            - call the class menu in "#" column
Right click - select/unselect current line

Technical details

The main algorithm is based on the method of least squares. The system of linear equations is obtained from original data using the classic Bragg law. The resulting matrix with dimension equal to parameters number of current lattice is solving using the Gauss method. The errors, which are due to 2th precision, are obtained from the solution of this matrix. The errors due to the divergence between the calculated model and original data are obtained by solving another matrix which is composed by deviations between calculated and original 2th.

The angles 2th are calculated from lattice parameters using the standard equation for interplanar distances (1/d2) for current lattice type.

Details of calculation

This dialog can be called after successful lattice calculation (otherwise it suggests to perform the calculation first). It shows the number of lines with different absolute deviations: less that experimental precision ±2th, less than 2 × precision, less than 3 × precision and the total number of "good" and "bad" lines (outliers). It also informs whether the results are good. Information can be copied to Windows clipboard using the combination Ctrl+C.

If the results are not good, you can attempt to improve them. Usually this can be done by unselecting some lines with too high deviation (lines with deviation more than 3 × precision are marked in the table by yellow in the "deviation" column). To find all such lines, arrange the lines by deviation. Alternatively, press Unselect button.

Important: you do not need to unselect all suggested lines. Always look at the results estimation, sometimes only a few unselected lines may significantly improve the results.

If the results are not good and cannot be improved this way, you should verify the experimental data: indices h k l, angles 2th and lattice type. You can also revise the experimental precision ±2th and assign more appropriate value to the lines in the table.

This dialog also informs you, if the table has some not yet selected or unselected lines of current phase with the deviation within 2 × precision, and suggests to Select these lines, which may statistically improve the results. Use such suggestion with caution: the program does not know anything about the physical state of the investigated substance, it estimates the result basing only on formal principles. For example, you might intentionally unselect some lines which supposedly belong to another phase (like a distorted or transformed lattice). If you mark these lines as a different phase, the program will no longer suggest to select them.

After the indexing, the operation "Details" shows the dialog with the results of indexing until the number of lines is the same and no other calculations are performed. In particular, this allows to see the results obtained by both indexing criteria: minimal cell volume and maximum of described lines. If the table has been updated or parameters calculated, this operation returns to the functionality described above.

Calculate specimen displacement


In practical X-ray diffractometry, the diffraction planes of investigated substance are usually differ from the goniometer plane by the value called specimen displacement. In a typical case of specimen alignment to a holder using a glass plate, the displacement may be only a few micrometres (μm), but if the specimen surface is not well polished and has some roughness or for powder specimens, the real displacement may be much more. Methods of internal and, more often, external standard substance placed on the specimen surface (like a diamond powder) are used to compensate such misalignment; this correction is supported by the program. However, such correction may be not ideal if the reflecting areas of specimen phase and standard substance are different.

Another way to find the displacement and compensate it uses the displacement model which is applied to set of diffraction lines to find the position when the divergence of calculated results from ideal structure is minimal. If used properly, it allows to find the displacement with precision up to 1 μm. However, this operation should be used with care because improper calculation may result in additional uncorrectable errors instead. In general, it should be used only when the shift of the diffraction angles is a result of specimen misalignment and is not due to another reason like internal stress, phase non-uniformity, phase transformation etc.

Important: before performing this calculation, make sure that the constant (zero-point) correction is equal to 0, i.e. is less than goniometer precision. If this constant is not zero but is known for current goniometer, correct it manually in the correction and precision dialog. You can also calculate and apply this correction by two or more lines of standard substance (the displacement calculated by standard lines will be used only as a first approximation). Warning: constant correction by only a single standard line is highly undesirable and may lead to additional errors.

Please note that calculations use the radius of detector circle as a base length. Check this parameter in options and correct if need.

Calculate the displacement

First, you need to calculate the lattice parameters: it gives an initial value of 2th root mean square deviation (2th rms dev) which is used as a starting point for next comparisons.

Initial dialog of this operation allows to set the interval of displacement, in millimetres. Default value is 0.2, possible limits 0.01 — 2.0. Search of minimal deviation will be performed in the interval from negative to positive given value. A positive value means the shift of specimen plane toward the diffraction angle, negative — backward.

Dialog with the results shows the minimal found 2th root mean square deviation and corresponding displacement. If the difference between current and minimal 2th rms dev is too small, it is shown in parentheses. Press Apply button to correct the specimen misalignment, if it is significant (more than a few micrometres). The found displacement will be used to recalculate the angles of all lines in the table, not only the lines of calculated phase. Lattice parameters of current phase will be updated automatically; other phases, if they present, should be recalculated manually. The applied displacement will be shown on the bottom in the information about specimen dialog along with constant correction, if it was used.

If the found displacement is less than 0.001 mm, you will see an information that specimen position is good and correction is not required. This is normal for all theoretically calculated lines or if the correction has already been applied.

If the displacement is equal to the maximum limit, you will see a warning in the dialog with results. It means that the minimum of deviation most likely exists somewhere outside of current interval and limit is too small. It is recommended to Cancel the operation and increase the limit in the first dialog.

Please note that applied displacement cannot be undone. If you think that it was used by mistake, reload the initial table if it has been saved to a file before this operation. Alternatively, you can apply the reverse correction: look at the current displacement in the dialog information about specimen and input the inverse value in the correction and precision dialog, "Specimen displacement" field.

Calculate lines for known h k l

For calculation of new 2th and d values by given indices and parameters, the indices in the column h k l should be filled in. You may either input them manually or use a previously calculated specimen or PDF card as a structure prototype. Then fill in the lattice parameters.

Limits for edges a, b, c — 2...99 Å or 0.2...9.9 nm, for angles alpha, beta and gamma — 1...179 degrees.

This operation may be called without any h k l in the table: the cell volume and additional lattice parameters like c/a relation or orthorhombic splitting will be calculated anyway.

The fields in this dialog, as well as parameters fields in the generate reflections by parameters dialog, allow to input one of the arithmetic operators + - * / with two arguments. This may be useful to calculate the edges for a cell with multiplicities, based on multiple cells with simple structure, and vice versa. The original values may be a result of previous lattice calculation, which you need to multiply or divide. Examples:  2*5.348  or  30.609/3 

Generate reflections by parameters

To calculate the reflections with generated indices h k l, first select the lattice type and set the cell centring, if it is known, or leave the type "P" (primitive). Then fill in the lattice constants and set the minimum and maximum values of 2th. The number of possible h k l combinations is limited by the table size (440 lines), so if this limit exceeds, the program will show warning and decrease the upper 2th value. If you want to get more results, look at the last calculated angle and use it as a reference point for new 2th range.

Limits for edges a, b, c — 2...99 Å or 0.2...9.9 nm, for angles alpha, beta and gamma — 1...179 degrees, for 2th range — 0...179 degrees.

About the arithmetic operations in the fields see the remark in the previous section.

Mark lines as a phase

You can mark the lines as a specific phase by certain number from 1 to 4, define them as the lines of standard or excluded lines. These lines will be labelled in the leftmost column of the table by the number in parentheses: (1) to (4), (s) or " x ". Empty lines cannot be used for this. If all lines in the table have the ordinal numbers, they all will be labelled as a phase. But if the table already has some phases, only the lines of current phase with the marker will be changed. To individually assign a phase to a specific line, use the context class menu or keyboard command.

The common purpose of phase labels is to differentiate the lines belonging to different substances. In particular, you can label the existing lines before adding new lines of other phase to the table using import of *.txt file (all imported lines get the ordinal numbers). Then the difference between them will remain visible after arranging the lines or lattice calculation.

It would be a good idea to write a short note about specified phase in the specimen description.

To remove the specific phase labels and restore the ordinal numeration, set the marker to one of these lines and choose an option "Numbers" (N). To remove all the phase labels in the table, use an option "clear phase labels" in the clear menu.

6. Indexing

Indexing overview

Two methods of searching the indices are implemented in the program:

Shuffle (permutation) method uses the generated array of h k l, which are sequentially assigned to selected basic lines to get the lattice parameters; a grid of possible reflections is calculated and checked for coincidences until the minimal percent of described lines is reached, then the results are shown in the table. You can set the basic mark "*" on the suitable lines manually (see the recommendations below), otherwise they will be taken from the top of the table. Limitation: this method does not work for triclinic lattice because it would be inefficient and very time-consuming. Please use the specialised software or try indexing by known h k l, if such indices exist.

Method by known h k l assumes that the total number of selected lines with known indices is sufficient to calculate the lattice parameters with quality "satisfactory" or even better. Grid of reflections is built from these parameters, then the lines without indices are checked for coincidence. Basic lines are not used in this method, only the limits by h k l and sometimes 2th range should be set (other limits are ignored).

This method may be useful when some indices, usually belonging to a few first or strongest lines, should be the same as in a structure prototype, but the differences in lattice parameters make hard to directly attribute the remained lines.

Two described methods can work in sequence: if you have a lot of lines of the substance with low-symmetric lattice, which the shuffle method is not able to process for reasonable time or because of internal overflow, you can perform the indexing of less number of first lines with lower limits by h k l, select the best result and then identify the rest of lines using the method by known h k l.

How to choose basic lines

For the shuffle method, good choice of basic lines may greatly affect the success of indexing. Their number should be equal to the number of lattice parameters, e.g. one for cubic, two for hexagonal, tetragonal and rhombohedral lattice etc. Lines are counted from the top of the table, so if the number of lines marked as basic is not enough for current lattice, additional lines will be taken from the top; if too many lines are marked, the extra lines will be ignored.

Selecting the best basic lines may require several attempts of trial and error. First of all, note that the default selection of basic lines from the top of the table is usually not the best: the exact lattice parameters calculated from the lines with smaller 2th may have significant errors, preventing the attribution of the lines with larger 2th. It would be more reasonable to select the lines in the middle or even near to the end of 2th range. On the other side, take into account the intensities: the more intensive non-overlapped lines usually are more reliable. Try to mark different lines (most intensive and with large 2th) until you get the suitable results.

Sometimes a wrong selection may be hard to predict, for example, if you occasionally chose the lines which in fact are linearly dependent or do not include one axis (like h k 0 in tetragonal lattice). In this case you may get poor results or no results at all. Changing one basic line to another one may resolve such issue.

Technical details

In a shuffle cycle, the basic lines get the current combination of indices from generated h k l array, indices in the array are arranged by increasing of sum of squares; the repetitions in cubic, rhombohedral, hexagonal and tetragonal lattices are skipped. Then the lattice parameters are calculated from basic lines and checked against given limits by a b c and V. A grid of possible reflection angles is built from the h k l array and is used to search for the reflections adjacent to experimental angles within the delta × precision interval (delta multiplier can be changed in options). Indices of reflections may be checked for cell centring with higher symmetry (which is limited by higher possible centring of basic lines). If the percent of adjacent lines is high enough, their indices are used to calculate the lattice parameters more precisely, and the results are shown in the table and in the dialog with the result of current cycle (in the interactive mode).

Every successful cycle is checked for cell volume and number of described lines; if one of both of them are better than obtained in previous cycles, they are memorised to be shown in the dialog with the results of indexing when all cycles are completed.

Settings for indexing

This dialog allows to input the parameters which define the indexing process. Before using this dialog, you need to set the supposed lattice type.

For the shuffle method, it is highly recommended to choose the basic lines (use the context menu or "B" key, also see advices in the previous section).

For the method by known h k l, it is suggested to calculate the lattice parameters by known lines and, if the number of selected lines is more than number of lattice parameters, check that quality is "satisfactory" or better. This method uses only the limits by h k l and 2th range when need.

Limits by h k l: 5 5 5
The higher limits increase the chance of success, even with non-minimal cell, but increase the total number of cycles and calculation time. A size of h k l array in Win32 version of the program is 4096. For a primitive cell and for cubic lattice h k l must not exceed (46 46 46) with multiplicities, for orthorhombic lattice — (15 15 15) and for monoclinic one — (12 12 12). If a cell is non-primitive, limits can be increased.

For indexing by shuffle of monoclinic lattice, the limits more than (4 4 4) may be very time consuming and inefficient. Try to set the limits when the array size (shown in the information line) would be around 100...200. You can decrease 2th range and then use less limits by h k l to try to identify some (like 10...15) first lines. Indexing by known h k l, on the other side, is performed without multiple cycles and is quite fast, hence use the limitations from previous paragraph.

If you input less than 3 values in this one and next fields (for any lattice), missed values will be copied from the last input value. For indexing by known h k l, if some values are less than the maximal indices in the table, program shows the warning and asks whether you want to Increase the limits which are less than in the table or Continue without changes.

Limits by a b c: 10 10 10 (length in Å) or 1 1 1 (length in nm)
Set a maximum size of cell in 3 dimensions. Higher values increase a chance to find the non-minimal cells, while too low values will make the correct indexing completely impossible. Always check that these values are not less than in a prototype cell. Possible limits 2...99 Å or 0.2...9.9 nm.

Limit by beta: 125
This setting is available only for monoclinic lattice. Beta angles beyond 110...120 degree may exist, but are quite rare; proper limitation reduces the time of calculation. Like for cell edges, too low value will prevent from getting the correct results. Possible limits 90...150.

Limit by V: . . . (cell volume in Å3 or nm3)
Volume limitation can decrease the number of non-minimal found cells, especially when the limits by a b c are high. This field is empty by default and is not used. If you decide to set this limit, it would be reasonable to use the volumes obtained in previous calculations as a reference point.

If the limits by a b c were increased in this dialog but the limit by V was not, the program shows a request if old volume becomes a limitation. You can continue indexing or cancel it and change the limit manually of clear this field.

Threshold in %: 80
Minimal percent of indexed lines. Recommended value 70...90, possible limits 25...100.

2th range: 0 180
Normally the angle limits for indexing are taken automatically from the unidentified lines with lowest and highest 2th with adding delta × precision on both sides. The setting here creates the additional limitations which may help in the case of error too many h k l combinations. Selecting a more narrow range of angles may greatly reduce the number of possible combinations, especially for low-symmetric lattices.

For the shuffle method, this setting allows to select only a part of existing lines, if their number is too big. Decreasing the upper limit may be enough: the lines with lower 2th may be identified with lower limits by h k l. After that, the remained lines can be described using the method by known h k l without 2th restriction.

Besides these cases, it is recommended to keep the default non-restrictive values; to restore them, clear this field.

Interactive search mode
Selecting this check box allows to perform the indexing by shuffle in interactive mode, when the dialogs with intermediate results are shown after every successful cycle. This can be useful if you want to see some possibly interesting results which were not shown after performing the non-interactive search because they did not meet the best search criteria (minimal cell volume or maximum of described lines). When the check box is clear, all intermediate dialogs are skipped and the results of indexing are shown when all cycles are completed.

When initial settings are ready, press Start to begin the indexing process by shuffle (for a lattice from cubic to monoclinic), or press By known hkl, if the lattice parameters can be calculated by selected lines.

Indexing is in progress

On the bottom line of the screen you can see current information about indexing cycle: size of h k l array, number of successful cycles and current indices assigned to first basic lines (for orthorhombic or monoclinic lattice). The cycles by h k l are going on in ascending of the sums of their squares. If the parameters calculated for basic lines are within the limitations defined in the indexing settings and the percent of lines which are located near theoretical positions calculated from these parameters is high enough, the cycle is counted successful. The described lines are marked by bluish background in the table and calculated lattice parameters are shown on the screen.

If the indexing is being performed in non-interactive mode, you can interrupt it (use "Esc" key) and either change the indices of the first basic line to next combination (to skip the rest of shuffle with current indices) or exit the cycle and see the obtained results.

Result of current cycle

This dialog shows the result of current indexing cycle: the number of described lines and cell volume; you can see current lattice parameters in the table (move the dialog if need). You can Continue the indexing in normal way or change the indices of the first basic line to the Next h k l combination.

You can also Exit the cycle, if you want to change the indexing settings or check the current results more carefully. In the last case, press Cancel in the next dialog, then you can save or print the table.

Results of indexing

Indexing by shuffle
Indexing is finished, when the indices of first basic line reach the maximum h k l values, then the program shows the dialog with found results. Two criteria of selection are used: by minimal cell volume and by maximum of described (identified) lines. If several results with the same volume are found, the first is taken because the indices h k l are minimal at the begin of shuffle; if several results with the same number of lines are obtained, the result with minimal volume is used. If both the number of lines and volume are the same, the result with higher cell centring will be taken.

You can choose which result, Min volume or Max lines you would like to see in the table, or cancel to keep the last successful result. Besides these choices, pay attention to the results where the cell is more symmetric (if a structure prototype may have a non-primitive cell) and where the indices of basic lines are relatively small. If need, you can repeat the indexing with different basic lines, different cell centring and compare the minimal volume and percent of described lines.

To choose other result, use "Details" in the menu "Calculate" or the corresponding toolbar button; it will show this dialog until the table is not changed and calculation of lattice parameters is not performed.

If the initial settings were unsuitable (incorrect basic lines were selected, threshold is too high, limits by h k l or lattice constants are too small, incorrect lattice type or cell were chosen), the results will be probably unreliable. You may also see the message like "Failed in finding any indices". Try to change some initial indexing settings and repeat the process.

Indexing by known h k l
The results of indexing are shown immediately because all operations are performed in a single cycle. If successful, the unidentified lines get the possible indices but remain not selected (white or yellow with the marker), so they can be easily distinguished from the selected lines which were used to calculate the lattice parameters. If you want to improve the parameters by adding the described lines, select them manually or by combination Ctrl+A and perform the calculation.

If more than one possible h k l combination was found for a line within delta × precision interval, the program creates the copies of this line with all found combinations and shows them as a group with the same 2th angle. You can choose the lines in the group by a criteria such as minimal 2th deviation, or by indices h k l which belong to a most symmetric cell, or the specific h k l combination does or does not exist in a structure prototype. To improve the lattice parameters by newly identified lines, select only one most likely existing line in each group; you may either not select or delete other lines.

Possible problems
The most common cause of unsuccessful indexing is too large deviation of unidentified lines from the calculated position — more than delta × precision. You can either change the delta multiplier in options or, better, set the more appropriate 2th precision in the correction and precision dialog.

Also try to change one or more basic lines to avoid a problems with too large deviation of chosen lines or unlucky choice of dependent indices; slightly decrease the threshold. Besides that, try to increase the limits by h k l and edges, set the primitive cell and change the lattice type to another possible.

7. Errors and troubleshooting

File operation error

File or directory is not found, cannot be opened or is write-protected. More likely you made a mistake typing the name. Another possible reason: you deleted of moved to another place a file which was stored in the recent list; this file will be removed from the list and you need to find it using open the table dialog. Less often you may see this error when you do not have an access to external drive or lack of required permissions. If the file is write-protected and cannot be saved with the same name or in the same place, try to change its name or use another directory or drive in save as dialog.

File already exists

You have chosen the name of the file which already exists. If you want to rewrite it, confirm it in the dialog, otherwise cancel and try to choose another name. Alternatively, you can change a directory or drive and save the file there.

File format error

The file cannot be opened because it is either damaged or its format is not supported by current version of the program. Please check whether the file has the format *.par, *.aid, or the format *.txt, suitable for data import.

Although the files *.par have the conventional UTF-8 text format and these data can be used in the reports, printed materials etc., you should be very careful with editing them manually, because some fields, which define the proper recognition of table data, have the fixed positions. It is highly recommended to make any changes of the data inside the program and not in the external editors like Notepad etc. When opening *.par files by such programs, try to select the read-only mode, or at least do not save them.

No information about wavelength

This file does not contain the information about the wavelength. Most often this may happen when the wavelength is missed in the header of the imported text file, however, some PDF files may also omit this information. Normally such PDF cards are counted incomplete and eventually become marked as deleted.

Your current wavelength has not been changed and was used to calculate 2th or d, depending on primary data in the file. You can keep it or choose another wavelength which corresponds to original data. The most common emission Cu-Ka1 (1.54056 in PDF) may be a reasonable choice. If you imported the interplanar distances or PDF data, then selecting the appropriate emission type from the list is enough, because in such case the exact wavelength value is not so important for parameters calculation.

No information about lattice type

This message means that a file does not contain an information about lattice type of the substance. This may happen, for example, if you opened a very old PDF card. Primitive cubic type is assigned by default to this lattice. As a result, an attempt to calculate the lattice parameters may give wrong results.

You have to select the real lattice type if it is known. Otherwise, try to assign the probable types which can be concluded from existing h k l combinations, then perform the calculation and see how many errors (extremely large deviations) you have in results. Alternatively, you can try to use the indexing procedure.

Insufficient data for calculation

The minimal number of the lines with linearly-independent indices, which are selected for calculation, must not be less than number of lattice parameters in given syngony; for statistical reliability this number should be more than minimal. Try to select more lines or add them to the table.

Indexing requires at least one extra line over the number of lattice parameters. Besides that, for indexing by known h k l the number of known and selected lines should be enough to calculate the parameters.

Precision is calculated

Most of PDF-2 cards, including the theoretically calculated data, have at least 5 digits after the decimal sign in the d values, so the default precision defined in the options is applied to these data. However, some old cards (circa 1950-1980) may have only 3 or 4 meaning digits (the last digits required by the card format are zeroes). If this happens, the program restores the approximate 2th precision basing on the number of meaning digits of d and current wavelength; in such case the default precision is not used. The calculated value is normalised to the nearest value in the standard precision row. If need, you can set 2th precision manually in the correction and precision dialog.

Wavelength is changed

There may be a number of reasons to change current wavelength when the table contains some data. You might read (import) a file without information about wavelength, or you want to see 2th at different emission than in imported card or your previous calculation. You might also skip to set the correct wavelength before input data in the table manually.

In this dialog you need to choose how to recalculate the existing data. If the angles 2th are original, like the data from XRD device, need to calculate new d from 2th; otherwise, if the d values should be counted original, like in PDF cards, need to calculate new 2th from d. You may also Cancel the change and return to previous wavelength.

Changing the wavelength may require to calculate new 2th precisions. If the angles are original, precisions remain unchanged. They also remain the same if the d values are original, but all lines have the same 2th precision equal to default PDF precision in options or the last set 2th precision in the correction and precision dialog. Otherwise the precisions are calculated separately for each line from d and its current precision. As a result, even in the constant input mode they may be different.

In any case, if the new precisions calculated this way are not representative, you can change them in the correction and precision dialog.

Indexing is interrupted

You can Continue the indexing in normal way, or change the indices of the first basic line to the Next h k l combination, or Exit the cycle and show the dialog with the results of indexing. However, take into account that such results may be incomplete, so exit the indexing only if you want to change the settings or correct other mistakes, or if the indexing process takes too long.

Lack of independent lines

The number of lines with linearly-independent indices is less than minimal number required for calculation, which is equal to the number of lattice parameters. More often this may happen at calculation of low-symmetric lattices, especially when the total number of lines is low or when you attempt to unselect too many lines with high deviation.

Try to select more lines for calculation or choose some other lines instead.

No reflections in given 2th range

This error may happen if you attempt to generate reflections by parameters, but you have selected very narrow 2th range or the upper 2th limit is too low. You might also set unusually large wavelength. Try to increase 2th range until the error disappears.

Too few h k l combinations

This error means that the number of h k l combinations generated for the limit by indices in the Settings for indexing dialog is not enough to continue the indexing process. This number should not be less than the number of lattice parameters plus one. Return to the indexing dialog and increase some of h k l limits.

Too many h k l combinations

This error message usually happens at the begin of indexing, but may also occur if you try to generate the reflections of the large cell in large 2th range. It informs about the overflow of the array of possible h k l combinations, which is limited by 4096 in current Win32 version of the program.

In the indexing mode, if a cell centring is primitive, use these estimations: h k l must not exceed (46 46 46) (with multiplicities) for cubic lattice, (15 15 15) for orthorhombic, (12 12 12) for monoclinic, (9 9 9) for triclinic. If a cell is non-primitive, limits can be increased. For shuffle method, decrease one or more maximum values by h, k or l, until the overflow disappears. In the indexing by known h k l method you can keep recommended indices but instead decrease the 2th range, selecting the narrow area around the unidentified lines.

In the generation mode this may happen if the edges are large and the 2th range is very large as well. For example, for cubic lattice, Cu-Ka emission and 2th range 0...179 degrees the maximum edge a is 53 Å. However, the table becomes full at much lesser 2th range 0...40 degrees. For tetragonal lattice the edge limits are approximately 20 Å, for orthorhombic — 15 Å, for monoclinic — 12 Å, for triclinic — 9.5 Å. To prevent this kind of overflow, use a reasonable upper 2th limit or decrease it until this error disappears. You may still see the warning about the table size overflow, but the program will automatically decrease the upper 2th to acceptable value.

Table size overflow

When you perform the generation reflections by parameters, the number of possible h k l combinations for given 2th range exceeds the table size (440 lines), and the program has decreased the upper 2th limit. As a result, all possible reflections beyond this limit are missed. See the last calculated angle at the end of the table and use it as a reference point for another 2th range.

This error may also happen after indexing by known h k l, when added lines with the same 2th but different indices reach the table size. As a result, indices of the next lines after the last properly identified remain partially or completely unknown. It is recommended to save current results, then delete the identified lines (except the last one: keep a single line with 2th and clear its indices). Then you can perform the indexing of remained lines again.

Unsatisfactory quality

Indexing by known h k l begins from calculation of lattice parameters from selected lines with known indices. The quality of calculation directly affects the success of indexing; because of this, the quality should be at least "satisfactory" or better. "Poor" quality means that root mean square deviation is more than 3 × precision, so indexing cannot continue.

First of all, check if the lattice type is correct and the precision is real. Then perform the calculation of lattice parameters and look at the recommendation in details. Try to unselect the lines with too high deviation and select other lines until you get the "satisfactory" quality or better if possible. As a last resort, you can select the minimal set of lines equal to the number of lattice parameters, when estimation of quality is not performed.

No unidentified lines in the table

To perform indexing by known h k l, the lines which indices you want to identify should have the empty h k l field and belong to the same phase as known lines, if the phase is specified. Unselected lines with non-zero indices and 2th angles are counted as known. Please make sure that unidentified lines present in the table; also if the table has more than one phase, move the marker to any line of specified phase.

No lines have been identified

The lattice parameters have been calculated by the lines with known indices h k l, but an attempt to find the indices of any unidentified line was failed. A probable reason is, the real precision of 2th angles is significantly poorer than the precision which is currently set for these lines. Try to change the 2th precision to more realistic value. Otherwise these lines may belong to another phase with different crystal structure or less symmetric cell.


This message means that calculated results do not have a physical sense, e.g. negative values were obtained. More probably it may be because of error in some lines, like wrong indices or angles.

Thoroughly check all data in the table. Also try to unselect some lines and select other ones until this error disappears.

Another cause of this error: the number of linearly-independent indices is less than number of lattice parameters. Add more lines for calculation.

8. References

  1. International Tables for Crystallography. Volume A: Space-group symmetry. Edited by Th. Hahn. Fifth edition, reprint 2005.
    ISBN 978-1-4020-5406-8
  2. ICDD Powder Diffraction File: PDF-2 database.
    PDF search:
  3. Krumm, S. (1994): Winfit - a public domain program for interactive profile-analysis under Windows. - XIIIth Conference on Clay Mineralogy and Petrology, Praha 1994: Acta Universitatis Carolinae Geologica 38 (1994): 253-261.
  4. 1,2 and Kβ1,3 x-ray emission lines of the 3d transition metals. G. Hölzer, M. Fritsch, M. Deutsch, J. Härtwig, and E. Förster. Phys. Rev. A 56, 4554 (1997).
    DOI link:
  5. Accurate lattice constants from multiple reflection measurements. II. Lattice constants of germanium, silicon, and diamond. T. Hom, W. Kiszenik and B. Post. J. Appl. Cryst. (1975). 8, 457-458.
    DOI link:
  6. Downs, R.T. and Hall-Wallace, M. (2003) The American Mineralogist Crystal Structure Database. American Mineralogist 88, 247-250.
    Database search: