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

MSDFit v1

Summary

Fits Intensity vs Q for 3 models to obtain the mean squared displacement.

Properties

Name

Direction

Type

Default

Description

InputWorkspace

Input

MatrixWorkspace

Mandatory

Sample input workspace

Model

Input

string

Gauss

Model options : Gauss, Peters, Yi. Allowed values: [‘Gauss’, ‘Peters’, ‘Yi’]

XStart

Input

number

0

Start of fitting range

XEnd

Input

number

0

End of fitting range

SpecMin

Input

number

0

Start of spectra range to be fit

SpecMax

Input

number

0

End of spectra range to be fit

OutputWorkspace

Output

MatrixWorkspace

Mandatory

Output mean squared displacement

ParameterWorkspace

Output

TableWorkspace

Output fit parameters table

FitWorkspaces

Output

WorkspaceGroup

Output fitted workspaces

Description

Fits \(intensity\) vs \(Q\) with a straight line for each run to obtain the mean square displacement for a given range of runs.

This algorithm operates on the \(Q\) workspace (_eq) generated by the ElasticWindowMultiple algorithm.

The model used for obtaining the mean squared displacement can be selected. These models include ‘Gaussian’, ‘Peters’, ‘Yi’.

Workflow

../_images/MSDFit-v1_wkflw.svg

Usage

Example - Performing MSDFit on simulated data.

# Create some data that is similar to the output of ElasticWindowMultiple
sample = CreateSampleWorkspace(Function='User Defined',
                UserDefinedFunction='name=ExpDecay,Height=1,Lifetime=6',
                NumBanks=1, BankPixelWidth=1, XUnit='momentum', XMin=0.0,
                XMax=5.0, BinWidth=0.1)

g_msd, g_param, g_fit = MSDFit(InputWorkspace=sample,
                               Model="Gauss",
                               XStart=0.0, XEnd=5.0,
                               SpecMin=0, SpecMax=0)

y_msd, y_param, y_fit = MSDFit(InputWorkspace=sample,
                               Model="Yi",
                               XStart=0.0, XEnd=5.0,
                               SpecMin=0, SpecMax=0)

print('Using Gauss Model')
print('A0: ' + str(g_msd.readY(0)))
print('A1: ' + str(g_msd.readY(1)))
print('Using Yi Model')
print('A0: ' + str(y_msd.readY(0)))
print('A1: ' + str(y_msd.readY(1)))

Output (the numbers on your machine my not match exactly):

  Using Gauss Model
  A0: [ ...]
  A1: [ ...]
  Using Yi Model
  A0: [ ...]
  A1: [ ...]

Categories: AlgorithmIndex | Workflow\MIDAS

Source

Python: MSDFit.py