floquet.m

From Spinach Documentation Wiki
Revision as of 15:12, 5 June 2026 by Kuprov (talk | contribs) (Correct function page syntax from current Spinach source)
Jump to: navigation, search

Floquet magic angle spinning context. This function generates Floquet Hamiltonian at a particular orientation, relaxation superoperator, kinetics superoperator, applies the necessary offsets, updates the parameter set, and passes all of that to the pulse sequence, which should be supplied as a handle. Parallel powder averaging is applied.

Syntax

    [answer,sph_grid]=floquet(spin_system,pulse_sequence,...
                                parameters,assumptions)

Arguments

  pulse_sequence      - pulse sequence function handle
 
  parameters.rate     - spinning rate in Hz. Positive numbers
                        for JEOL, negative for Varian and Bruker
                        due to different rotation directions.

  parameters.axis     - spinning axis, given as a normalized
                        3-element vector

  parameters.spins    - a cell array giving the spins that 
                        the pulse sequence involves, e.g. 
                        {'1H','13C'}

  parameters.offset   - a cell array giving transmitter off-
                        sets in Hz on each of the spins listed
                        in parameters.spins array

  parameters.max_rank - maximum harmonic rank to retain in
                        the solution (increase till conver-
                        gence is achieved, approximately
                        equal to the number of spinning si-
                        debands in the spectrum)

  parameters.grid     - powder averaging grid

  parameters.sum_up   - when set to 1 (default), returns the
                        powder average. When set to 0, returns
                        individual answers for each point in 
                        the powder as a cell array.

  parameters.*        - additional subfields may be required by your
                        pulse sequence - check its documentation page 

The parameters structure is passed to the pulse sequence with the following additional parameters set:

  parameters.spc_dim  - matrix dimension for the spatial
                        dynamics subspace

  parameters.spn_dim  - matrix dimension for the spin 
                        dynamics subspace

Outputs

This function returns the powder average of whatever it is that the pulse sequence returns, or the components of that powder average, if the sum_up flag is cleared.

Notes

  1. The choice of the rank depends on the spinning rate (the slower the spinning, the greater ranks are required). The rank should be set approximately equal to the expected number of spinning sidebands. Increase till the answer stops changing.
  2. The state projector assumes a powder - single crystal MAS is not supported, use singlerot.m instead.
  3. Perturbative corrections to the rotating frame transformation are not supported - use singlerot.m instead.
  4. The function supports parallel processing via Matlab's Distributed Computing Toolbox - different system orientations are evaluated on different labs.

See also

Kernel contexts

Solid state NMR experiments

Version 2.8, authors: Ilya Kuprov, Luke Edwards