mailr14953 - in /1.3/test_suite/system_tests: frame_order.py scripts/frame_order/cam/rotor.py


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

Header


Content

Posted by edward on November 02, 2011 - 12:06:
Author: bugman
Date: Wed Nov  2 12:06:48 2011
New Revision: 14953

URL: http://svn.gna.org/viewcvs/relax?rev=14953&view=rev
Log:
Created the Frame_order.test_cam_rotor system test.

This is the rotor model with the rotation axis being the pivot-CoM vector.


Added:
    1.3/test_suite/system_tests/scripts/frame_order/cam/rotor.py
      - copied, changed from r14950, 
1.3/test_suite/system_tests/scripts/frame_order/cam/rotor2.py
Modified:
    1.3/test_suite/system_tests/frame_order.py

Modified: 1.3/test_suite/system_tests/frame_order.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/test_suite/system_tests/frame_order.py?rev=14953&r1=14952&r2=14953&view=diff
==============================================================================
--- 1.3/test_suite/system_tests/frame_order.py (original)
+++ 1.3/test_suite/system_tests/frame_order.py Wed Nov  2 12:06:48 2011
@@ -253,6 +253,49 @@
             self.assertAlmostEqual(ave_pos.z[i], orig_pos.z[i], 1)
 
 
+    def test_cam_rotor(self):
+        """Test the rotor frame order model of CaM."""
+
+        # Execute the script.
+        self.interpreter.run(script_file=status.install_path + 
sep+'test_suite'+sep+'system_tests'+sep+'scripts'+sep+'frame_order'+sep+'cam'+sep+'rotor.py')
+
+        # Switch to the correct data pipe.
+        self.interpreter.pipe.switch('frame order')
+
+        # The base data.
+        pivot = array([ 37.254, 0.5, 16.7465])
+        com = array([ 26.83678091, -12.37906417,  28.34154128])
+        pivot_com_axis = com - pivot
+        rot_axis = pivot_com_axis / norm(pivot_com_axis)
+
+        # The average position checks.
+        real_pos = array([[-0.31334613, -0.88922808, -0.33329811],
+                          [ 0.93737972, -0.23341205, -0.2585306 ],
+                          [ 0.15209688, -0.39343645,  0.90668313]], float64)
+        ave_pos = zeros((3, 3), float64)
+        euler_to_R_zyz(cdp.ave_pos_alpha, cdp.ave_pos_beta, 
cdp.ave_pos_gamma, ave_pos)
+        print("\nReal domain position:\n%s" % repr(real_pos))
+        print("Fitted domain position:\n%s" % repr(ave_pos))
+        for i in range(3):
+            for j in range(3):
+                self.assertAlmostEqual(ave_pos[i, j], real_pos[i, j], 1)
+
+        # The axis system.
+        axis_sys = zeros((3, 3), float64)
+        euler_to_R_zyz(cdp.eigen_alpha, cdp.eigen_beta, cdp.eigen_gamma, 
axis_sys)
+        print("\nReal rotation axis:   %s" % repr(rot_axis))
+        print("Fitted rotation axis: %s" % repr(axis_sys[:,2]))
+
+        # Check the angle between the real and fitted rotation axes.
+        angle = acos(dot(axis_sys[:,2], rot_axis))
+        if angle > pi/2:
+            angle = acos(dot(axis_sys[:,2], -rot_axis))
+        self.assertAlmostEqual(angle, 0.0, 2)
+
+        # Check the cone angle of 60 deg.
+        self.assertAlmostEqual(cdp.cone_sigma_max * 2.0, 60.0 / 360.0 * 2.0 
* pi, 2)
+
+
     def test_cam_rotor2(self):
         """Test the second rotor frame order model of CaM."""
 

Copied: 1.3/test_suite/system_tests/scripts/frame_order/cam/rotor.py (from 
r14950, 1.3/test_suite/system_tests/scripts/frame_order/cam/rotor2.py)
URL: 
http://svn.gna.org/viewcvs/relax/1.3/test_suite/system_tests/scripts/frame_order/cam/rotor.py?p2=1.3/test_suite/system_tests/scripts/frame_order/cam/rotor.py&p1=1.3/test_suite/system_tests/scripts/frame_order/cam/rotor2.py&r1=14950&r2=14953&rev=14953&view=diff
==============================================================================
--- 1.3/test_suite/system_tests/scripts/frame_order/cam/rotor2.py (original)
+++ 1.3/test_suite/system_tests/scripts/frame_order/cam/rotor.py Wed Nov  2 
12:06:48 2011
@@ -1,4 +1,4 @@
-# Script for optimising the second rotor frame order test model of CaM.
+# Script for optimising the rotor frame order test model of CaM.
 
 # Python module imports.
 from numpy import array, float64, transpose, zeros
@@ -40,7 +40,7 @@
 
         # The file paths.
         PATH_N_DOM = DATA_PATH
-        PATH_C_DOM = PATH_N_DOM+sep+'rotor2'+sep
+        PATH_C_DOM = PATH_N_DOM+sep+'rotor'+sep
 
         # Create the data pipe.
         pipe.create(pipe_name='frame order', pipe_type='frame order')
@@ -64,13 +64,13 @@
         frame_order.ref_domain('N')
 
         # Set the parameters to that after a 11 increment grid search (for a 
massive speed up).
-        value.set(val=1.7136, param='ave_pos_alpha')
+        value.set(val=2.0944, param='ave_pos_alpha')
         value.set(val=0.0, param='ave_pos_beta')
         value.set(val=0.0, param='ave_pos_gamma')
-        value.set(val=1.7136, param='eigen_alpha')
+        value.set(val=0.0, param='eigen_alpha')
         value.set(val=0.0, param='eigen_beta')
-        value.set(val=1.7136, param='eigen_gamma')
-        value.set(val=1.3138, param='cone_sigma_max')
+        value.set(val=0.0, param='eigen_gamma')
+        value.set(val=1.0472, param='cone_sigma_max')
 
         # Optimise.
         minimise('simplex', constraints=False)




Related Messages


Powered by MHonArc, Updated Wed Nov 02 14:40:02 2011