mailr23544 - /branches/frame_order_cleanup/lib/frame_order/pseudo_ellipse.py


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

Header


Content

Posted by edward on May 28, 2014 - 17:47:
Author: bugman
Date: Wed May 28 17:47:55 2014
New Revision: 23544

URL: http://svn.gna.org/viewcvs/relax?rev=23544&view=rev
Log:
Attempt to speed up the pseudo-elliptic frame order models.

The quasi-random numerical integration of the PCS for the pseudo-ellipse has 
been modified so that
the torsion angle check for each Sobol' point is preformed before the 
tmax_pseudo_ellipse() function
call.  A new check that the tilt angle is less than cone_theta_y, the larger 
of the two cone angles,
has also been added to avoid tmax_pseudo_ellipse() when the theta tilt angle 
is outside of an
isotropic cone defined by cone_theta_y.

Modified:
    branches/frame_order_cleanup/lib/frame_order/pseudo_ellipse.py

Modified: branches/frame_order_cleanup/lib/frame_order/pseudo_ellipse.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/lib/frame_order/pseudo_ellipse.py?rev=23544&r1=23543&r2=23544&view=diff
==============================================================================
--- branches/frame_order_cleanup/lib/frame_order/pseudo_ellipse.py      
(original)
+++ branches/frame_order_cleanup/lib/frame_order/pseudo_ellipse.py      Wed 
May 28 17:47:55 2014
@@ -632,13 +632,19 @@
         # Unpack the point.
         theta, phi, sigma = points[i]
 
+        # Check the torsion angle first, for speed.
+        if sigma > sigma_max or sigma < -sigma_max:
+            continue
+
+        # As theta_x <= theta_y, check if theta is outside of the isotropic 
cone defined by theta_y to minimise calculations for speed.
+        if theta > theta_y:
+            continue
+
         # Calculate theta_max.
         theta_max = tmax_pseudo_ellipse(phi, theta_x, theta_y)
 
         # Outside of the distribution, so skip the point.
         if theta > theta_max:
-            continue
-        if sigma > sigma_max or sigma < -sigma_max:
             continue
 
         # Calculate the PCSs for this state.




Related Messages


Powered by MHonArc, Updated Wed May 28 18:00:03 2014