FindUBUsingMinMaxD v1

../_images/FindUBUsingMinMaxD-v1_dlg.png

FindUBUsingMinMaxD dialog.

Warning

FindUBUsingMinMaxD is deprecated (on 2013-06-03). Use FindUBUsingFFT instead.

Summary

Calculate the UB matrix from a peaks workspace, given min(a,b,c) and max(a,b,c).

Properties

Name Direction Type Default Description
PeaksWorkspace InOut PeaksWorkspace Mandatory Input Peaks Workspace
MinD Input number Mandatory Lower Bound on Lattice Parameters a, b, c
MaxD Input number Mandatory Upper Bound on Lattice Parameters a, b, c
NumInitial Input number 20 Number of Peaks to Use on First Pass(20)
Tolerance Input number 0.15 Indexing Tolerance (0.15)

Description

Given a set of peaks, and given a range of possible a,b,c values, this algorithm will attempt to find a UB matrix, corresponding to the Niggli reduced cell, that fits the data. The algorithm searches over a range of possible directions and unit cell lengths for directions and lengths that match plane normals and plane spacings in reciprocal space. It then chooses three of these vectors with the shortest lengths that are linearly independent and that are separated by at least a minimum angle. An initial UB matrix is formed using these three vectors and the resulting UB matrix is optimized using a least squares method. Finally, starting from this matrix, a matrix corresponding to the Niggli reduced cell is calculated and returned as the UB matrix. If the specified peaks are accurate and belong to a single crystal, this method should produce some UB matrix that indexes the peaks. However, other software will usually be needed to adjust this UB to match a desired conventional cell.

Usage

Example:

ws=LoadIsawPeaks("TOPAZ_3007.peaks")
print("After LoadIsawPeaks does the workspace have an orientedLattice: %s" % ws.sample().hasOrientedLattice())

FindUBUsingMinMaxD(ws,MinD=8.0,MaxD=13.0)
print("After FindUBUsingMinMaxD does the workspace have an orientedLattice: %s" % ws.sample().hasOrientedLattice())

print(ws.sample().getOrientedLattice().getUB())

Output:

After LoadIsawPeaks does the workspace have an orientedLattice: False
After FindUBUsingMinMaxD does the workspace have an orientedLattice: True
[[ 0.01223576  0.00480107  0.08604016]
 [-0.11654506  0.00178069 -0.00458823]
 [-0.02737294 -0.08973552 -0.02525994]]

Categories: AlgorithmIndex | Crystal\UBMatrix | Deprecated

Source

C++ source: FindUBUsingMinMaxD.cpp (last modified: 2019-06-05)

C++ header: FindUBUsingMinMaxD.h (last modified: 2018-10-05)