# floquet.m

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

Version 2.2, authors: Ilya Kuprov, Luke Edwards