\(\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