\(\renewcommand\AA{\unicode{x212B}}\)

RefineSingleCrystalGoniometer v1

Summary

Refines the UB-matrix and goniometer offsets simultaneously.This improves the indexing of the peaks for those cases when there is sample misorientation.

Properties

Name

Direction

Type

Default

Description

Peaks

Input

PeaksWorkspace

Mandatory

The PeaksWorkspace to be refined.

Tolerance

Input

number

0.12

The tolerance used in IndexPeaks.

Cell

Input

string

Triclinic

The cell type to optimize. Must be one of: {Fixed, Cubic, Rhombohedral, Tetragonal,Hexagonal, Orthorhombic, Monoclinic, Triclinic}. Allowed values: [‘Fixed’, ‘Cubic’, ‘Rhombohedral’, ‘Tetragonal’, ‘Hexagonal’, ‘Orthorhombic’, ‘Monoclinic’, ‘Triclinic’]

NumIterations

Input

number

1

The number of IndexPeaks iterations.

Description

The purpose of this algorithm is to improve the indexing of peaks in special cases where FindUBUsingIndexedPeaks does not index all peaks due to sample misorientation.

The example below demonstrates a case where FindUBUsingIndexedPeaks is insufficient:

from mantid.simpleapi import *
import matplotlib.pyplot as plt
import numpy as np

from scipy.spatial.transform import Rotation
import scipy.optimize

filename = '/SNS/TOPAZ/IPTS-33878/shared/RFMBA2PbI4/RFMBA2PbI4_mantid_295K_find_peaks/RFMBA2PbI4_Monoclinic_P_5sig.integrate'
LoadIsawPeaks(Filename=filename, OutputWorkspace='peaks')

FindUBUsingIndexedPeaks(PeaksWorkspace='peaks', Tolerance=0.12)
IndexPeaks(PeaksWorkspace='peaks', Tolerance=0.12)

This code will only index about half of the peaks.

The solution is to use this algorithm that refines the UB-matrix and goniometer offsets simultaneously.

from mantid.simpleapi import mtd, RefineSingleCrystalGoniometer, LoadIsawPeaks, FindUBUsingIndexedPeaks, IndexPeaks

filename = "/SNS/TOPAZ/IPTS-33878/shared/RFMBA2PbI4/RFMBA2PbI4_mantid_295K_find_peaks/RFMBA2PbI4_Monoclinic_P_5sig.integrate"

LoadIsawPeaks(Filename=filename, OutputWorkspace="peaks")
FindUBUsingIndexedPeaks(PeaksWorkspace="peaks")
IndexPeaks(PeaksWorkspace="peaks", CommonUBForAll=True)

RefineSingleCrystalGoniometer("peaks", tol=0.25, cell="Monoclinic", n_iter=5)
IndexPeaks(PeaksWorkspace="peaks", CommonUBForAll=True)

This will result in a better indexing of the peaks.

Categories: AlgorithmIndex | Crystal\Fitting

Source

Python: RefineSingleCrystalGoniometer.py