Relaxation theory parameters

From Spinach Documentation Wiki
Revision as of 20:35, 29 March 2016 by Kuprov (talk | contribs) (Relaxation theories)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Relaxation theories

Empty relaxation superoperator

This corresponds to running a unitary dynamics simulation without any dissipation present. This option is available in all simulation formalisms. Syntax:

    inter.relaxation='none';

If relaxation superoperator is requested at any time in the simulation, a sparse zero matrix is returned.

Non-selective isotropic damping

A damping rate (in Hz) should be supplied. This option is available in all simulation formalisms. Syntax:

    inter.relaxation='damp';
    inter.damp_rate=100.0;
Non-selective anisotropic damping

Damping rates (in Hz) in the three principal directions should be supplied. This option is available in all simulation formalisms. Syntax:

    inter.relaxation='hstrain';
    inter.damp_rate=[100.08  38.89  107.40]*1e6;
Extended T1/T2 approximation

Longitudinal states of a given spin relax at T1, transverse states relax at T2, multi-spin orders relax at the sum of the relaxation rates of their constituent operators. This option is only available for Liouville space spherical tensor formalism. Syntax:

    inter.relaxation='t1_t2';
    inter.r1_rates=[1.0 2.0 5.0];
    inter.r2_rates=[5.0 7.0 9.0];
Bloch-Redfield-Wangsness relaxation theory

One, two or three correlation times should be supplied in inter.tau_c parameter, corresponding to isotropic, axial and rhombic rotational diffusion. Anisotropic interactions must be present in the system for Redfield theory to be applicable. BRW theory is implemented in a diagonalization-free formulation and is capable of computing full relaxation superoperators for state space dimensions in excess of 1M. This option is only available in Liouville space. Syntax:

    inter.relaxation='redfield';
    inter.tau_c=1e-9;

If a three-element vector is supplied in inter.tau_c, it is assumed to give the three principal rotational correlation times, corresponding to rotations around X, Y and Z principal axes (in that order) of the rotational diffusion tensor of an ellipsoid in an isotropic liquid. The molecular reference frame must coincide with the eigenframe of the diffusion tensor. A two-element vector gives the rotational correlation time around the symmetry axis of an axially symmetric ellipsoid (first element) and the correlation time of rotation around an axis perpendicular to the symmetry axis (second element). The Z axis of the molecular reference frame must coincide with the symmetry axis of the diffusion tensor. A one-element vector gives the isotropic rotational correlation time of what would then be assumed to be a spherical molecule.

Lindblad relaxation theory

R1 and R2 relaxation rates should be supplied. This option is only available in Liouville space. Syntax:

    inter.relaxation='lindblad';
    inter.r1_rates=[1.0 2.0 5.0];
    inter.r2_rates=[5.0 7.0 9.0];

If a custom-built Lindbladian is necessary, use lindbladian.m function in the kernel.

Nottingham DNP relaxation theory

This option is only applicable to Liouville space DNP Cross Effect simulations. Electron and nuclear relaxation rates should be supplied. Syntax:

    inter.relaxation='nottingham';
    inter.r1e=1/0.3e-3;
    inter.r1n=1/4.0;
    inter.r2e=1/1.0e-6;
    inter.r2n=1/0.2e-3;
Weizmann DNP relaxation theory

This option is only applicable to Liouville space DNP simulations. Electron and nuclear relaxation rates, as well as characteristic times of electron and nuclear dipolar cross-relaxation should be specified. Because the dipolar cross-relaxation terms are empirical, Spinach requires that matrices are supplied, giving those rates for each pair of spins. Syntax:

    inter.relaxation='weizmann';
    inter.r1e=1e2;
    inter.r1n=0.1;
    inter.r2e=1e5;
    inter.r2n=1e3;
    inter.r1d=zeros(4,4);
    inter.r2d=zeros(4,4);
    for n=2:3
        inter.r1d(n,n+1)=0.1;
        inter.r1d(n+1,n)=0.1;
        inter.r2d(n,n+1)=0.1;
        inter.r2d(n+1,n)=0.1;
    end

Rotating frame matters

The full relaxation superoperator (particularly in the case of BRW theory) should only be used in laboratory frame simulations and for identification of long-lived spin states. Rotating frame simulations must drop non-secular terms, to which end the following options are provided via inter.rlx_keep parameter:

  1. Keep full relaxation superoperator ('full'). This option is available in all simulation formalisms.
  2. Keep diagonal relaxation terms and longitudinal cross-relaxation terms ('kite'). This option is known in the trade as “Redfield kite”, hence the name. This option is only available for Liouville space spherical tensor formalism.
  3. Keep diagonal terms and all secular terms ('secular'). This is the most accurate option for rotating frame simulations. This option is only available for Liouville space spherical tensor formal-ism.
  4. Keep diagonal terms only ('diagonal'). This is only appropriate in the cases where cross-relaxation can be ignored. This option is available in all simulation formalisms.

Thermal equilibrium

By default, the relaxation superoperator drives the system to the all-zero state vector. To enable relaxation to the correct thermal equilibrium, set inter.equilibrium to 'levante' (Levante-Ernst method) or 'dibari' (DiBari-Levitt method). The former is only supported in the Lioville space spherical tensor formalism. Importantly, if 'levante' is specified, then the unit state population of the initial condition must be manually set to “1”. If the initial state is obtained from the equilibrium() function, this happens automatically.

Temperature should be specified in Kelvin in inter.temperature variable. The thermal equilibrium state may then be obtained from equilibrium.m function.

Dynamic frequency shifts

Dynamic frequency shifts are ignored by default. To instruct Spinach to keep them, use

    inter.rlx_dfs='keep';

Custom correlation functions

A user-specified correlation function may be supplied to the relaxation theory module by editing corrfun.m file in the kernel/utils directory. This is a very advanced option – please examine the Redfield theory code in relaxation.m before modifying the correlation function.

Scalar relaxation of first and second kind

Scalar relaxation of the first kind is processed separately, usually after Bloch-Redfield-Wangsness theory treatment is done, using the correlation time, the assumptions and the scalar coupling modulation depths supplied as separate parameters. Syntax:

    inter.relaxation='redfield';
    inter.rlx_extras={'SRSK','SRFK'};
    inter.rlx_keep='kite';
    inter.tau_c=300e-12;
    inter.srfk_assume='nmr';
    inter.srfk_tau_c=5e-3;
    inter.srfk_mdepth=cell(28);
    inter.srfk_mdepth{4,6}=15.0;
    inter.srfk_mdepth{1,6}=15.0;
    inter.srfk_mdepth{4+14,6+14}=15.0;
    inter.srfk_mdepth{1+14,6+14}=15.0;

Rotating frame calculation of this contribution to the relaxation matrix is recommended because typical scalar relaxation correlation times (milliseconds to microseconds) are much longer than the time scale of the laboratory frame dynamics. Scalar relaxation of the second kind has no adjustable parameters.

Summary of options

inter.relaxation string: 'none', 'damp', 't1_t2', 'redfield', 'lindblad', 'nottingham', 'weizmann' (default is 'none') A switch controlling the selection of the relax-ation superoperator.
inter.damp_rate real Damping rate (in Hz) to be used if 'damp' is selected in the relaxation theory switch.
inter.r1_rates nspins x 1 vector of reals R1 relaxation rates (in Hz) for each spin, to be used if 't1_t2' is selected in the relaxation theory switch.
inter.r2_rates nspins x 1 vector of reals R2 relaxation rates (in Hz) for each spin, to be used if 't1_t2' is selected in the relaxation theory switch.
inter.rlx_keep string: 'diagonal', 'kite', 'secular', 'full' (default is 'kite') A switch controlling the terms to be kept in the relaxation superoperator.
inter.rlx_dfs string: 'keep', 'ignore' (default is 'ignore') A switch controlling the fate of the dynamic frequency shift components of the relaxation superoperator.
inter.tau_c 1x1 or 1x2 or 1x3 vector of reals One, two or three principal correlation times (Redfield theory only).
inter.equilibrium string: 'zero', 'levante','dibari' (default is 'zero') The state that the system is driven to by the relaxation superoperator.
inter.temperature positive real number Absolute temperature to be used for the equilibrium state calculation. If the field is left empty or zero is supplied, the “high-temperature approximation” is used automatically.
inter.rlx_extras cell array of the following strings: 'SRFK', 'SRSK' Inclusion of scalar relaxation of first and second kind. In the case of SRFK the modulation depths, the assumptions and the scalar modulation correlation time must be provided.
inter.srfk_tau_c positive real number Correlation time for the scalar relaxation of the first kind, requires inter.rlx_extras cell array to contain 'SRFK'.
inter.srfk_assume character string Assumptions under which the relaxation su-peroperator for the scalar relaxation of the first kind should be computed. Typically 'nmr', but see assume.m kernel function description for further particulars. Requires inter.rlx_extras cell array to contain 'SRFK'.
inter.srfk_mdepth cell array of positive real numbers Root-mean-square modulation depths for the scalar couplings in the system. Requires inter.rlx_extras cell array to contain 'SRFK'. Cells may be left empty, in which case zeroes are assumed.


Scalar relaxation of the second kind, typically a significant relaxation mechanism in quadrupolar sys-tems, may be switched on by adding 'SRSK' string to inter.rlx_extras cell array. Only self-relaxation rates (i.e. the diagonal) are currently updated to account for the presence of this mechanism.