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
103
104
107 """Empty container for storing data."""
108