Abstract

The stochastic hyperfine interactions modeling library (SHIML) provides a set of routines to assist in the development and application of stochastic models of hyperfine interactions. The library provides routines written in the C programming language that (1) read a text description of a model for fluctuating hyperfine fields, (2) set up the Blume matrix, upon which the evolution operator of the system depends, and (3) find the eigenvalues and eigenvectors of the Blume matrix so that theoretical spectra of experimental techniques that measure hyperfine interactions can be calculated. The optimized vector and matrix operations of the BLAS and LAPACK libraries are utilized. The original version of SHIML constructed and solved Blume matrices for methods that measure hyperfine interactions of nuclear probes in a single spin state. Version 2 provides additional support for methods that measure interactions on two different spin states such as Mössbauer spectroscopy and nuclear resonant scattering of synchrotron radiation. Example codes are provided to illustrate the use of SHIML to (1) generate perturbed angular correlation spectra for the special case of polycrystalline samples when anisotropy terms of higher order than A22 can be neglected and (2) generate Mössbauer spectra for polycrystalline samples for pure dipole or pure quadrupole transitions. New version program summaryProgram title: SHIMLCatalogue identifier: AEIF_v2_0Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AEIF_v2_0.htmlProgram obtainable from: CPC Program Library, Queen’s University, Belfast, N. IrelandLicensing provisions: GNU General Public License version 3 with supplemental citation provisionNo. of lines in distributed program, including test data, etc.: 88510No. of bytes in distributed program, including test data, etc.: 3311047Distribution format: tar.gzProgramming language: C.Computer: Any.Operating system: LINUX, OS X.RAM: VariableCatalogue identifier of previous version: AEIF_v1_0Journal reference of previous version: Comput. Phys. Comm. 182(2011)1061Classification: 7.4.External routines: TAPP [1], BLAS [2], a C-interface to BLAS [3], and LAPACK [4]. Additionally, GSL [3] is needed to compile the example code that simulates Mössbauer spectra.Does the new version supersede the previous version?: NoNature of problem: In condensed matter systems, hyperfine methods such as nuclear magnetic resonance (NMR), Mössbauer effect (ME), muon spin rotation (μSR), and perturbed angular correlation spectroscopy (PAC) measure electromagnetic fields due to electronic and magnetic structure within Angstroms of nuclear probes through the hyperfine interaction. When interactions fluctuate at rates comparable to the time scale of a hyperfine method, there is a loss in signal coherence, and spectra in the time domain are damped while spectra in the frequency domain are broadened. The degree of damping or broadening can be used to determine fluctuation rates, provided that theoretical expressions for spectra can be derived for relevant physical models of the fluctuations. SHIML provides routines to help researchers quickly develop code to incorporate stochastic models of fluctuating hyperfine interactions in calculations of hyperfine spectra.Solution method: Calculations are based on the method for modeling stochastic hyperfine interactions for PAC by Winkler and Gerdau [5]. The method is extended to include other hyperfine methods following the work of Dattagupta [6]. The code provides routines for reading model information from text files, allowing researchers to develop new models quickly without the need to modify computer code for each new model to be considered.Reasons for new version: The original version of the library provided support only for those methods that measure hyperfine interactions on one spin state of the nuclear probe. As such, it excluded important hyperfine methods that measure the interactions on two spin states such as Mössbauer spectroscopy and nuclear resonant scattering of synchrotron radiation. The present version of SHIML provides the necessary support for such double spin-state methods while maintaining backward compatibility for code already developed using the original version.Summary of revisions: Routines now check that values representing nuclear spins are positive integers or positive half-integers. Additional utility functions are provided to make it easier for code developers to calculate Hamiltonians of electric quadrupole interactions. A correction was made to the portion of code responsible for calculating the Blume matrix of single spin-state methods; however, this change will not alter results obtained from single spin-state simulations using version 1 of the library. The remaining revisions support calculations for double spin-state methods. (1) Model-file syntax is expanded in order to allow users to specify different hyperfine interactions for ground and excited spin states and to input isomer shifts. (2) New routines for initialization and for Blume-matrix calculations are included for the double spin-state case. (3) New example code is provided to illustrate how SHIML can be used to simulate Mössbauer spectra of polycrystalline samples for pure dipole or pure quadrupole transitions; background information about the Mössbauer examples can be found in Ref. [7]. Finally, updated software documentation is included in a User’s Guide as a PDF file in the code distribution.Running time: Variable

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call