Package functions :: Module jw_srls
[hide private]
[frames] | no frames]

Source Code for Module functions.jw_srls

 1  from re import match 
 2   
3 -class Jw:
4 - def __init__(self):
5 "Function for creating the SRLS spectral density values."
6 7
8 - def Jw(self):
9 """Function to create the SRLS spectral density values." 10 11 The spectral density equation 12 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 13 14 Data structure: self.data.jw 15 Dimension: 2D, (number of NMR frequencies, 5 spectral density frequencies) 16 Type: Numeric matrix, Float64 17 Dependencies: None 18 Required by: self.data.ri, self.data.dri, self.data.d2ri 19 20 21 Formulae 22 ~~~~~~~~ 23 24 """ 25 26 # Initialise the spectral density values. 27 self.data.jw = zeros((self.mf.data.num_frq, 5), Float64) 28 29 # Isotropic rotational diffusion. 30 if match(self.data.diff_type, 'iso'): 31 if match('m[13]', self.data.model): 32 for i in range(self.mf.data.num_frq): 33 self.data.jw[i, 0] = self.calc_jw_iso_m13(i, 0) 34 self.data.jw[i, 1] = self.calc_jw_iso_m13(i, 1) 35 self.data.jw[i, 2] = self.calc_jw_iso_m13(i, 2) 36 self.data.jw[i, 3] = self.calc_jw_iso_m13(i, 3) 37 self.data.jw[i, 4] = self.calc_jw_iso_m13(i, 4) 38 elif match('m[24]', self.data.model): 39 for i in range(self.mf.data.num_frq): 40 self.data.jw[i, 0] = self.calc_jw_iso_m24(i, 0) 41 self.data.jw[i, 1] = self.calc_jw_iso_m24(i, 1) 42 self.data.jw[i, 2] = self.calc_jw_iso_m24(i, 2) 43 self.data.jw[i, 3] = self.calc_jw_iso_m24(i, 3) 44 self.data.jw[i, 4] = self.calc_jw_iso_m24(i, 4) 45 elif match('m5', self.data.model): 46 for i in range(self.mf.data.num_frq): 47 self.data.jw[i, 0] = self.calc_jw_iso_m5(i, 0) 48 self.data.jw[i, 1] = self.calc_jw_iso_m5(i, 1) 49 self.data.jw[i, 2] = self.calc_jw_iso_m5(i, 2) 50 self.data.jw[i, 3] = self.calc_jw_iso_m5(i, 3) 51 self.data.jw[i, 4] = self.calc_jw_iso_m5(i, 4) 52 53 # Axially symmetric rotational diffusion. 54 elif match(self.data.diff_type, 'axail'): 55 raise NameError, "Axially symetric diffusion not implemented yet, quitting program." 56 57 # Anisotropic rotational diffusion. 58 elif match(self.data.diff_type, 'aniso'): 59 raise NameError, "Anisotropic diffusion not implemented yet, quitting program." 60 61 else: 62 raise NameError, "Diffusion type set incorrectly, quitting program."
63 64
65 - def calc_jw_iso_m13(self, i, frq_index):
66 "Calculate the model 1 and 3 spectral density values for isotropic rotational diffusion." 67 68 temp = 0.0 69 return temp
70 71
72 - def calc_jw_iso_m24(self, i, frq_index):
73 "Calculate the model 2 and 4 spectral density values for isotropic rotational diffusion." 74 75 temp = 0.0 76 return temp
77 78
79 - def calc_jw_iso_m5(self, i, frq_index):
80 "Calculate the model 5 spectral density values for isotropic rotational diffusion." 81 82 temp = 0.0 83 return temp
84