Welcome to the Mrsimulator documentation


PyPI version PyPI - Python Version

Build Status

Travis (.org) GitHub Workflow Status Documentation Status




Language grade: Python https://codecov.io/gh/DeepanshS/mrsimulator/branch/master/graph/badge.svg Total alerts CodeFactor


GitHub contributors GitHub issues




mrsimulator is an open-source python package for fast simulation and analysis of multi-dimensional solid-state magnetic resonance (NMR) spectra of crystalline materials, bio macro-molecules, and even amorphous materials. Simulate the NMR spectrum of macro-molecules or amorphous in just a few seconds.

View our example gallery

https://img.shields.io/badge/View-Simulation%20Examples-Purple?s=small https://img.shields.io/badge/View-Fitting%20Examples-Purple?s=small

Why use mrsimulator?

  • It is open-source and free.

  • It is a fast and versatile multi-dimensional solid-state NMR spectra simulator including, MAS and VAS spectra of nuclei experiencing chemical shift (nuclear shielding) and quadrupolar coupling interactions.

  • Future release will include simulations of weakly coupled nuclei experiencing J and dipolar couplings, and multi-dimensional NMR spectra.

  • It is fully documented with a stable and simple API and is easily incorporated into your python scripts and web apps.

  • It is compatible with modern python packages, such as scikit-learn, Keras, etc.

  • Packages using mrsimulator -


The mrsimulator package currently offers the following

  • Fast simulation of one-dimensional solid-state NMR spectra. See our Benchmark results.

  • Simulation of uncoupled spin system
    • for spin \(I=\frac{1}{2}\), and quadrupole \(I \ge \frac{1}{2}\) nuclei,

    • at arbitrary macroscopic magnetic flux density,

    • at arbitrary rotor angles, and

    • at arbitrary spinning frequency.

  • The library includes the following NMR methods,
    • 1D Bloch decay spectrum, and

    • 1D Bloch decay central transition spectrum.

    • 2D Multi-quantum Variable Angle Spinning (MQ-VAS),

    • 2D Satellite-transition Variable Angle Spinning (ST-VAS), and

    • 2D Dynamic Angle Spinning (DAS),

    • 2D isotropic/anisotropic sideband correlation spectrum (e.g. PASS and MAT), and

    • 2D Magic Angle Flipping (MAF).

  • Models for tensor parameter distribution in amorphous materials.
    • Czjzek

    • Extendend Czjzek

Goals for the near future

Our current objectives are the following

  • Include spectral simulation of coupled spin systems.


The package is currently under development. We advice using with caution. Bug report are greatly appreciated.

Signal Processing (mrsimulator.SignalProcessor)

Project details

Reporting Bugs

The preferred location for submitting feature requests and bug reports is the Github issue tracker. Reports are also welcomed on the mrsimulator mailing list or by directly contacting Deepansh Srivastava.