Package lib :: Package dispersion :: Module cr72
[hide private]
[frames] | no frames]

Module cr72

source code

The Carver and Richards (1972) 2-site all time scale exchange CR72 and CR72 full models.

Description

This module is for the function, gradient and Hessian of the CR72 and CR72 full models.

References

The model is named after the reference:

Equations

The equation used is:

   R2eff = 1/2 [ R2A0 + R2B0 + kex - 2.nu_cpmg.cosh^-1 (D+.cosh(eta+) - D-.cos(eta-)) ] ,

where:

          1 /        Psi + 2delta_omega^2 \ 
   D+/- = - | +/-1 + -------------------- | ,
          2 \        sqrt(Psi^2 + zeta^2) /

                          1
   eta+/- = 2^(-3/2) . -------- sqrt(+/-Psi + sqrt(Psi^2 + zeta^2)) ,
                       nu_cpmg

   Psi = (R2A0 - R2B0 - pA.kex + pB.kex)^2 - delta_omega^2 + 4pA.pB.kex^2 ,

   zeta = 2delta_omega (R2A0 - R2B0 - pA.kex + pB.kex).

kex is the chemical exchange rate constant, pA and pB are the populations of states A and B, and delta_omega is the chemical shift difference between the two states in ppm.

CR72 model

Importantly for the implementation of this model, it is assumed that R2A0 and R2B0 are identical. This simplifies some of the equations to:

   R2eff = R20 + kex/2 - nu_cpmg.cosh^-1 (D+.cosh(eta+) - D-.cos(eta-) ,

where:

   Psi = kex^2 - delta_omega^2 ,

   zeta = -2delta_omega (pA.kex - pB.kex).

Links

More information on the CR72 model can be found in the:

More information on the CR72 full model can be found in the:

Functions [hide private]
 
r2eff_CR72(r20a=None, r20a_orig=None, r20b=None, r20b_orig=None, pA=None, dw=None, dw_orig=None, kex=None, cpmg_frqs=None, back_calc=None)
Calculate the R2eff values for the CR72 model.
source code
Variables [hide private]
  eta_scale = 0.353553390593
  __package__ = 'lib.dispersion'

Imports: arccosh, cos, cosh, isfinite, fabs, min, max, multiply, sqrt, subtract, sum, fix_invalid, masked_greater_equal, masked_where


Function Details [hide private]

r2eff_CR72(r20a=None, r20a_orig=None, r20b=None, r20b_orig=None, pA=None, dw=None, dw_orig=None, kex=None, cpmg_frqs=None, back_calc=None)

source code 

Calculate the R2eff values for the CR72 model.

See the module docstring for details.

Parameters:
  • r20a (numpy float array of rank [NE][NS][NM][NO][ND]) - The R20 parameter value of state A (R2 with no exchange).
  • r20a_orig (numpy float array of rank-1) - The R20 parameter value of state A (R2 with no exchange). This is only for faster checking of zero value, which result in no exchange.
  • r20b (numpy float array of rank [NE][NS][NM][NO][ND]) - The R20 parameter value of state B (R2 with no exchange).
  • r20b_orig (numpy float array of rank-1) - The R20 parameter value of state B (R2 with no exchange). This is only for faster checking of zero value, which result in no exchange.
  • pA (float) - The population of state A.
  • dw (numpy array of rank [NE][NS][NM][NO][ND]) - The chemical exchange difference between states A and B in rad/s.
  • dw_orig (numpy float array of rank-1) - The chemical exchange difference between states A and B in ppm. This is only for faster checking of zero value, which result in no exchange.
  • kex (float) - The kex parameter value (the exchange rate in rad/s).
  • cpmg_frqs (numpy float array of rank [NE][NS][NM][NO][ND]) - The CPMG nu1 frequencies.
  • back_calc (numpy float array of rank [NE][NS][NM][NO][ND]) - The array for holding the back calculated R2eff values. Each element corresponds to one of the CPMG nu1 frequencies.