Abins v1

../_images/Abins-v1_dlg.png

Abins dialog.

Credits

Author:
Krzysztof Dymkowski
Contributors:
Sanghamitra Mukhopadhyay, Elliot Oram, Leonardo Bernasconi, Leandro Liborio

Summary

Calculates inelastic neutron scattering.

Properties

Name Direction Type Default Description
AbInitioProgram Input string CASTEP An ab initio program which was used for vibrational or phonon calculation. Allowed values: [‘CASTEP’, ‘CRYSTAL’, ‘DMOL3’, ‘GAUSSIAN’]
VibrationalOrPhononFile Input string Mandatory File with the data from a vibrational or phonon calculation. Allowed values: [‘phonon’, ‘out’, ‘outmol’, ‘log’]
ExperimentalFile Input string   File with the experimental inelastic spectrum to compare. Allowed values: [‘raw’, ‘dat’]
TemperatureInKelvin Input number 10 Temperature in K for which dynamical structure factor S should be calculated.
BinWidthInWavenumber Input number 1 Width of bins used during rebining.
Scale Input number 1 Scale the intensity by the given factor. Default is no scaling.
SampleForm Input string Powder Form of the sample: Powder. Allowed values: [‘Powder’]
Instrument Input string TOSCA Name of an instrument for which analysis should be performed. Allowed values: [‘TOSCA’]
Atoms Input str list   List of atoms to use to calculate partial S.If left blank, workspaces with S for all types of atoms will be calculated.
SumContributions Input boolean False Sum the partial dynamical structure factors into a single workspace.
ScaleByCrossSection Input string Incoherent Scale the partial dynamical structure factors by the scattering cross section. Allowed values: [‘Total’, ‘Incoherent’, ‘Coherent’]
QuantumOrderEventsNumber Input string 1 Number of quantum order effects included in the calculation (1 -> FUNDAMENTALS, 2-> first overtone + FUNDAMENTALS + 2nd order combinations, 3-> FUNDAMENTALS + first overtone + second overtone + 2nd order combinations + 3rd order combinations etc...). Allowed values: [‘1’, ‘2’, ‘3’, ‘4’]
OutputWorkspace Output Workspace Mandatory Name to give the output workspace.

Description

Abins is a plugin for Mantid which allows scientists to compare experimental and theoretical inelastic neutron scattering spectra (INS).

Abins requires a file with the ab-initio phonon data to perform INS analysis. Currently output data from CASTEP (.phonon) and CRYSTAL (.out) DFT programs can be used to perform analysis. Optionally a user can provide an experimental file with measured dynamical structure factor S in order to directly compare theoretical and experimental spectra. A user can produce one dimensional INS spectrum which can be compared against TOSCA and TOSCA-like instruments.

After successfully performed analysis a user obtains a group workspace which stores theoretical and optionally experimental spectra. Currently a user can produce theoretical spectrum for the given type of atom (for example for benzene two types of atoms: C, H) and for each quantum event (up to fourth order). A user can produce a total theoretical spectrum for the given atom which is a sum over all considered quantum events for that atom. A user can also produce a total spectrum for the whole considered system. Dynamical structure factor S is calculated for all atoms in the system. If needed a user can also include in a simulation elevated temperature.

A description about the implemented working equations can be found here.

Abins is in constant development and suggestions how to make it better are very welcome. For any suggestions of enhancements please contact Dr. Sanghamitra Mukhopadhyay (sanghamitra.mukhopadhyay@stfc.ac.uk).

If Abins is used as part of your data analysis routines, please cite the relevant reference [1].

Usage

Note

To run these usage examples please first download the usage data, and add these to your path. In MantidPlot this is done using Manage User Directories.

Example - loading CASTEP phonon data:

benzene_wrk = Abins(AbInitioProgram="CASTEP", VibrationalOrPhononFile="benzene.phonon",
                    QuantumOrderEventsNumber="1")


for name in benzene_wrk.getNames():
    print(name)

Output:

benzene_wrk_C_total
benzene_wrk_C
benzene_wrk_H_total
benzene_wrk_H

Example - loading CRYSTAL phonon data:

wrk=Abins(AbInitioProgram="CRYSTAL", VibrationalOrPhononFile="b3lyp.out", QuantumOrderEventsNumber="1")

for name in wrk.getNames():
    print(name)

Output:

wrk_C_total
wrk_C
wrk_H_total
wrk_H
wrk_N_total
wrk_N
wrk_Na_total
wrk_Na
wrk_O_total
wrk_O

Example - calling AbINS with more arguments:

wrk_verbose=Abins(AbInitioProgram="CASTEP", VibrationalOrPhononFile="benzene.phonon",
                  ExperimentalFile="benzene_experimental.dat",
                  TemperatureInKelvin=10, BinWidthInWavenumber=1.0, SampleForm="Powder", Instrument="TOSCA",
                  Atoms="H", SumContributions=True, QuantumOrderEventsNumber="1", ScaleByCrossSection="Incoherent")

for name in wrk_verbose.getNames():
    print(name)

Output:

experimental_wrk
wrk_verbose_total
wrk_verbose_H_total
wrk_verbose_H

Categories: Algorithms | Simulation

Source

Python: Abins.py (last modified: 2017-10-24)

References

[1]
  1. Dymkowski, S. F. Parker, F. Fernandez-Alonso and S. Mukhopadhyay, “AbINS: The modern software for INS interpretation” , Physica B, doi:10.1016/j.physb.2018.02.034 (2018).