SimulatedDensityOfStates v1


SimulatedDensityOfStates dialog.


Calculates phonon densities of states, Raman and IR spectrum.


Name Direction Type Default Description
CASTEPFile Input string   Filename of the CASTEP file. Allowed values: [‘castep’]
PHONONFile Input string   Filename of the PHONON file. Allowed values: [‘phonon’]
ForceConstantsFile Input string   Allowed extensions: [‘.castep_bin’, ‘.json’, ‘.yaml’]
ForceConstantsSampling Input number 20 Real-space cutoff in Angstrom for Brillouin zone sampling.
Function Input string Gaussian Type of function to fit to peaks. Allowed values: [‘Gaussian’, ‘Lorentzian’]
PeakWidth Input string 10.0 Set Gaussian/Lorentzian FWHM for broadening. Default is 10
SpectrumType Input string DOS Type of intensities to extract and model (fundamentals-only) from .phonon. Allowed values: [‘IonTable’, ‘DOS’, ‘IR_Active’, ‘Raman_Active’, ‘BondTable’]
CalculateIonIndices Input boolean False Calculates the individual index of all Ions in the simulated data.
StickHeight Input number 0.01 Intensity of peaks in stick diagram.
Scale Input number 1 Scale the intesity by the given factor. Default is no scaling.
BinWidth Input number 1 Set histogram resolution for binning (eV or cm**-1). Default is 1
Temperature Input number 300 Temperature to use (in raman spectrum modelling). Default is 300
ZeroThreshold Input number 3 Ignore frequencies below the this threshold. Default is 3.0
Ions Input str list   List of Ions to use to calculate partial density of states.If left blank, total density of states will be calculated
SumContributions Input boolean False Sum the partial density of states into a single workspace.
ScaleByCrossSection Input string None Sum the partial density of states by the scattering cross section. Allowed values: [‘None’, ‘Total’, ‘Incoherent’, ‘Coherent’]
OutputWorkspace Output Workspace Mandatory Name to give the output workspace.


Calculates phonon densities of states, Raman and IR spectrum from the output of CASTEP code obtained in the form of .phonon and .castep files.

The PeakWidth property may be passed a function containing the variable “energy” (e.g. 0.1*energy) to set the FWHM of the peak as a function of the energy (centre point of the peak). This can be useful for comparison with experimental data by allowing the peak width to change according to the resolution of the instrument.

If the IonTable spectrum type is used then the output workspace will be a table workspace containing each ion that is present in a .phonon file.

If the BondTable spectrum type is used then the output workspace will be a table workspace containing details of the bonds defined in the .castep file.



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

Example - loading data from phonon & castep files:

# Loading the same data from a castep and phonon file
phonon_ws = SimulatedDensityOfStates(PHONONFile='squaricn.phonon')
castep_ws = SimulatedDensityOfStates(CASTEPFile='squaricn.castep')
result = CompareWorkspaces(phonon_ws, castep_ws)




Example - loading partial contributions of ions:

squaricn = SimulatedDensityOfStates(PHONONFile='squaricn.phonon',
                                    Ions=['H', 'C', 'O'])

for name in squaricn.getNames():



Example - loading summed partial contributions of ions:

sum_ws = SimulatedDensityOfStates(PHONONFile='squaricn.phonon',
                                  Ions=['H', 'C', 'O'],
total_ws = SimulatedDensityOfStates(PHONONFile='squaricn.phonon')

print(CompareWorkspaces(total_ws, sum_ws, Tolerance=1e-12)[0])



Example - Getting the list of ions in a phonon file:

ion_ws = SimulatedDensityOfStates(PHONONFile='squaricn.phonon',
print(', '.join(ion_ws.column('Species')))


H, H, H, H, C, C, C, C, C, C, C, C, O, O, O, O, O, O, O, O

Categories: AlgorithmIndex | Simulation