Spinach library
Spinach is a fast (polynomially scaling) open-source Liouville space spin dynamics simulation library.
Downloads:
Version 1.1.1054 (latest stable version, changelog)
Version 1.1.992
Please email Ilya Kuprov with any questions, feature requests or systems to simulate. The minimum supported version of Matlab is 2011a (64-bit version recommended with at least 4 GB of RAM).
Spinach features
- Provides low-dimensional matrix representations for spin operators in large spin systems and enables time domain simulation of NMR and ESR experiments on systems previously considered too big for any practical calculations. All standard techniques of NMR/ESR simulations remain the same in reduced state spaces, the only difference is smaller matrices. The details of the state space restriction method used by Spinach are presented in this paper.
- Includes a generalized symmetry module (any number of groups of equivalent spins of any quantum number).
- Includes Krylov subspace based time propagation functions and on-the-fly dimension reduction tools that operate transparently to the user and ensure rock-bottom CPU and memory requirements in all simulation tasks.
- Includes a generalized rotation module that outputs the full rotation basis and the associated Wigner functions, returns Liouvillians for user-specified spin system orientations, provides a Lebedev powder integrator and rotational correlation functions for isotropic, axial and rhombic rotational diffusion.
- Includes a generalized relaxation theory module: complete Redfield superoperators for all known first- and second-rank interactions with all cross-correlations thereof), supporting all types of magnetic resonance spectroscopy: NMR, ESR, DNP, Spin Chemistry, etc. Anisotropic rotational diffusion tensors are supported in full generailty.
- Includes an analytical derivatives module, supporting derivative superoperators and derivative propagators.
- Includes an Optimal Control waveform design module using BFGS-GRAPE algorithm with exact gradients. Optimization of broadband pulses, selective pulses and universal rotations is implemented in both Cartesian and phase-amplitude coordinates. For phase-modulated pulses, user-specified amplitude envelopes are available. User-specified waveform basis sets are supported. Template files are included for common Optimal Control optimization tasks.
- Supports pseudocontact shifts generated by a point paramagnetic metal centre.
- Includes templates for Overhauser DNP calculations in liquid state and solid effect DNP calculations in solid state using Krylov-Bogolyubov averaging in a reduced state space.
- Includes functions for multi-grid parallel soft pulses, coherence selection and decoupling.
- Includes functions for the simulation of magnetochemical experiments (a collaboration with Hannah Hogben and Peter Hore at Oxford).
- Includes functions for the simulation of common NMR (pulse-acquire, COSY, DQF-COSY, HSQC, CLIP-HSQC, HMQC, HETCOR) and ESR (pulse-acquire, ENDOR, ESEEM) experiments.
- Includes functions for the simulation of partially aligned systems -- RDCs, residual CSAs and residual quadrupolar interactions are supported in full generality.
The Hilbert space module supports parallel computing environments via Matlab's Distributed Computing Server. We are in the process of adding DMRG/MPS functionality, coding up a stochastic Liouville equation module and expanding the library of standard pulse sequences and waveforms. The code is extensively commented and designed to be very readable.
Publications describing Spinach features
Acknowledgements
The authors are very grateful to Mark Butler, Jean-Nicolas Dumez, Lyndon Emsley, Jack Freed, Steffen Glaser, Jeff Harmer, Paul Hodgkinson, Alexej Jerschow, Walter Köckenberger, Malcolm Levitt, Niels Chr. Nielsen, Konstantin Pervushin, Chris Rodgers, Thomas Schulte-Herbrüggen and Zdenek Tosner for many useful discussions and feedback on the early program prototypes. The project is funded by the EPSRC (EP/F065205/1, EP/H003789/1) and supported by the Oxford e-Research Centre.
|
|
|