1   
  2   
  3   
  4   
  5   
  6   
  7   
  8   
  9   
 10   
 11   
 12   
 13   
 14   
 15   
 16   
 17   
 18   
 19   
 20   
 21   
 22   
 23  from math import pi 
 24  from numpy import float64, zeros 
 25   
 26   
 27  from lib.auto_relaxation.ri_comps import calc_fixed_csa, calc_fixed_dip, comp_csa_const_func, comp_dip_const_func 
 28   
 29   
 31 -    def __init__(self, frq=None, gx=None, gh=None, mu0=None, h_bar=None): 
  32          """Reduced spectral density mapping.""" 
 33   
 34           
 35          self.data = Data() 
 36   
 37           
 38          self.data.gx = gx 
 39          self.data.gh = gh 
 40          self.data.mu0 = mu0 
 41          self.data.h_bar = h_bar 
 42   
 43           
 44          self.data.num_frq = 1 
 45   
 46           
 47          self.data.dip_const_fixed = 0.0 
 48          self.data.csa_const_fixed = [0.0] 
 49          self.data.dip_const_func = 0.0 
 50          self.data.csa_const_func = zeros(1, float64) 
 51   
 52           
 53          frq = frq * 2 * pi 
 54          frqX = frq * self.data.gx / self.data.gh 
 55   
 56           
 57          self.data.frq_list = zeros((1, 5), float64) 
 58          self.data.frq_list[0, 1] = frqX 
 59          self.data.frq_list[0, 2] = frq - frqX 
 60          self.data.frq_list[0, 3] = frq 
 61          self.data.frq_list[0, 4] = frq + frqX 
 62          self.data.frq_sqrd_list = self.data.frq_list ** 2 
  63   
 64   
 66          """Function for calculating the sigma NOE value.""" 
 67   
 68          return (noe - 1.0) * r1 * self.data.gx / self.data.gh 
  69   
 70   
 71 -    def func(self, r=None, csa=None, r1=None, r2=None, noe=None): 
  72          """Function for calculating the three spectal density values. 
 73   
 74          Three values are returned, J(0), J(wX), and J(wH) (or J(0.87wH)). 
 75          """ 
 76   
 77           
 78          calc_fixed_dip(self.data) 
 79          calc_fixed_csa(self.data) 
 80   
 81           
 82          comp_dip_const_func(self.data, r) 
 83          comp_csa_const_func(self.data, csa) 
 84   
 85           
 86          d = self.data.dip_const_func 
 87          c = self.data.csa_const_func[0] 
 88   
 89           
 90          sigma_noe = self.calc_sigma_noe(noe, r1) 
 91   
 92           
 93          j0 = -1.5 / (3.0*d + c) * (0.5*r1 - r2 + 0.6*sigma_noe) 
 94   
 95           
 96          jwx = 1.0 / (3.0*d + c) * (r1 - 1.4*sigma_noe) 
 97   
 98           
 99          jwh = sigma_noe / (5.0*d) 
100   
101           
102          return j0, jwx, jwh 
 107          """Empty container for storing data."""