doublerot.m

From Spinach Documentation Wiki
Jump to: navigation, search

Fokker-Planck double angle spinning context. Generates a Liouvillian superoperator and passes it on to the pulse sequence function, which should be supplied as a handle.

Syntax

    answer=doublerot(spin_system,pulse_sequence,parameters,assumptions)

Arguments

    pulse_sequence  - function handle to a pulse sequence, which must have 
                      the following call syntax:
                   
                      answer=pulse_sequence(spin_system,parameters,H,R,K)

                      where parameters is a structure described below, H is
                      the Hamiltonian, R is relaxation superoperator, and K
                      is the kinetics superoperator

    assumptions     - the string that will be passed to assume.m when 
                      the Hamiltonian is built

    parameters.rate_outer - outer rotor spinning rate in Hz

    parameters.rate_inner - inner rotor spinning rate in Hz

    parameters.axis_outer - spinning axis of the outer rotor,
                            given as a normalized 3-element
                            vector

    parameters.axis_inner - spinning axis of the inner rotor,
                            given as a normalized 3-element
                            vector

    parameters.rank_outer - 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) for the
                            outer rotor

    parameters.rank_inner - 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) for the
                            inner rotor

    parameters.rframes    - rotating frame specification, e.g.
                            {{'13C',2},{'14N,3}} requests second
                            order rotating frame transformation
                            with respect to carbon-13 and third
                            order rotating frame transformation
                            with respect to nitrogen-14

    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.

Examples

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

nmr_soilds/dor_powder_nav_fplanck_freq.m - 14N DOR NMR spectrum of N-acetylvaline, frequency domain simulation

nmr_soilds/dor_powder_nav_fplanck_time.m - 14N DOR NMR spectrum of N-acetylvaline, time domain simulation

nmr_overtone/dor_glycine.m - 14N overtone DOR NMR spectrum of glycine, frequency domain simulation

Notes

  1. Arbitrary order rotating frame transformation is supported, including infinite order. See rotframe.m for further information.
  2. The state projector assumes a powder - single crystal DOR is not currently supported.
  3. 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, crystal.m, imaging.m, gridfree.m, floquet.m


Version 2.2, authors: Ilya Kuprov