floquet.m

From Spinach Documentation Wiki
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=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.

Examples

The following example files in the Spinach example set make use of this context function:

nmr_solids/mas_powder_trp_floquet.m - large-scale simulation of tryptophan 13C MAS NMR

nmr_solids/mas_powder_gly_floquet.m - glycine 13C MAS NMR spectrum

nmr_solids/mas_powder_suc_floquet.m - large-scale simulation of sucrose 13C MAS NMR

nmr_solids/mas_powder_ala_floquet.m - alanine 13C MAS NMR spectrum

nmr_solids/mas_powder_nqi_floquet.m - deuterium NQI MAS NMR, no second-order rotating frame corrections

nmr_solids/mas_powder_dip_floquet.m - MAS NMR on a pair of dipole coupled spins

nmr_solids/mas_powder_csa_floquet.m - MAS NMR on a simple system with a CSA

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

powder.m, liquid.m, roadmap.m, singlerot.m, doublerot.m, imaging.m, gridfree.m, crystal.m


Version 2.2, authors: Ilya Kuprov, Luke Edwards