# Solid effect.m

Large-scale solid effect DNP experiment simulation.

## Syntax

    answer=solid_effect(spin_system,parameters)


This function generates its own Liouvillian and should be called directly, without a wrapper.

## Description

Computes either the time dependence of the longitudinal magnetization in the system or its asymptotic amplitude. The simulation is performed as described in http://dx.doi.org/10.1039/C2CP23233B - this function is optimised for large-scale simulations, but the system must have exactly one electron.

## Arguments

    parameters.mw_pwr      - microwave power in rad/s

parameters.theory      - level of theory. Set to 'exact' for the electron rotating frame calculation
or to any of the following six options for the average Hamiltonian theory
calculation on top of the electron + nuclear rotating frame: 'ah_first_order',
'ah_second_order', 'ah_third_order', 'kb_first_order','kb_second_order',
'kb_third_order'. See the description of average.m function and the paper
cited above for the meaning of these options.

parameters.nuclear_frq - nuclear Zeeman frequency in rad/s. This function only supports one nuclear type.

parameters.calc_type   - set to 'time_dependence' to get the time dependence of the longitudinal magneti-
sation and to 'steady_state' to get the asymptotic longitudinal magnetisation.

parameters.time_step   - if 'time_dependence' is set in the calc_type parameter, sets the time step, seconds.

parameters.n_steps     - if 'time_dependence' is set in the calc_type parameter, sets the number of time steps.


## Returns

With the 'time_dependence' calculation type, the function returns the observables detected using the coil states specified at each point in time. With the 'steady_state' option specified, the function returns the steady state values detected using the coil states specified.

## Examples

The following figure is returned by examples/dnp_solids/solid_effect_timedep_1.m function:

## Notes

1. This function is not integrated into Spinach wrapper system.
2. Only one type of nuclei at a time is supported, but the function can handle a large number - see the paper cited above.