Difference between revisions of "Singlerot.m"

From Spinach Documentation Wiki
Jump to: navigation, search
(Update function See also links and function index membership)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:function.m}}
+
{{DISPLAYTITLE:singlerot.m}} __NOTOC__
 
Fokker-Planck single angle spinning context. Generates a Liouvillian superoperator and passes it on to the pulse sequence function, which should be supplied as a handle.
 
Fokker-Planck single angle spinning context. Generates a Liouvillian superoperator and passes it on to the pulse sequence function, which should be supplied as a handle.
  
 
==Syntax==
 
==Syntax==
  
    answer=singlerot(spin_system,pulse_sequence,parameters,assumptions)
 
  
==Arguments==
+
    [answer,sph_grid]=singlerot(spin_system,pulse_sequence,...
 +
                                  parameters,assumptions)
 +
 
 +
==Parameters==
  
 
   pulse_sequence      - pulse sequence function handle. See the
 
   pulse_sequence      - pulse sequence function handle. See the
Line 43: Line 45:
 
                         laboratory frame.
 
                         laboratory frame.
 
   
 
   
   parameters.grid    - spherical grid file name. See grids
+
   parameters.grid    - [[Appendix I: powder grids|powder averaging grid]]
                         directory in the kernel.
+
 +
  parameters.needs    - a cell array of character strings spe-
 +
                        cifying additional requirements that
 +
                         the sequence has:
 +
 +
                          'iso_eq' - thermal equilibrium state
 +
                          of the isotropic Hamiltonian will be
 +
                          placed into parameters.rho0
 
   
 
   
 
   parameters.sum_up  - when set to 1 (default), returns the
 
   parameters.sum_up  - when set to 1 (default), returns the
Line 67: Line 76:
  
 
==Outputs==
 
==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:
 
 
'''kinetics/mas_exchange_1.m''' - chemical exchange unser magic angle spinning
 
 
'''nmr_overtone/mas_glycine_1.m''' - 14N MAS quadrupo9lar overtone spectrum
 
 
'''nmr_solids/mas_powder_gly_fplanck.m''' - glycine 13C MAS NMR spectrum
 
  
'''nmr_solids/mas_powder_dip_fplanck.m''' - MAS NMR on a pair of dipole coupled spins
+
answer  - powder average, or a cell array, of whatever the pulse sequence returns
  
'''nmr_solids/mas_powder_csa_fplanck.m''' - MAS NMR on a simple system with a CSA
+
sph_grid - spherical grid used in the calculation
  
 
==Notes==
 
==Notes==
 
# Arbitrary order rotating frame transformation is supported, including infinite order. See [[rotframe.m]] for further information.
 
# Arbitrary order rotating frame transformation is supported, including infinite order. See [[rotframe.m]] for further information.
# Use 'single_crystal' powder grid for single crystal simulations.
+
# Use 'single_crystal' powder grid for spinning single crystal simulations.
# The function supports parallel processing via Matlab's Distributed Computing Toolbox - different system orientations are evaluated on different labs.
+
# The function supports parallel processing via Matlab's Distributed Computing Toolbox - different system orientations are evaluated on different Matlab workers.
  
 
==See also==
 
==See also==
Links to related functions.
+
[[rotframe.m]], [[crystal.m]], [[doublerot.m]], [[floquet.m]], [[gridfree.m]], [[imaging.m]], [[liquid.m]], [[meshflow.m]], [[powder.m]], [[Kernel contexts]], [[Built-in_experiments]]
 
 
  
''Version 2.2, authors: [[Ilya Kuprov]]''
+
''Version 2.8, authors: [[Ilya Kuprov]]''

Latest revision as of 19:41, 6 June 2026

Fokker-Planck single 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,sph_grid]=singlerot(spin_system,pulse_sequence,...
                                  parameters,assumptions)

Parameters

  pulse_sequence      - pulse sequence function handle. See the
                        experiments directory for the list of
                        pulse sequences that ship with Spinach.

  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.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. When
                        this option is used, the assumptions
                        on the respective spins should be
                        laboratory frame.

  parameters.grid     - powder averaging grid

  parameters.needs    - a cell array of character strings spe-
                        cifying additional requirements that
                        the sequence has:

                         'iso_eq' - thermal equilibrium state
                         of the isotropic Hamiltonian will be
                         placed into parameters.rho0

  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 

  assumptions        -  context-specific assumptions ('nmr', 'epr',
                        'labframe', etc.) - see the pulse sequence
                        header for information on this setting.

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

answer - powder average, or a cell array, of whatever the pulse sequence returns

sph_grid - spherical grid used in the calculation

Notes

  1. Arbitrary order rotating frame transformation is supported, including infinite order. See rotframe.m for further information.
  2. Use 'single_crystal' powder grid for spinning single crystal simulations.
  3. The function supports parallel processing via Matlab's Distributed Computing Toolbox - different system orientations are evaluated on different Matlab workers.

See also

rotframe.m, crystal.m, doublerot.m, floquet.m, gridfree.m, imaging.m, liquid.m, meshflow.m, powder.m, Kernel contexts, Built-in_experiments

Version 2.8, authors: Ilya Kuprov