mailr26481 - /branches/frame_order_cleanup/lib/frame_order/iso_cone.py


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

Header


Content

Posted by edward on November 10, 2014 - 15:04:
Author: bugman
Date: Mon Nov 10 15:04:26 2014
New Revision: 26481

URL: http://svn.gna.org/viewcvs/relax?rev=26481&view=rev
Log:
Eliminated the lib.frame_order.iso_cone.populate_*() functions.

The populate_1st_eigenframe_iso_cone() function was unused and incorrect, so 
it was deleted.  The
contents of the populate_2nd_eigenframe_iso_cone() function have been shifted
compile_2nd_matrix_iso_cone() as a separate function is unnecessary.  This 
now matches all the other
lib.frame_order modules.


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

Modified: branches/frame_order_cleanup/lib/frame_order/iso_cone.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/lib/frame_order/iso_cone.py?rev=26481&r1=26480&r2=26481&view=diff
==============================================================================
--- branches/frame_order_cleanup/lib/frame_order/iso_cone.py    (original)
+++ branches/frame_order_cleanup/lib/frame_order/iso_cone.py    Mon Nov 10 
15:04:26 2014
@@ -78,8 +78,40 @@
     @type sigma_max:    float
     """
 
-    # Populate the Frame Order matrix in the eigenframe.
-    populate_2nd_eigenframe_iso_cone(matrix, cone_theta, sigma_max)
+    # Zeros.
+    matrix[:] = 0.0
+
+    # Repetitive trig calculations.
+    sinc_smax = sinc(sigma_max/pi)
+    sinc_2smax = sinc(2.0*sigma_max/pi)
+    cos_tmax = cos(cone_theta)
+    cos_tmax2 = cos_tmax**2
+
+    # Larger factors.
+    fact_sinc_2smax = sinc_2smax*(cos_tmax2 + 4.0*cos_tmax + 7.0) / 24.0
+    fact_cos_tmax2 = (cos_tmax2 + cos_tmax + 4.0) / 12.0
+    fact_cos_tmax = (cos_tmax + 1.0) / 4.0
+
+    # Diagonal.
+    matrix[0, 0] = fact_sinc_2smax  +  fact_cos_tmax2
+    matrix[1, 1] = fact_sinc_2smax  +  fact_cos_tmax
+    matrix[2, 2] = sinc_smax * (2.0*cos_tmax2 + 5.0*cos_tmax + 5.0) / 12.0
+    matrix[3, 3] = matrix[1, 1]
+    matrix[4, 4] = matrix[0, 0]
+    matrix[5, 5] = matrix[2, 2]
+    matrix[6, 6] = matrix[2, 2]
+    matrix[7, 7] = matrix[2, 2]
+    matrix[8, 8] = (cos_tmax2 + cos_tmax + 1.0) / 3.0
+
+    # Off diagonal set 1.
+    matrix[0, 4] = matrix[4, 0] = -fact_sinc_2smax  +  fact_cos_tmax2
+    matrix[0, 8] = matrix[8, 0] = -(cos_tmax2 + cos_tmax - 2.0) / 6.0
+    matrix[4, 8] = matrix[8, 4] = matrix[0, 8]
+
+    # Off diagonal set 2.
+    matrix[1, 3] = matrix[3, 1] = fact_sinc_2smax  -  fact_cos_tmax
+    matrix[2, 6] = matrix[6, 2] = sinc_smax * (cos_tmax2 + cos_tmax - 2.0) / 
6.0
+    matrix[5, 7] = matrix[7, 5] = matrix[2, 6]
 
     # Rotate and return the frame order matrix.
     return rotate_daeg(matrix, Rx2_eigen)
@@ -204,71 +236,3 @@
 
     # Return the value.
     return c * result[0] / SA
-
-
-def populate_1st_eigenframe_iso_cone(matrix, angle):
-    """Populate the 1st degree Frame Order matrix in the eigenframe for an 
isotropic cone.
-
-    The cone axis is assumed to be parallel to the z-axis in the eigenframe.
-
-    @param matrix:  The Frame Order matrix, 1st degree.
-    @type matrix:   numpy 3D, rank-2 array
-    @param angle:   The cone angle.
-    @type angle:    float
-    """
-
-    # Zeros.
-    matrix[:] = 0.0
-
-    # The c33 element.
-    matrix[2, 2] = (cos(angle) + 1.0) / 2.0
-
-
-def populate_2nd_eigenframe_iso_cone(matrix, tmax, smax):
-    """Populate the 2nd degree Frame Order matrix in the eigenframe for the 
isotropic cone.
-
-    The cone axis is assumed to be parallel to the z-axis in the eigenframe.
-
-
-    @param matrix:  The Frame Order matrix, 2nd degree.
-    @type matrix:   numpy 9D, rank-2 array
-    @param tmax:    The cone opening angle.
-    @type tmax:     float
-    @param smax:    The maximum torsion angle.
-    @type smax:     float
-    """
-
-    # Zeros.
-    matrix[:] = 0.0
-
-    # Repetitive trig calculations.
-    sinc_smax = sinc(smax/pi)
-    sinc_2smax = sinc(2.0*smax/pi)
-    cos_tmax = cos(tmax)
-    cos_tmax2 = cos_tmax**2
-
-    # Larger factors.
-    fact_sinc_2smax = sinc_2smax*(cos_tmax2 + 4.0*cos_tmax + 7.0) / 24.0
-    fact_cos_tmax2 = (cos_tmax2 + cos_tmax + 4.0) / 12.0
-    fact_cos_tmax = (cos_tmax + 1.0) / 4.0
-
-    # Diagonal.
-    matrix[0, 0] = fact_sinc_2smax  +  fact_cos_tmax2
-    matrix[1, 1] = fact_sinc_2smax  +  fact_cos_tmax
-    matrix[2, 2] = sinc_smax * (2.0*cos_tmax2 + 5.0*cos_tmax + 5.0) / 12.0
-    matrix[3, 3] = matrix[1, 1]
-    matrix[4, 4] = matrix[0, 0]
-    matrix[5, 5] = matrix[2, 2]
-    matrix[6, 6] = matrix[2, 2]
-    matrix[7, 7] = matrix[2, 2]
-    matrix[8, 8] = (cos_tmax2 + cos_tmax + 1.0) / 3.0
-
-    # Off diagonal set 1.
-    matrix[0, 4] = matrix[4, 0] = -fact_sinc_2smax  +  fact_cos_tmax2
-    matrix[0, 8] = matrix[8, 0] = -(cos_tmax2 + cos_tmax - 2.0) / 6.0
-    matrix[4, 8] = matrix[8, 4] = matrix[0, 8]
-
-    # Off diagonal set 2.
-    matrix[1, 3] = matrix[3, 1] = fact_sinc_2smax  -  fact_cos_tmax
-    matrix[2, 6] = matrix[6, 2] = sinc_smax * (cos_tmax2 + cos_tmax - 2.0) / 
6.0
-    matrix[5, 7] = matrix[7, 5] = matrix[2, 6]




Related Messages


Powered by MHonArc, Updated Mon Nov 10 16:20:02 2014