k-vector searching in GSAS-II

This tutorial was built from the presentation by Keith Taddei at the MagStr Workshop for magnetic structure solution. The data associated with the tutorial has been published in K. Taddei, et al. Phys. Rev. Mater., 3, 014405 (2019)

Intro

In this tutorial, I will be using the neutron diffraction data of Er2Ge2O7 possessing a pyrogermanate lattice to demonstrate the k-vector search functionality in GSAS-II. The paramagnetic phase possesses a nuclear structure with the space group of P41212, as shown in the picture below.

nuclear structure

The magnetic transition happens around 1.2 K, as shown by the sequence of diffraction patterns and the measured order parameter, seen below.

order parameter plot

Here I will be using the neutron diffraction patterns measured at two temperature points for the demo – one above (at 2 K) the transition temperature and one below (at 0.5 K). I will start with the 2 K data to refine the nuclear structure, which will be used as the starting point for the 0.5 K data. This tutorial will not fit the magnetic structure, as the goal of this tutorial is to demonstrate a k-vector search with the 0.5 K data.

Read Paramagnetic data


Main window with data loaded

Graphics window with data loaded

The GSAS-II graphics window should now look like the figure to the right.

Read Magnetic dataset

Next, we need to exclude certain regions in the data – they either come from the direct beam contamination (the very low angle part), or specifically in this example data, the diffraction peaks corresponding to the aluminum container used for holding the sample. For the direct beam contamination part, we can load in the 0.5 K data and overlay the data from the two temperature points for a direct comparison. The goal is to exclude the low angle contaminated part without influencing the regions a real signal might be seen.


Main window with two data sets

In the 0.5 K data, we expect some extra peaks in the low angle part corresponding to the magnetic structure and we want to set the upper limit for the low angle signal exclusion to the lower bound where we stop seeing magnetic signal in the 0.5 K data. To do this, let’s import the 0.5 K data into current project.


Graphics window with two data sets displayed

The two patterns will then be presented in a single plot for comparison, as seen to the right.

Exclude Unneeded & Spurious Data

In the plot window, we can click on the magnify glass to go to the zoom mode and zoom in the low angle region. We can see that the magnetic peaks in the 0.5 K data start to appear around 10° 2𝛳. So, for the low-angle region exclusion, 8° can be used as the upper limit safely.

Next, we need to worry about the exclusion of the aluminum peaks from the container used to hold the sample. We will create an excluded region around each of the three Al peaks. This is done using Edit Limits/Add excluded region from the menu and then in the plot window click on a data point near the aluminum peak. The first Al peak is around 60° 2𝛳. To see this more clearly, and we can zoom in to the relevant region, but note we need to deactivate zoom before we can click on a data point.

add exclude region

Note that the excluded region (between the two magenta lines) is too small. We can either use the mouse to drag the dashed lines in the plot window to adjust the region to exclude or edit the excluded region lower and upper limits in the GSAS-II main window.

Repeating this for the other two Al peaks:

It is also possible to fit the Al peaks as a second phase, but these peaks are usually from a highly textured material and a LeBail or Pawley intensity extraction would be needed for a good intensity match. Here we will just use exclusion of data.

Load structural information & inital refinement

Next, we need to load in the initial structure configuration file.

Now we are ready to begin parameter optimization, which we can start with fitting the background.

The initial refinement will fit the five background terms and the scale factor (where the refine flag was on by default). The weighted profile R-factor (Rw, sometimes called Rwp) will be ~9 and the reduced χ2 will be ~7.5.


Select Unit Cell Refinement

The next step would be to fit a potential offset to the data. Traditionally this was done by fitting a zero shift, should the detector bank be inaccurately aligned, but the more common problem is that the sample position is not in the exact center of the diffraction circle.


Initial fit of scale, background, cell & sample displacement

Note that these data do not extend to high enough angle to vary the second sample displacement parameter; data to perhaps 150° 2𝛳 would be needed. To vary the detector zero correction, you would use Zero in theInstrument Parameters data histogram entry but this should not be used with the sample displacement parameter. Choose one of the two and usually the Sample X is preferred.

The windows should appear as to the right; at this stage, the fitting is already a pretty good match to the experimental data.

Fit the atomic structure


Setting atom refinement flags

Next, we will refine the atomic positions and the suggestion would be to start with those atoms with high multiplicity and scattering strength to keep the refinement stable. This is done by setting the X in the refine column, indicating the atomic position will be refined.

Note that here we are not refining the atomic displacement parameter, Uiso, (i.e., setting the U or XU refinement flag) as these data are at very low temperature; we do not have very high Q needed to determine the Uiso value.

We now have a good model for the nuclear scattering (chemical structure) for this phase. We would not expect the atom positions to change when the magnetic spins align at the lower structure. We will use this result as the starting point to fit the 0.5 K dataset.

Create project with 0.5 K dataset

Now, we can start a new project to work on the 0.5 K data. Note that the focus of this tutorial is on the k-vector search process and not on the magnetic structure refinement.


Initial fit of 0.5 K dataset without a magnetic phase

Find the magnetic scattering peaks

Note that this relatively poor fit (Rp=35.5) is expected since we are not generating any of the very substantial magnetic scattering intensity, but this is sufficient for the purpose of determining the k-vector for the magnetic cell. This will be done using the Extra Peak mode in the Peak List fitting, where additional intensity is added to the existing fit.


Extra Peak mode display

Zoomed low angle region with initial peak picking

Then we want to add peaks that have significant magnetic intensity. This is done by adding peaks to the peak list and then fitting them to find accurate positions. The fitting can account for low angle peak asymmetry or when a peak is on the shoulder of another and thus the peak maximum does represent the actual peak position.

Next we add four peaks at the four intense low angle reflections that do not appear in the pattern collected above the transition temperature:

The plot window will appear as to the right and the main window will appear as below.

extra peaks

Peak fitting

To optimize the peak positions, we first refine the intensities for all four reflections. Note that the Refine flag for the peaks have already been selected by default.

Note that the peak widths are generated from the peak width parameters in the Instrument Paramneters read from the Instrument Parameters file. These do a good job of fitting the peaks. Were that not true we could refine the sigma2 (Gaussian) or gamma (Lorentzian) widths.

We now use the unit cell from the Er2Ge2O7 phase and the four peak positions that have been fit to search for a magnetic unit cell using commands in the Unit Cells List data tree item.


The Unit Cells List window

Note the options for the k-vector search that are available. By varying the search step, the tolerance and the search over high symmetry points, lines or general positions the search can be optimized. The tolerance option controls the threshold for determining the optimal k-vector found – if a certain k-vector yields a mismatch (indicated by δd/d) smaller than the threshold, it will be regarded as the optimal k-vector and the search will be terminated. If the tolerance is specified as 0, this means an exhaustive search will be performed and those top options of the k-vector will be listed. In the case of HighSymPts option, the search will be performed over only those high symmetry points; such a search should be done in a short amount of time.

extra peaks

We can then examine how each of the identified k-vectors matches the observed magnetic reflections by clicking on the show checkbox in the row with the k-vector. When a k-vector is selected, the reflection positions generated by that cell are shown with vertical dashed orange lines

Now that the k-vector has been located that generates a unit cell for the magnetic lattice it is possible to examine the potential magnetic space groups. This can be done with the Bilbao k-SUBGROUPSMAG website. The tutorials Magnetic Structure Analysis-I, Magnetic Structure Analysis-II, Magnetic Structure Analysis-III, Magnetic Structure Analysis-IV, and Magnetic Structure Analysis-V show how this is interfaced into GSAS-II.


Yuanpeng Zhang & Brian Toby
January 15, 2025