v0.3.0
Mrsimulator
mrsimulator
is an open-source python package for computing fast and versatile solid-state NMR simulator of one-dimensional static, MAS, and VAS spectra of nuclei experiencing chemical shift (nuclear shielding) and quadrupolar coupling interactions. The library is optimized for computing both crystalline and amorphous materials and is compatible with modern python packages, such as scikit-learn, Keras, etc. The core of the mrsimulator
library is written in C, wrapped, and made available in python.
What's new!
- ⭐ Improved simulation performance. ⭐.
- Removed the
Dimension
class and added a newMethod
class instead. - New methods for simulating the NMR spectrum:
BlochDecaySpectrum
andBlochDecayCentralTransitionSpectrum
.
The Bloch decay spectrum method simulates all p=Δm=-1 transition pathways, while the Bloch decay central transition selective spectrum method simulates all transition pathways with p=Δm=-1 and d=0.
- New
Isotope
,Transition
, andZeemanState
classes. - Every class now includes a
reduced_dict()
method. The reduced_dict method returns a dictionary with minimal key-value pairs required to simulate the spectrum. Note, this may cause metadata loss, if any. - Added a
label
anddescription
attributes to theSite
class. - Added a new
label
attribute to theSpinSystem
class. - New
SignalProcessor
class for post-simulation signal processing. - Improved usage of least-squares minimization using python LMFIT package.
- Added a new
get_spectral_dimensions
utility function to extract the spectral dimensions information from the CSDM object.
Bug fixes
- Fixed bug resulting from the rotation of the fourth rank tensor with non-zero euler angles.
- Fixed bug causing a change in the spectral area as the sampling points change. Now the area is constant.
- Fixed bug resulting in an incorrect spectrum when non-coincidental quad and shielding tensors are given.
- Fixed bug causing incorrect generation of transition pathways when multiple events are present.
Other changes
- Renamed the
decompose
attribute from theConfigSimulator
class todecompose_spectrum
. The attribute is an enumeration with the following literals:none
: Computes a spectrum which is an integration of the spectra from all spin systems.spin_system
: Computes a series of spectra each corresponding to a single spin system.
- Renamed
Isotopomer
class toSpinSystem
. - Renamed
isotopomers
attribute fromSimulator
class tospin_systems
. - Renamed
dimensions
attribute fromSimulator
class tomethods
. - Changed the default value of
name
anddescription
attribute from theSpinSystem
class from""
toNone
.