mailr22960 - /trunk/lib/dispersion/b14.py


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

Header


Content

Posted by tlinnet on May 05, 2014 - 20:18:
Author: tlinnet
Date: Mon May  5 20:18:04 2014
New Revision: 22960

URL: http://svn.gna.org/viewcvs/relax?rev=22960&view=rev
Log:
Changed float powers of 2. to integer powers of 2, to speed up the 
calculations.

sr #3154: (https://gna.org/support/?3154) Implementation of Baldwin (2014) 
B14 model - 2-site exact solution model for all time scales.

This change did not do a large change in speed, but is more proper.

This follows the tutorial for adding relaxation dispersion models at:
http://wiki.nmr-relax.com/Tutorial_for_adding_relaxation_dispersion_models_to_relax#Debugging

Modified:
    trunk/lib/dispersion/b14.py

Modified: trunk/lib/dispersion/b14.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/lib/dispersion/b14.py?rev=22960&r1=22959&r2=22960&view=diff
==============================================================================
--- trunk/lib/dispersion/b14.py (original)
+++ trunk/lib/dispersion/b14.py Mon May  5 20:18:04 2014
@@ -151,18 +151,18 @@
     #########################################################################
     #get the real and imaginary components of the exchange induced shift
     g1=2*dw*(deltaR2+keg-kge)                   #same as carver richards zeta
-    g2=(deltaR2+keg-kge)**2.0+4*keg*kge-dw**2   #same as carver richards psi
-    g3=cos(0.5*atan2(g1,g2))*(g1**2.0+g2**2.0)**(1/4.0)   #trig faster than 
square roots
-    g4=sin(0.5*atan2(g1,g2))*(g1**2.0+g2**2.0)**(1/4.0)   #trig faster than 
square roots
+    g2=(deltaR2+keg-kge)**2+4*keg*kge-dw**2   #same as carver richards psi
+    g3=cos(0.5*atan2(g1,g2))*(g1**2+g2**2)**(1/4.0)   #trig faster than 
square roots
+    g4=sin(0.5*atan2(g1,g2))*(g1**2+g2**2)**(1/4.0)   #trig faster than 
square roots
     #########################################################################
     #time independent factors
     N=complex(kge+g3-kge,g4)            #N=oG+oE
-    NNc=(g3**2.+g4**2.)
-    f0=(dw**2.+g3**2.)/(NNc)              #f0
-    f2=(dw**2.-g4**2.)/(NNc)              #f2
+    NNc=(g3**2+g4**2)
+    f0=(dw**2+g3**2)/(NNc)              #f0
+    f2=(dw**2-g4**2)/(NNc)              #f2
     #t1=(-dw+g4)*(complex(-dw,-g3))/(NNc) #t1
     t2=(dw+g4)*(complex(dw,-g3))/(NNc) #t2
-    t1pt2=complex(2*dw**2.,-g1)/(NNc)     #t1+t2
+    t1pt2=complex(2*dw**2,-g1)/(NNc)     #t1+t2
     oGt2=complex((deltaR2+keg-kge-g3),(dw-g4))*t2  #-2*oG*t2
     Rpre=(R2g+R2e+kex)/2.0   #-1/Trel*log(LpreDyn)
     E0= 2.0*tcp*g3  #derived from relaxation       #E0=-2.0*tcp*(f00R-f11R)
@@ -171,7 +171,7 @@
     ex0b=(f0*numpy.cosh(E0)-f2*numpy.cos(E2))               #real
     ex0c=(f0*numpy.sinh(E0)-f2*numpy.sin(E2)*complex(0,1.)) #complex
     ex1c=(numpy.sinh(E1))                                   #complex
-    v3=numpy.sqrt(ex0b**2.-1)  #exact result for v2v3
+    v3=numpy.sqrt(ex0b**2-1)  #exact result for v2v3
     y=numpy.power((ex0b-v3)/(ex0b+v3),ncyc)
     v2pPdN=(( complex(deltaR2+kex,dw) )*ex0c+(-oGt2-kge*t1pt2)*2*ex1c)       
 #off diagonal common factor. sinh fuctions
     Tog=(((1+y)/2+(1-y)/(2*v3)*(v2pPdN)/N))




Related Messages


Powered by MHonArc, Updated Mon May 05 20:20:02 2014