Difference between revisions of "Singlerot.m"
(Update function See also links and function index membership) |
|||
| (10 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
| − | Fokker-Planck | + | {{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. | ||
| − | + | ==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 - [[Appendix I: powder grids|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 | 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== | |
| + | |||
| + | answer - powder average, or a cell array, of whatever the pulse sequence returns | ||
| + | |||
| + | sph_grid - spherical grid used in the calculation | ||
| + | |||
| + | ==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== | ||
| + | [[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]]'' | |
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
- 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
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