# roadmap.m

From Spinach Documentation Wiki

Runs a simulation of a user-specified pulse sequence for each orientation found in the user-specified grid and returns the corresponding angles, integration weights, tessellation triangles and sequence results (as a cell array of whatever it is that the pulse sequence returns).

## Contents

## Syntax

[alphas,betas,gammas,weights,triangles,fid]=... roadmap(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.spins - a cell array giving the spins that the pulse sequence works on, in the order of channels, e.g. {'1H','13C'} parameters.offset - a cell array giving transmitter offsets in Hz on each of the spins listed in parameters.spins parameters.grid - powder averaging grid 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.needs - a cell array of strings specifying additional information required by the sequence: 'zeeman_op' - Zeeman part of the Hamiltonian in the laboratory frame, to be placed into parameters.hseeman and sent to pulse sequence 'aniso_eq' - thermal equilibrium is recomputed using the full anisotropic Hamiltonian at the current orientation, and sent to the pulse sequence in parameters.rho0 subfield 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.

## Outputs

alphas - an array of alpha Euler angles from the spherical grid betas - an array of beta Euler angles from the spherical grid gammas - an array of gamma Euler angles from the spherical grid weights - an array of summation weights appropri- ate for the corresponding points of the spherical grid answer - a cell array of whatever it is that the pulse sequence function returns at each point in the spherical grid

## Examples

This context is useful whenever the orientational ditribution of some property needs to be computed. A good example is:

**spin_chemistry/singlet_yield_anisotropy_2.m** - singlet yield anisotropy calculation for a model radical pair.

## Notes

- Arbitrary order rotating frame transformation is supported, including infinite order. See the header of rotframe.m for further information.
- The function supports parallel processing via Matlab's Distributed Computing Toolbox - different system orientations are evaluated on different labs.

## See also

crystal.m, liquid.m, powder.m, singlerot.m, doublerot.m, imaging.m, gridfree.m, floquet.m

*Version 2.2, authors: Ilya Kuprov*