Difference between revisions of "Singlerot.m"
(Sync syntax/arguments/outputs with current Spinach source) |
|||
| Line 1: | Line 1: | ||
{{DISPLAYTITLE:singlerot.m}} __NOTOC__ | {{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,sph_grid]=singlerot(spin_system,pulse_sequence,parameters,assumptions) | |
==Arguments== | ==Arguments== | ||
| − | + | pulse_sequence - pulse sequence function handle. See the | |
experiments directory for the list of | experiments directory for the list of | ||
pulse sequences that ship with Spinach. | pulse sequences that ship with Spinach. | ||
| − | + | ||
parameters.rate - spinning rate in Hz. Positive numbers | parameters.rate - spinning rate in Hz. Positive numbers | ||
for JEOL, negative for Varian and Bruker | for JEOL, negative for Varian and Bruker | ||
due to different rotation directions. | due to different rotation directions. | ||
| − | + | ||
parameters.axis - spinning axis, given as a normalized | parameters.axis - spinning axis, given as a normalized | ||
| − | 3-element vector | + | 3-element vector; this is the direction |
| − | + | around which the rotor is turning | |
| − | parameters.spins - a cell array giving the spins that | + | |
| − | the pulse sequence involves, e.g. | + | parameters.spins - a cell array giving the spins that |
| + | the pulse sequence involves, e.g. | ||
{'1H','13C'} | {'1H','13C'} | ||
| − | + | ||
parameters.offset - a cell array giving transmitter off- | parameters.offset - a cell array giving transmitter off- | ||
sets in Hz on each of the spins listed | sets in Hz on each of the spins listed | ||
in parameters.spins array | in parameters.spins array | ||
| − | + | ||
| − | parameters.max_rank - maximum harmonic rank to retain | + | parameters.max_rank - maximum rotor harmonic rank to retain |
| − | the solution (increase till conver- | + | in the solution (increase till conver- |
| − | gence is achieved, | + | gence is achieved, a good guess value |
| − | + | is the number of spinning sidebands | |
| − | + | expected in the spectrum) | |
| − | + | ||
parameters.rframes - rotating frame specification, e.g. | parameters.rframes - rotating frame specification, e.g. | ||
| − | {{'13C',2},{'14N,3}} requests second | + | {{'13C',2},{'14N',3}} requests second |
order rotating frame transformation | order rotating frame transformation | ||
with respect to carbon-13 and third | with respect to carbon-13 and third | ||
| Line 42: | Line 44: | ||
on the respective spins should be | on the respective spins should be | ||
laboratory frame. | laboratory frame. | ||
| − | + | ||
| − | parameters.grid - | + | parameters.grid - spherical grid file name; see grids |
| − | + | directory in the kernel. Two-angle | |
| + | grids should be used in Liouville | ||
| + | space and three-angle grids in Hil- | ||
| + | bert space. | ||
| + | |||
parameters.needs - a cell array of character strings spe- | parameters.needs - a cell array of character strings spe- | ||
cifying additional requirements that | cifying additional requirements that | ||
the sequence has: | the sequence has: | ||
| − | + | ||
'iso_eq' - thermal equilibrium state | 'iso_eq' - thermal equilibrium state | ||
of the isotropic Hamiltonian will be | of the isotropic Hamiltonian will be | ||
placed into parameters.rho0 | placed into parameters.rho0 | ||
| − | + | ||
parameters.sum_up - when set to 1 (default), returns the | parameters.sum_up - when set to 1 (default), returns the | ||
powder average. When set to 0, returns | powder average. When set to 0, returns | ||
| − | individual answers for each point in | + | individual answers for each point in |
the powder as a cell array. | the powder as a cell array. | ||
| − | + | ||
| − | parameters.* | + | parameters.* - additional subfields may be required |
| − | + | by the pulse sequence - check its do- | |
| − | + | cumentation page | |
| − | assumptions | + | |
| + | assumptions - context-specific assumptions ('nmr', 'epr', | ||
'labframe', etc.) - see the pulse sequence | 'labframe', etc.) - see the pulse sequence | ||
header for information on this setting. | header for information on this setting. | ||
| − | The parameters structure is passed to the pulse sequence with the | + | The parameters structure is passed to the pulse sequence with the follo- |
| + | wing additional parameters set: | ||
parameters.spc_dim - matrix dimension for the spatial | parameters.spc_dim - matrix dimension for the spatial | ||
dynamics subspace | dynamics subspace | ||
| − | + | ||
| − | parameters.spn_dim - matrix dimension for the spin | + | parameters.spn_dim - matrix dimension for the spin |
dynamics subspace | dynamics subspace | ||
==Outputs== | ==Outputs== | ||
| + | |||
This function returns the powder average of whatever it is that the pulse sequence returns. | This function returns the powder average of whatever it is that the pulse sequence returns. | ||
==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 spinning single crystal simulations. | # Use 'single_crystal' powder grid for spinning single crystal simulations. | ||
| Line 82: | Line 92: | ||
==See also== | ==See also== | ||
| + | |||
[[Kernel contexts]] | [[Kernel contexts]] | ||
Revision as of 15:04, 5 April 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)
Arguments
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; this is the direction
around which the rotor is turning
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 rotor harmonic rank to retain
in the solution (increase till conver-
gence is achieved, a good guess value
is the number of spinning sidebands
expected 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 - spherical grid file name; see grids
directory in the kernel. Two-angle
grids should be used in Liouville
space and three-angle grids in Hil-
bert space.
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 the pulse sequence - check its do-
cumentation 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 follo- wing 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.
Notes
- Arbitrary order rotating frame transformation is supported, including infinite order. See rotframe.m for further information.
- 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 Matlab workers.
See also
Version 2.8, authors: Ilya Kuprov