mailr15098 - in /branches/frame_order_testing: maths_fns/frame_order.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 December 15, 2011 - 11:16:
Author: bugman
Date: Thu Dec 15 11:16:34 2011
New Revision: 15098

URL: http://svn.gna.org/viewcvs/relax?rev=15098&view=rev
Log:
Eliminated the full motional eigenframe of the isotropic cone frame order 
model.

To define the frame of this motional model, only the central cone axis is 
required.  Therefore the
three Euler angles have been eliminated and replaced by two spherical 
coordinates of the cone axis.


Modified:
    branches/frame_order_testing/maths_fns/frame_order.py
    branches/frame_order_testing/specific_fns/frame_order.py

Modified: branches/frame_order_testing/maths_fns/frame_order.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/maths_fns/frame_order.py?rev=15098&r1=15097&r2=15098&view=diff
==============================================================================
--- branches/frame_order_testing/maths_fns/frame_order.py (original)
+++ branches/frame_order_testing/maths_fns/frame_order.py Thu Dec 15 11:16:34 
2011
@@ -419,12 +419,15 @@
         # Unpack the parameters.
         if self.pivot_opt:
             self._param_pivot = params[:3]
-            ave_pos_alpha, ave_pos_beta, ave_pos_gamma, eigen_alpha, 
eigen_beta, eigen_gamma, cone_theta, sigma_max = params[3:]
+            ave_pos_alpha, ave_pos_beta, ave_pos_gamma, axis_theta, 
axis_phi, cone_theta, sigma_max = params[3:]
         else:
-            ave_pos_alpha, ave_pos_beta, ave_pos_gamma, eigen_alpha, 
eigen_beta, eigen_gamma, cone_theta, sigma_max = params
-
-        # Average position rotation.
-        euler_to_R_zyz(eigen_alpha, eigen_beta, eigen_gamma, self.R_eigen)
+            ave_pos_alpha, ave_pos_beta, ave_pos_gamma, axis_theta, 
axis_phi, cone_theta, sigma_max = params
+
+        # Generate the cone axis from the spherical angles.
+        spherical_to_cartesian([1.0, axis_theta, axis_phi], self.cone_axis)
+
+        # Pre-calculate the eigenframe rotation matrix.
+        two_vect_to_R(self.z_axis, self.cone_axis, self.R_eigen)
 
         # The Kronecker product of the eigenframe rotation.
         Rx2_eigen = kron_prod(self.R_eigen, self.R_eigen)

Modified: branches/frame_order_testing/specific_fns/frame_order.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/specific_fns/frame_order.py?rev=15098&r1=15097&r2=15098&view=diff
==============================================================================
--- branches/frame_order_testing/specific_fns/frame_order.py (original)
+++ branches/frame_order_testing/specific_fns/frame_order.py Thu Dec 15 
11:16:34 2011
@@ -111,13 +111,13 @@
                 param_vect.append(cdp.ave_pos_gamma)
 
             # Frame order eigenframe - the full frame.
-            if cdp.model in ['iso cone', 'pseudo-ellipse', 'pseudo-ellipse, 
torsionless', 'pseudo-ellipse, free rotor']:
+            if cdp.model in ['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 ['free rotor', 'iso cone, torsionless', 'iso 
cone, free rotor', 'rotor']:
+            elif cdp.model in ['iso cone', 'free rotor', 'iso cone, 
torsionless', 'iso cone, free rotor', 'rotor']:
                 param_vect.append(cdp.axis_theta)
                 param_vect.append(cdp.axis_phi)
 
@@ -145,13 +145,13 @@
                 param_vect = [cdp.ave_pos_alpha_sim[sim_index], 
cdp.ave_pos_beta_sim[sim_index], cdp.ave_pos_gamma_sim[sim_index]]
 
             # Frame order eigenframe - the full frame.
-            if cdp.model in ['iso cone', 'pseudo-ellipse', 'pseudo-ellipse, 
torsionless', 'pseudo-ellipse, free rotor']:
+            if cdp.model in ['pseudo-ellipse', 'pseudo-ellipse, 
torsionless', 'pseudo-ellipse, free rotor']:
                 param_vect.append(cdp.eigen_alpha_sim[sim_index])
                 param_vect.append(cdp.eigen_beta_sim[sim_index])
                 param_vect.append(cdp.eigen_gamma_sim[sim_index])
 
             # Frame order eigenframe - the isotropic cone axis.
-            elif cdp.model in ['free rotor', 'iso cone, torsionless', 'iso 
cone, free rotor', 'rotor']:
+            elif cdp.model in ['iso cone', 'free rotor', 'iso cone, 
torsionless', 'iso cone, free rotor', 'rotor']:
                 param_vect.append(cdp.axis_theta_sim[sim_index])
                 param_vect.append(cdp.axis_phi_sim[sim_index])
 
@@ -378,6 +378,7 @@
 
                 # Fill the structure.
                 for i in range(cdp.sim_number):
+                    # The positive system.
                     euler_to_R_zyz(cdp.eigen_alpha_sim[i], 
cdp.eigen_beta_sim[i], cdp.eigen_gamma_sim[i], axes_sim[:, i])
 
                 # Rotation and inversion.
@@ -874,11 +875,11 @@
             num += 3
 
         # Frame order eigenframe - the full frame.
-        if cdp.model in ['iso cone', 'pseudo-ellipse', 'pseudo-ellipse, 
torsionless', 'pseudo-ellipse, free rotor']:
+        if cdp.model in ['pseudo-ellipse', 'pseudo-ellipse, torsionless', 
'pseudo-ellipse, free rotor']:
             num += 3
 
         # Frame order eigenframe - the isotropic cone axis.
-        elif cdp.model in ['free rotor', 'iso cone, torsionless', 'iso cone, 
free rotor', 'rotor']:
+        elif cdp.model in ['iso cone', 'free rotor', 'iso cone, 
torsionless', 'iso cone, free rotor', 'rotor']:
             num += 2
 
         # Cone parameters - pseudo-elliptic cone parameters.
@@ -1157,13 +1158,13 @@
         cdp.params.append('ave_pos_gamma')
 
         # Frame order eigenframe - the full frame.
-        if cdp.model in ['iso cone', 'pseudo-ellipse', 'pseudo-ellipse, 
torsionless', 'pseudo-ellipse, free rotor']:
+        if cdp.model in ['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 ['free rotor', 'iso cone, torsionless', 'iso cone, 
free rotor', 'rotor']:
+        elif cdp.model in ['iso cone', 'free rotor', 'iso cone, 
torsionless', 'iso cone, free rotor', 'rotor']:
             cdp.params.append('axis_theta')
             cdp.params.append('axis_phi')
 
@@ -1243,7 +1244,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, eigen_alpha, 
eigen_beta, eigen_gamma, cone_theta, cone_sigma_max = param_vector
+            ave_pos_alpha, ave_pos_beta, ave_pos_gamma, axis_theta, 
axis_phi, cone_theta, cone_sigma_max = param_vector
         elif cdp.model in ['iso cone, torsionless']:
             ave_pos_beta, ave_pos_gamma, axis_theta, axis_phi, cone_theta = 
param_vector
             ave_pos_alpha = None
@@ -1543,13 +1544,13 @@
             names.append('ave_pos_gamma%s' % suffix)
 
             # Frame order eigenframe - the full frame.
-            if cdp.model in ['iso cone', 'pseudo-ellipse', 'pseudo-ellipse, 
torsionless', 'pseudo-ellipse, free rotor']:
+            if cdp.model in ['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 ['free rotor', 'iso cone, torsionless', 'iso 
cone, free rotor', 'rotor']:
+            elif cdp.model in ['iso cone', 'free rotor', 'iso cone, 
torsionless', 'iso cone, free rotor', 'rotor']:
                 names.append('axis_theta%s' % suffix)
                 names.append('axis_phi%s' % suffix)
 




Related Messages


Powered by MHonArc, Updated Thu Dec 15 13:40:02 2011