Recent Releases of mrsimulator

mrsimulator - v1.0

What's new

Features

  • New feature supporting 2D sideband-sideband correlation simulations.
  • New feature supporting user defined two-angle orientations for powder averaging, with added support of ASG triangular mesh integration.
  • Support for gamma angle averaging. sim.config now holds a new number_of_gamma_angles attribute.
  • Adds a new is_complex attribute to the ConfigSimulator class. Default value is True. When False, only the real part of the spectral is simulated. It provides a faster computation speed for simulations where imaginary part is always zero.
  • Support for quadrupolar-shielding cross frequency interactions. freq_contrib includes new Quad_Shielding_cross_0, Quad_Shielding_cross_2, Quad_Shielding_cross_4 literals.
  • Support for user-defined isotopes using the Isotope.register() method. See the simulation gallery for use cases and examples.
  • Shortcuts for frequency contributions, such as Shielding, Isotropic, and cross. Sets of contributions can also be excluded by placing an exclamation mark in front of the string, for example "!Shielding" excludes shielding interactions.
  • New functions for fitting Czjzek and Extended Czjzek tensor distribution models to experimental spectra. See the examples gallery for more information.
  • A new DelayEvent added to the events library.
  • A collection of utility functions for converting Cartesian tensor to Haeberlen, Mehring, and Maryland conventions and vice-versa.
  • Support for python 3.11, 3.12, and 3.13

Simulator

  • New instance method for the Simulator class -- .optimize() -- which pre-computes transition pathways before least-squares minimization. This improves the efficiency of least-squares minimization.

Czjzek and Extended Czjzek

  • The Czjzek model now uses an analytical expression for calculating the probability distribution greatly improving quality and calculation speed.

Bug Fixes

  • Fixed bug where MixingEnum class had no attribute json (Issue #260)
  • Fixed 0Hz crash issue in apodization.
  • Fix bug related to pydantic v2.0 validation.
  • Fix latex build error in pdf docs.
  • Fixed the bug where the csdm object origin offset was incorrectly set. The origin offset is now w_ref.
  • Fix bug when calculating ppm scale for large reference offsets.

Additional updates

  • Dropped support for python 3.7, 3.8, and 3.9 because they reached the end of their lifetime.

What's Changed

  • Post-release updates by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/218
  • djs/Gamma orientation averaging by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/175
  • STMAS pathway fix by @pjgrandinetti in https://github.com/deepanshs/mrsimulator/pull/229
  • Bump codecov/codecov-action from 3.1.0 to 3.1.1 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/233
  • djs/Linux build error fix by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/236
  • Add check for experimental data by @mgiammar in https://github.com/deepanshs/mrsimulator/pull/234
  • Skip docs/introduction/fitting_example.rst test by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/239
  • djs/fix missing and outdated links by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/237
  • Update pre-commit .yaml file by @mgiammar in https://github.com/deepanshs/mrsimulator/pull/235
  • djs/Setup cleanup by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/241
  • Add rotation function for tensors and parent objects by @mgiammar in https://github.com/deepanshs/mrsimulator/pull/238
  • Windows bug fix by @mgiammar in https://github.com/deepanshs/mrsimulator/pull/247
  • Allow np.inf for 2D named methods by @mgiammar in https://github.com/deepanshs/mrsimulator/pull/231
  • djs/Fix large reference offset issue by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/248
  • Bump codecov/codecov-action from 3.1.1 to 3.1.3 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/246
  • Pre-compute pathways for fitting by @mgiammar in https://github.com/deepanshs/mrsimulator/pull/242
  • Store spin_multiplicity instead of spin for all Isotopes by @mgiammar in https://github.com/deepanshs/mrsimulator/pull/252
  • Quadrupolar cross-term interactions. by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/221
  • djs/test binaries build by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/254
  • Bump codecov/codecov-action from 3.1.3 to 3.1.4 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/251
  • Exclude zero weight pathways by @mgiammar in https://github.com/deepanshs/mrsimulator/pull/255
  • Convert spectral dimension to periodic dimension by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/261
  • djs/Tests for 1st order quad. by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/259
  • Simplify Frequency Contributions by @mgiammar in https://github.com/deepanshs/mrsimulator/pull/262
  • Update documentation by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/266
  • Implement custom isotope as lookup table by @mgiammar in https://github.com/deepanshs/mrsimulator/pull/257
  • Implement DelayEvent objects by @mgiammar in https://github.com/deepanshs/mrsimulator/pull/253
  • djs/Fix latexpdf builds by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/276
  • djs/w_ref is the origin offset by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/274
  • djs/Update readme files links by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/277
  • Undo skip test (check why windows GitHub runner fail with SSL error) by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/240
  • Update astropy requirement from <=5.1 to <=5.3 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/279
  • Disallow pydantic 2.0 by @mgiammar in https://github.com/deepanshs/mrsimulator/pull/282
  • fixed 0Hz bug in apodization by @mVenetos97 in https://github.com/deepanshs/mrsimulator/pull/286
  • Bug fix for Mixing Enum class by @mgiammar in https://github.com/deepanshs/mrsimulator/pull/270
  • djs/Undo forced py3.7.16 for mac by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/280
  • djs/Cancel concurrent jobs by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/281
  • Update version requirements by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/296
  • Update read the docs config by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/295
  • Bump docker/setup-qemu-action from 2 to 3 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/293
  • Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/292
  • Bump conda-incubator/setup-miniconda from 2 to 3 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/304
  • djs/update requirements and skip 3.12 from built by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/303
  • Bump actions/setup-python from 4 to 5 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/306
  • Bump github/codeql-action from 2 to 3 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/309
  • Bump actions/upload-artifact from 3 to 4 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/310
  • djs/Include sphere option for volume integration by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/311
  • Support for python 3.12 and drop support for python 3.7 by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/298
  • djs/update astropy version by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/312
  • djs/rc0.8 build test by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/313
  • Cross terms by @pjgrandinetti in https://github.com/deepanshs/mrsimulator/pull/307
  • Sphinx version update for RTD by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/318
  • Auto generate pdf test report by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/317
  • Bump codecov/codecov-action from 3.1.4 to 3.1.6 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/320
  • Bump codecov/codecov-action from 3.1.6 to 4.0.0 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/321
  • Bump codecov/codecov-action from 4.0.0 to 4.0.1 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/324
  • Djs/update code to match the draft by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/319
  • djs/add comments and code cleanup by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/326
  • Add support for analytical czjzek distribution by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/327
  • Bump codecov/codecov-action from 4.0.1 to 4.1.0 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/328
  • djs/Allow user defined 3d spatial averaging scheme by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/330
  • djs/Add tests for mqmas, stmas affine matrix by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/332
  • Add not to each freq contrib by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/334
  • Djs/quad csa cross tests by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/333
  • Bump codecov/codecov-action from 4.1.0 to 4.1.1 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/335
  • Add Extended Czjzek fitting example by @mgiammar in https://github.com/deepanshs/mrsimulator/pull/189
  • fix amplitude scaling by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/337
  • code unit test coverage by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/336
  • [WIP] Add least-squares minimization capabiliy for Czjzek and Extended Czjzek by @mgiammar in https://github.com/deepanshs/mrsimulator/pull/285
  • Djs/Code Optimization by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/339
  • Bump codecov/codecov-action from 4.1.1 to 4.2.0 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/338
  • Djs/sideband sideband correlation by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/341
  • Update README.md by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/345
  • remove support for py3.8 by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/343
  • Undo numexpr version by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/297
  • Bump codecov/codecov-action from 4.2.0 to 4.3.1 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/342
  • Update pytest requirement from <8.0 to <9.0 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/322
  • Bump codecov/codecov-action from 4.3.1 to 4.4.0 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/347
  • DJS/remove period from csdm dimension for simulations by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/348
  • Bump codecov/codecov-action from 4.4.0 to 4.4.1 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/349
  • Update docs by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/344
  • Djs/MixingEvent redesign by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/350
  • Bump codecov/codecov-action from 4.4.1 to 4.5.0 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/351
  • Code change for Numpy 2.0 compatibility by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/353
  • Mac intel and arm built tests by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/355
  • Support for mac arm arc builds on GitHub runner by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/357
  • Update README.md by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/356
  • option for pydantic v2 by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/360
  • Add RotationEvent as an alias to MixingEvent by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/365
  • add tensor convention utilities by @pjgrandinetti in https://github.com/deepanshs/mrsimulator/pull/361
  • Fix NaN issue on macOS by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/369
  • fix windows access violation error by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/370
  • Doc updates 2024 by @pjgrandinetti in https://github.com/deepanshs/mrsimulator/pull/368
  • Default origin offset by @pjgrandinetti in https://github.com/deepanshs/mrsimulator/pull/372
  • Docs grammar fixes by @pjgrandinetti in https://github.com/deepanshs/mrsimulator/pull/371
  • update Readme by @pjgrandinetti in https://github.com/deepanshs/mrsimulator/pull/374
  • Add test coverage by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/375
  • Update version to 1.0.0rc1 by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/373
  • py313 tests; drop py3.9 by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/376
  • add is_complex to configs by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/380
  • Bug fix in czjzek fit by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/381
  • Update docs by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/379
  • update changelog by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/382
  • Bump codecov/codecov-action from 4.5.0 to 4.6.0 by @dependabot in https://github.com/deepanshs/mrsimulator/pull/383
  • Add a new 2D simulation example to the gallery. by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/386
  • Convert all MHz defaults to Hz by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/385
  • rem mon py by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/390
  • Djs/py313 by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/387
  • Add COSY and INADEQUATE docs pages by @mccarthy677 in https://github.com/deepanshs/mrsimulator/pull/389
  • Update csdmpy version by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/391
  • release prep by @deepanshs in https://github.com/deepanshs/mrsimulator/pull/392

Full Changelog: https://github.com/deepanshs/mrsimulator/compare/v0.7.0...v1.0

- Python
Published by deepanshs about 1 year ago

mrsimulator - v0.7.0

What's new

Features

  • Support for complex amplitude simulation.
  • New isotropic interpolation schemes. Added isotropic_interpolation as a sim.config parameter. Allowed values are linear and Gaussian.
  • A new larmor_freq(B0) function is added to the Isotope class, which returns the Larmor frequency of the isotope, given a magnetic flux density. For example, H1.larmor_freq(B0=9.40)
  • New weak J and dipolar coupling enumerations are added to freq_contrib.
  • New command-line interface (CLI) tools for mrsimulator.
  • Added 200+ NMR active isotopes to the library.
  • Support for python 3.10

Method

  • New Event classes---SpectralEvent and MixingEvent. The MixingEvent controls the transition amplitude mixing in a multi-event method.
  • New TotalMixing and NoMixing mixing query enumerations for quick scripting of common mixing events.
  • New weights attribute for the TransitionPathway object, which holds the probability of the transition pathway based on the mixing events defined within the method.
  • New plot() function in Method class, which generates a visual representation of the method's events, transition pathways, rotor angle, etc.
  • Support for concurrent mixing events.
  • Support for negative spectral width in a spectral dimension.
  • Deprecated Method1D and Method2D classes. Use the generic mrsimulator.method.Method object for custom 1D and 2D methods.

SpinSystem

  • New function simplify() to simplify a spin system object to a list of irreducible spin systems.
  • New function site_generator() added to the utility collection sub-module, which simplifies the process of creating Site objects in bulk.
  • Added gyromagnetic ratio and quadrupole moment metadata for all isotopes, including unstable isotopes.

SignalProcessor

  • New SkewGaussian, TopHat, and Mask apodization functions were added to the signal processor module.

Documentation

  • Restructured documentation layout
  • Improved troubleshooting section.
  • Added section User Guide detailing the use and attributes of most objects.
  • Added section Method demonstrating how to create custom Method objects.
  • Condensed simulation/fitting gallery by removing redundant examples.
  • New gallery demonstrating signal processing functions.

Changes

  • reduced_dict function is deprecated, use json(units=False) instead.
  • The mrsimulator.signal_processing module is renamed to mrsimulator.signal_processor
  • Drop support for Python version 3.6
  • Added Channel validation for named methods #177
  • Optimized memory usage and performance of the single_site_system_generator utility function.

Bug fixes

  • Fixed bug where spectral interpolation resulted in a segmentation fault.
  • Fixed memory leak issue in the C code.
  • Fixed bug in query combination involving multiple quadrupolar queries. #188.
  • Fixed bug related to unsigned/signed integers crashing on M1 macs.

Breaking changes

For most users Mrsimulator is currently in development, and the new release includes breaking changes from v0.6. Please review these changes and make changes according.

  • The mrsimulator.methods module is renamed as mrsimulator.method.lib.
  • The mrsimulator.signal_processing module is renamed to mrsimulator.signal_processor.
  • The data attribute of SignalProcessor.apply_operations(data=...) is renamed to dataset. Use SignalProcessor.apply_operations(dataset=...)
  • The transition_query attribute of the mrsimulator.method.SpectralEvent class is renamed to transition_queries.
  • The mrsimulator.method.query.RotationalQuery class is renamed to mrsimulator.method.query.RotationQuery

For advanced users - Complete redesign of the TransitionQuery object. Please refer to the documentation for details.

- Python
Published by deepanshs over 3 years ago

mrsimulator - v0.6.1post1

- Python
Published by deepanshs over 4 years ago

mrsimulator - v0.6.1

What's new

  • A new function for exporting and importing the methods from the simulator object.

- Python
Published by deepanshs over 4 years ago

mrsimulator - v0.6.0

What's new

  • ⭐ Improved simulation performance. ⭐ See our benchmark.
  • Simulation of one-dimensional spectra of coupled spin systems. The frequency contributions from the coupled sites include weak J-couplings and weak dipolar couplings.
  • New Coupling class.
  • Added a new Sites class that holds a list of Site objects. The Sites class method, to_pd(), exports the sites as a pandas data frame.
  • A new method, sites(), is added to the Simulator object, which returns a list of unique Site objects within the Simulator object across multiple spin systems.
  • Added three new arguments to the single_site_system_generator() method, 'sitelabels', 'sitenames', and 'site_descriptions'.

Changes

  • The SpinSystem.get_isotopes method from the SpinSystem object will now return Isotope objects by default. Use the symbol=True argument of the method to get a list of string isotopes.
  • The to_freq_dict() function is deprecated.
  • The D symmetry of the transition_query attribute from the Method2D method is now None by default.
  • BlochDecayCTSpectrum is an alias for BlochDecayCentralTransitionSpectrum class.

Bug fixes

  • Fixed a bug related to the get_spectral_dimensions() utility method in cases when CSDM dimension objects have negative increment.
  • Fixed a bug resulting in the non-conserved spectral area after a Gaussian apodization.
  • Fixed a bug in Gaussian apodization, which raised an error when the FWHM argument is a scalar.
  • Fixed bug causing multi-dataset fit to fail.

- Python
Published by deepanshs over 4 years ago

mrsimulator - v0.5.1

Bug fixes

  • Fixed a bug that was causing incorrect spectral binning when the frequency contribution is pure isotropic.

Other changes

  • More fitting examples.
  • The to_dict_with_units() method is deprecated and is replaced with json()
  • The json() function returns a python dictionary object with minimal required keywords, where the event keys are globally serialized at the root method object. In the case where the event key value is different from the global value, the respective key is serialized within the event object.
  • The json() function will no longer serialize the transition_query objects for the named objects.

- Python
Published by deepanshs about 5 years ago

mrsimulator - v0.5.0

What's new

  • ⭐ Improved simulation performance. ⭐ See our benchmark.

The update introduces various two-dimensional methods for simulating NMR spectrum.

  • Introduces a generic one-dimensional method, Method1D.
  • Introduces a generic two-dimensional method, Method2D.
  • Specialized two-dimensional methods for multi-quantum variable-angle spinning with build-in affine transformations.

  • Specialized two-dimensional methods for satellite-transition variable-angle spinning with build-in affine transformations.

  • Specialized two-dimensional isotropic/anisotropic sideband correlation method, SSB2D.

- Python
Published by deepanshs over 5 years ago

mrsimulator - v0.4.0

What's new!

  • ⭐ Improved simulation performance. ⭐
  • Added Czjzek and extended Czjzek second-rank symmetric tensor parameter distribution models for creating spin systems for amorphous materials.
  • Add a new utility function, single_site_system_generator, for generating a list of single-site spin systems from a 1D list/array of respective tensor parameters.

- Python
Published by deepanshs over 5 years ago

mrsimulator - 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 new Method class instead. - New methods for simulating the NMR spectrum: - BlochDecaySpectrum and - BlochDecayCentralTransitionSpectrum.

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, and ZeemanState 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 and description attributes to the Site class.
  • Added a new label attribute to the SpinSystem 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 the ConfigSimulator class to decompose_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 to SpinSystem. - Renamed isotopomers attribute from Simulator class to spin_systems. - Renamed dimensions attribute from Simulator class to methods. - Changed the default value of name and description attribute from the SpinSystem class from "" to None.

- Python
Published by deepanshs over 5 years ago

mrsimulator - v0.3.0.b1

- Python
Published by deepanshs over 5 years ago

mrsimulator - v0.3.0a0

What's new!

  • ⭐ Improved simulation performance. ⭐
  • Removed the Dimension class and added a new Method class instead.
  • New methods for simulating the NMR spectrum:

    • BlochDecaySpectrum and
    • BlochDecayCentralTransitionSpectrum.

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, and ZeemanState 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 and description attributes to the Site class.
  • Added a new label attribute to the SpinSystem class.

Bug fixes

  • Fixed bug resulting from the rotation of the fourth rank tensor with non-zero euler angles.

Other changes

  • Renamed the decompose attribute from the ConfigSimulator class to decompose_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 to SpinSystem.

  • Renamed isotopomers attribute from Simulator class to spin_systems.

  • Renamed dimensions attribute from Simulator class to methods.

  • Changed the default value of name and description attribute from the SpinSystem class from "" to None.

- Python
Published by deepanshs over 5 years ago

mrsimulator - v0.3.0.dev0

Changelog - Renamed Dimension class to Method class. - Renamed dimensions attribute from Simulator class to methods. - New methods for simulation the NMR spectrum. Two build-in methods, BlochDecaySpectrum and BlochDecayCentralTransitionSpectrum. The Bloch decay spectrum simulates all p=Δm=-1 transition pathways, while the Bloch decay central transition selective spectrum simulates all transition pathways with p=Δm=-1 and d=0. - Improved simulation performance. - Fixed bug resulting from the rotation of the fourth rank tensor with non-zero euler angles. - New Isotope, Transition, and ZeemanState classes. - Every class now includes a reduced_dict() method.

- Python
Published by deepanshs over 5 years ago

mrsimulator - v0.2.1

minor error fix

- Python
Published by deepanshs almost 6 years ago

mrsimulator - v0.2.0

v0.2.0 - Added more isotopes to the simulator. Source NMR Tables (https://apps.apple.com/bn/app/nmr-tables/id1030899609?mt=12) - Added two new keywords: 'atomicnumber' and 'quadrupolemoment' - Renamed the class Spectrum to Dimension - Added documentation for every class. - Added examples for simulating NMR quadrupolar lineshapes. - Added amplitude normalization. The spectral amplitudes no longer change when integraldensity, integralvolume, number of sidebands, or number of points along the dimension is changed. - Removed plotly-dash app to its own repository.

- Python
Published by deepanshs over 6 years ago

mrsimulator - v0.1.3

  • Fixed missing files from source tar when using pip.

- Python
Published by deepanshs over 6 years ago

mrsimulator - Initial release

- Python
Published by deepanshs over 6 years ago