mailr11431 - in /1.3: maths_fns/frame_order.py maths_fns/frame_order_matrix_ops.py specific_fns/frame_order.py


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

Header


Content

Posted by edward on August 06, 2010 - 15:12:
Author: bugman
Date: Fri Aug  6 15:12:56 2010
New Revision: 11431

URL: http://svn.gna.org/viewcvs/relax?rev=11431&view=rev
Log:
The isotropic cone frame order model now uses the full eigenframe.

This is necessary to define the torsion angle restriction.


Modified:
    1.3/maths_fns/frame_order.py
    1.3/maths_fns/frame_order_matrix_ops.py
    1.3/specific_fns/frame_order.py

Modified: 1.3/maths_fns/frame_order.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/maths_fns/frame_order.py?rev=11431&r1=11430&r2=11431&view=diff
==============================================================================
--- 1.3/maths_fns/frame_order.py (original)
+++ 1.3/maths_fns/frame_order.py Fri Aug  6 15:12:56 2010
@@ -220,10 +220,10 @@
         """
 
         # Unpack the parameters.
-        ave_pos_alpha, ave_pos_beta, ave_pos_gamma, axis_theta, axis_phi, 
cone_theta, sigma_max = params
-
-        # Generate the 2nd degree Frame Order super matrix.
-        frame_order_2nd = compile_2nd_matrix_iso_cone(self.frame_order_2nd, 
self.rot, self.z_axis, self.cone_axis, axis_theta, axis_phi, cone_theta, 
sigma_max)
+        ave_pos_alpha, ave_pos_beta, ave_pos_gamma, eigen_alpha, eigen_beta, 
eigen_gamma, cone_theta, sigma_max = params
+
+        # Generate the 2nd degree Frame Order super matrix.
+        frame_order_2nd = compile_2nd_matrix_iso_cone(self.frame_order_2nd, 
self.rot, eigen_alpha, eigen_beta, eigen_gamma, cone_theta, sigma_max)
 
         # Reduce and rotate the tensors.
         self.reduce_and_rot(ave_pos_alpha, ave_pos_beta, ave_pos_gamma, 
frame_order_2nd)

Modified: 1.3/maths_fns/frame_order_matrix_ops.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/maths_fns/frame_order_matrix_ops.py?rev=11431&r1=11430&r2=11431&view=diff
==============================================================================
--- 1.3/maths_fns/frame_order_matrix_ops.py (original)
+++ 1.3/maths_fns/frame_order_matrix_ops.py Fri Aug  6 15:12:56 2010
@@ -60,7 +60,7 @@
     matrix[2, 2] = fact * quad(part_int_daeg1_pseudo_ellipse_zz, -pi, pi, 
args=(theta_x, theta_y, sigma_max), full_output=1)[0]
 
 
-def compile_2nd_matrix_iso_cone(matrix, R, z_axis, cone_axis, theta_axis, 
phi_axis, cone_theta, sigma_max):
+def compile_2nd_matrix_iso_cone(matrix, R, eigen_alpha, eigen_beta, 
eigen_gamma, cone_theta, sigma_max):
     """Generate the rotated 2nd degree Frame Order matrix for the isotropic 
cone.
 
     The cone axis is assumed to be parallel to the z-axis in the eigenframe.
@@ -69,28 +69,23 @@
     @type matrix:       numpy 9D, rank-2 array
     @param R:           The rotation matrix to be populated.
     @type R:            numpy 3D, rank-2 array
-    @param z_axis:      The molecular frame z-axis from which the cone axis 
is rotated from.
-    @type z_axis:       numpy 3D, rank-1 array
-    @param cone_axis:   The storage structure for the cone axis.
-    @type cone_axis:    numpy 3D, rank-1 array
-    @param theta_axis:  The cone axis polar angle.
-    @type theta_axis:   float
-    @param phi_axis:    The cone axis azimuthal angle.
-    @type phi_axis:     float
+    @param eigen_alpha: The eigenframe rotation alpha Euler angle.
+    @type eigen_alpha:  float
+    @param eigen_beta:  The eigenframe rotation beta Euler angle.
+    @type eigen_beta:   float
+    @param eigen_gamma: The eigenframe rotation gamma Euler angle.
+    @type eigen_gamma:  float
     @param cone_theta:  The cone opening angle.
     @type cone_theta:   float
     @param sigma_max:   The maximum torsion angle.
     @type sigma_max:    float
     """
 
-    # Generate the cone axis from the spherical angles.
-    spherical_to_cartesian([1.0, theta_axis, phi_axis], cone_axis)
-
     # Populate the Frame Order matrix in the eigenframe.
     populate_2nd_eigenframe_iso_cone(matrix, cone_theta, sigma_max)
 
     # Average position rotation.
-    two_vect_to_R(z_axis, cone_axis, R)
+    euler_to_R_zyz(eigen_alpha, eigen_beta, eigen_gamma, R)
 
     # Rotate and return the frame order matrix.
     return rotate_daeg(matrix, R)

Modified: 1.3/specific_fns/frame_order.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/specific_fns/frame_order.py?rev=11431&r1=11430&r2=11431&view=diff
==============================================================================
--- 1.3/specific_fns/frame_order.py (original)
+++ 1.3/specific_fns/frame_order.py Fri Aug  6 15:12:56 2010
@@ -91,13 +91,13 @@
             param_vect = [cdp.ave_pos_alpha, cdp.ave_pos_beta, 
cdp.ave_pos_gamma]
 
         # Frame order eigenframe - the full frame.
-        if cdp.model in ['pseudo-ellipse', 'pseudo-ellipse, torsionless', 
'pseudo-ellipse, free rotor']:
+        if cdp.model in ['iso cone', 'pseudo-ellipse', 'pseudo-ellipse, 
torsionless', 'pseudo-ellipse, free rotor']:
             param_vect.append(cdp.eigen_alpha)
             param_vect.append(cdp.eigen_beta)
             param_vect.append(cdp.eigen_gamma)
 
         # Frame order eigenframe - the isotropic cone axis.
-        elif cdp.model in ['iso cone', 'iso cone, torsionless', 'iso cone, 
free rotor']:
+        elif cdp.model in ['iso cone, torsionless', 'iso cone, free rotor']:
             param_vect.append(cdp.axis_theta)
             param_vect.append(cdp.axis_phi)
 
@@ -505,13 +505,13 @@
             cdp.params.append('ave_pos_gamma')
 
             # Frame order eigenframe - the full frame.
-            if cdp.model in ['pseudo-ellipse', 'pseudo-ellipse, 
torsionless', 'pseudo-ellipse, free rotor']:
+            if cdp.model in ['iso cone', 'pseudo-ellipse', 'pseudo-ellipse, 
torsionless', 'pseudo-ellipse, free rotor']:
                 cdp.params.append('eigen_alpha')
                 cdp.params.append('eigen_beta')
                 cdp.params.append('eigen_gamma')
 
             # Frame order eigenframe - the isotropic cone axis.
-            elif cdp.model in ['iso cone', 'iso cone, torsionless', 'iso 
cone, free rotor']:
+            elif cdp.model in ['iso cone, torsionless', 'iso cone, free 
rotor']:
                 cdp.params.append('axis_theta')
                 cdp.params.append('axis_phi')
 
@@ -575,7 +575,7 @@
         elif cdp.model in ['pseudo-ellipse, torsionless', 'pseudo-ellipse, 
free rotor']:
             ave_pos_alpha, ave_pos_beta, ave_pos_gamma, eigen_alpha, 
eigen_beta, eigen_gamma, cone_theta_x, cone_theta_y = param_vector
         elif cdp.model == 'iso cone':
-            ave_pos_alpha, ave_pos_beta, ave_pos_gamma, axis_theta, 
axis_phi, cone_theta, cone_sigma_max = param_vector
+            ave_pos_alpha, ave_pos_beta, ave_pos_gamma, eigen_alpha, 
eigen_beta, eigen_gamma, cone_theta, cone_sigma_max = param_vector
         elif cdp.model in ['iso cone, torsionless', 'iso cone, free rotor']:
             ave_pos_beta, ave_pos_gamma, axis_theta, axis_phi, cone_s1 = 
param_vector
             ave_pos_alpha = 0.0
@@ -790,13 +790,13 @@
             names.append('ave_pos_gamma%s' % suffix)
 
             # Frame order eigenframe - the full frame.
-            if cdp.model in ['pseudo-ellipse', 'pseudo-ellipse, 
torsionless', 'pseudo-ellipse, free rotor']:
+            if cdp.model in ['iso cone', 'pseudo-ellipse', 'pseudo-ellipse, 
torsionless', 'pseudo-ellipse, free rotor']:
                 names.append('eigen_alpha%s' % suffix)
                 names.append('eigen_beta%s' % suffix)
                 names.append('eigen_gamma%s' % suffix)
 
             # Frame order eigenframe - the isotropic cone axis.
-            elif cdp.model in ['iso cone', 'iso cone, torsionless', 'iso 
cone, free rotor']:
+            elif cdp.model in ['iso cone, torsionless', 'iso cone, free 
rotor']:
                 names.append('axis_theta%s' % suffix)
                 names.append('axis_phi%s' % suffix)
 




Related Messages


Powered by MHonArc, Updated Fri Aug 06 15:40:01 2010