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

Module ns_cpmg_2site_star

source code

The numerical fit of 2-site Bloch-McConnell equations for CPMG-type experiments, the NS CPMG 2-site star and NS CPMG 2-site star full models.

Description

The function uses an explicit matrix that contains relaxation, exchange and chemical shift terms. It does the 180deg pulses in the CPMG train with conjugate complex matrices. The approach of Bloch-McConnell can be found in chapter 3.1 of Palmer, A. G. 2004 Chem. Rev., 104, 3623-3640. This function was written, initially in MATLAB, in 2010.

Code origin

The code was submitted at http://thread.gmane.org/gmane.science.nmr.relax.devel/4132 by Paul Schanda.

Links

More information on the NS CPMG 2-site star model can be found in the:

More information on the NS CPMG 2-site star full model can be found in the:

Functions [hide private]
numpy float array of rank [NE][NS][NM][NO][ND][2][2]
rcpmg_star_rankN(R2A=None, R2B=None, dw=None, k_AB=None, k_BA=None, tcp=None)
Definition of the exchange matrix, for rank [NE][NS][NM][NO][ND][2][2].
source code
 
r2eff_ns_cpmg_2site_star(M0=None, r20a=None, r20b=None, pA=None, dw=None, dw_orig=None, kex=None, inv_tcpmg=None, tcp=None, back_calc=None, num_points=None, power=None)
The 2-site numerical solution to the Bloch-McConnell equation using complex conjugate matrices.
source code
Variables [hide private]
  m_r20a = array([[-1., 0...
  m_r20b = array([[ 0., 0...
  m_k_AB = array([[-1., 0...
  m_k_BA = array([[ 0., 1...
  m_dw = array([[ 0., 0...
  __package__ = 'lib.dispersion'

Imports: add, array, conj, dot, einsum, fabs, float64, isfinite, log, min, multiply, sum, fix_invalid, masked_where, matrix_power, isNaN, matrix_exponential


Function Details [hide private]

rcpmg_star_rankN(R2A=None, R2B=None, dw=None, k_AB=None, k_BA=None, tcp=None)

source code 

Definition of the exchange matrix, for rank [NE][NS][NM][NO][ND][2][2].

Parameters:
  • R2A (numpy float array of rank [NE][NS][NM][NO][ND]) - The transverse, spin-spin relaxation rate for state A.
  • R2B (numpy float array of rank [NE][NS][NM][NO][ND]) - The transverse, spin-spin relaxation rate for state B.
  • dw (numpy float array of rank [NE][NS][NM][NO][ND]) - The chemical exchange difference between states A and B in rad/s.
  • k_AB (float) - The forward exchange rate from state A to state B.
  • k_BA (float) - The reverse exchange rate from state B to state A.
  • tcp (numpy float array of rank [NE][NS][NM][NO][ND]) - The tau_CPMG times (1 / 4.nu1).
Returns: numpy float array of rank [NE][NS][NM][NO][ND][2][2]
The relaxation matrix R and complex conjugate cR2.

r2eff_ns_cpmg_2site_star(M0=None, r20a=None, r20b=None, pA=None, dw=None, dw_orig=None, kex=None, inv_tcpmg=None, tcp=None, back_calc=None, num_points=None, power=None)

source code 

The 2-site numerical solution to the Bloch-McConnell equation using complex conjugate matrices.

This function calculates and stores the R2eff values.

Parameters:
  • M0 (numpy float64, rank-1, 2D array) - This is a vector that contains the initial magnetizations corresponding to the A and B state transverse magnetizations.
  • r20a (numpy float array of rank [NE][NS][NM][NO][ND]) - The R2 value for state A in the absence of exchange.
  • r20b (numpy float array of rank [NE][NS][NM][NO][ND]) - The R2 value for state B in the absence of exchange.
  • pA (float) - The population of state A.
  • dw (numpy float 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).
  • inv_tcpmg (numpy float array of rank [NE][NS][NM][NO][ND]) - The inverse of the total duration of the CPMG element (in inverse seconds).
  • tcp (numpy float array of rank [NE][NS][NM][NO][ND]) - The tau_CPMG times (1 / 4.nu1).
  • 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.
  • num_points (numpy int array of rank [NE][NS][NM][NO]) - The number of points on the dispersion curve, equal to the length of the tcp and back_calc arguments.
  • power (numpy int array of rank [NE][NS][NM][NO][ND]) - The matrix exponential power array.

Variables Details [hide private]

m_r20a

Value:
array([[-1.,  0.],
       [ 0.,  0.]])

m_r20b

Value:
array([[ 0.,  0.],
       [ 0., -1.]])

m_k_AB

Value:
array([[-1.,  0.],
       [ 1.,  0.]])

m_k_BA

Value:
array([[ 0.,  1.],
       [ 0., -1.]])

m_dw

Value:
array([[ 0.,  0.],
       [ 0.,  1.]])