1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 from re import match
24
25
28 """Class containing the function to set the gyromagnetic ratio of the heteronucleus."""
29
30 self.relax = relax
31
32
34 """Function for finding the nucleus corresponding to 'self.relax.data.gx'."""
35
36
37 if not hasattr(self.relax.data, 'gx'):
38 return
39
40
41 if self.relax.data.gx == self.gn():
42 return 'N'
43
44
45 if self.relax.data.gx == self.gc():
46 return 'C'
47
48
49 if self.relax.data.gx == self.go():
50 return 'O'
51
52
53 if self.relax.data.gx == self.gp():
54 return 'P'
55
56
58 """The 13C gyromagnetic ratio."""
59
60 return 6.728e7
61
62
64 """The 1H gyromagnetic ratio."""
65
66
67
68
69 return 26.7522212e7
70
71
73 """The 15N gyromagnetic ratio."""
74
75 return -2.7126e7
76
77
79 """The 17O gyromagnetic ratio."""
80
81 return -3.628e7
82
83
85 """The 31P gyromagnetic ratio."""
86
87 return 1.0841e8
88
89
91 """Function for setting the gyromagnetic ratio of the heteronucleus."""
92
93
94 if match('[Nn]', heteronuc):
95 self.relax.data.gx = self.gn()
96
97
98 elif match('[Cc]', heteronuc):
99 self.relax.data.gx = self.gc()
100
101
102 elif match('[Oo]', heteronuc):
103 self.relax.data.gx = self.go()
104
105
106 elif match('[Pp]', heteronuc):
107 self.relax.data.gx = self.gp()
108
109
110 else:
111 raise RelaxInvalidError, ('heteronucleus', heteronuc)
112
113
114 self.relax.data.gh = self.gh()
115
116
117 self.relax.data.g_ratio = self.relax.data.gh / self.relax.data.gx
118