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