doublerot.m
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,sph_grid]=doublerot(spin_system,pulse_sequence,...
parameters,assumptions)
Parameters
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.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.serial - if set to true, disables automatic pa-
rallelisation
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
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.
- The state projector assumes a powder - single crystal DOR is not currently supported.
- The function supports parallel processing via Matlab's Distributed Computing Toolbox - different system orientations are evaluated on different labs.
See also
assume.m, rotframe.m, crystal.m, floquet.m, gridfree.m, imaging.m, liquid.m, meshflow.m, powder.m, singlerot.m, Kernel contexts, Built-in_experiments
Version 2.8, authors: Ilya Kuprov