mailr24223 - in /branches/disp_spin_speed: lib/dispersion/ns_r1rho_3site.py target_functions/relax_disp.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by tlinnet on June 20, 2014 - 19:44:
Author: tlinnet
Date: Fri Jun 20 19:44:05 2014
New Revision: 24223

URL: http://svn.gna.org/viewcvs/relax?rev=24223&view=rev
Log:
Moved parameter conversion for ns r1rho 3site inside lib function.

Task #7807 (https://gna.org/task/index.php?7807): Speed-up of dispersion 
models for Clustered analysis.

Modified:
    branches/disp_spin_speed/lib/dispersion/ns_r1rho_3site.py
    branches/disp_spin_speed/target_functions/relax_disp.py

Modified: branches/disp_spin_speed/lib/dispersion/ns_r1rho_3site.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/disp_spin_speed/lib/dispersion/ns_r1rho_3site.py?rev=24223&r1=24222&r2=24223&view=diff
==============================================================================
--- branches/disp_spin_speed/lib/dispersion/ns_r1rho_3site.py   (original)
+++ branches/disp_spin_speed/lib/dispersion/ns_r1rho_3site.py   Fri Jun 20 
19:44:05 2014
@@ -65,7 +65,7 @@
 from lib.linear_algebra.matrix_exponential import matrix_exponential, 
matrix_exponential_rankN
 
 
-def ns_r1rho_3site(M0=None, r1rho_prime=None, omega=None, offset=None, 
r1=0.0, pA=None, pB=None, dw_AB=None, dw_AC=None, kex_AB=None, kex_BC=None, 
kex_AC=None, spin_lock_fields=None, relax_time=None, inv_relax_time=None, 
back_calc=None, num_points=None):
+def ns_r1rho_3site(M0=None, r1rho_prime=None, omega=None, offset=None, 
r1=0.0, pA=None, pB=None, dw_AB=None, dw_BC=None, kex_AB=None, kex_BC=None, 
kex_AC=None, spin_lock_fields=None, relax_time=None, inv_relax_time=None, 
back_calc=None, num_points=None):
     """The 3-site numerical solution to the Bloch-McConnell equation for 
R1rho data.
 
     This function calculates and stores the R1rho values.
@@ -87,8 +87,8 @@
     @type pB:                   float
     @keyword dw_AB:             The chemical exchange difference between 
states A and B in rad/s.
     @type dw_AB:                numpy float array of rank [NS][NM][NO][ND]
-    @keyword dw_AC:             The chemical exchange difference between 
states A and C in rad/s.
-    @type dw_AC:                numpy float array of rank [NS][NM][NO][ND]
+    @keyword dw_BC:             The chemical exchange difference between 
states B and C in rad/s.
+    @type dw_BC:                numpy float array of rank [NS][NM][NO][ND]
     @keyword kex_AB:            The exchange rate between sites A and B for 
3-site exchange with kex_AB = k_AB + k_BA (rad.s^-1)
     @type kex_AB:               float
     @keyword kex_BC:            The exchange rate between sites A and C for 
3-site exchange with kex_AC = k_AC + k_CA (rad.s^-1)
@@ -108,6 +108,7 @@
     """
 
     # Once off parameter conversions.
+    dw_AC = dw_AB + dw_BC
     pC = 1.0 - pA - pB
     pA_pB = pA + pB
     pA_pC = pA + pC

Modified: branches/disp_spin_speed/target_functions/relax_disp.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/disp_spin_speed/target_functions/relax_disp.py?rev=24223&r1=24222&r2=24223&view=diff
==============================================================================
--- branches/disp_spin_speed/target_functions/relax_disp.py     (original)
+++ branches/disp_spin_speed/target_functions/relax_disp.py     Fri Jun 20 
19:44:05 2014
@@ -234,6 +234,7 @@
         self.dwH_struct = deepcopy(numpy_array_zeros)
         self.dw_AB_struct = deepcopy(numpy_array_zeros)
         self.dw_AC_struct = deepcopy(numpy_array_zeros)
+        self.dw_BC_struct = deepcopy(numpy_array_zeros)
         self.dwH_AB_struct = deepcopy(numpy_array_zeros)
         self.dwH_AC_struct = deepcopy(numpy_array_zeros)
         self.phi_ex_struct = deepcopy(numpy_array_zeros)
@@ -764,18 +765,15 @@
         @rtype:                 float
         """
 
-        # Once off parameter conversions.
-        dw_AC = dw_AB + dw_BC
-
         # Convert dw from ppm to rad/s. Use the out argument, to pass 
directly to structure.
         multiply( multiply.outer( dw_AB.reshape(1, self.NS), 
self.nm_no_nd_ones ), self.frqs, out=self.dw_AB_struct )
-        multiply( multiply.outer( dw_AC.reshape(1, self.NS), 
self.nm_no_nd_ones ), self.frqs, out=self.dw_AC_struct )
+        multiply( multiply.outer( dw_BC.reshape(1, self.NS), 
self.nm_no_nd_ones ), self.frqs, out=self.dw_BC_struct )
 
         # Reshape R20 to per experiment, spin and frequency.
         self.r20_struct[:] = multiply.outer( r1rho_prime.reshape(self.NE, 
self.NS, self.NM), self.no_nd_ones )
 
         # Back calculate the R2eff values for each experiment type.
-        ns_r1rho_3site(M0=self.M0, r1rho_prime=self.r20_struct, 
omega=self.chemical_shifts, offset=self.offset, r1=self.r1, pA=pA, pB=pB, 
dw_AB=self.dw_AB_struct, dw_AC=self.dw_AC_struct, kex_AB=kex_AB, 
kex_BC=kex_BC, kex_AC=kex_AC, spin_lock_fields=self.spin_lock_omega1, 
relax_time=self.relax_times, inv_relax_time=self.inv_relax_times, 
back_calc=self.back_calc, num_points=self.num_disp_points)
+        ns_r1rho_3site(M0=self.M0, r1rho_prime=self.r20_struct, 
omega=self.chemical_shifts, offset=self.offset, r1=self.r1, pA=pA, pB=pB, 
dw_AB=self.dw_AB_struct, dw_BC=self.dw_BC_struct, kex_AB=kex_AB, 
kex_BC=kex_BC, kex_AC=kex_AC, spin_lock_fields=self.spin_lock_omega1, 
relax_time=self.relax_times, inv_relax_time=self.inv_relax_times, 
back_calc=self.back_calc, num_points=self.num_disp_points)
 
         # Clean the data for all values, which is left over at the end of 
arrays.
         self.back_calc = self.back_calc*self.disp_struct




Related Messages


Powered by MHonArc, Updated Fri Jun 20 20:20:02 2014