mailr17952 - in /branches/frame_order_testing/maths_fns/frame_order: __init__.py pseudo_ellipse.py


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

Header


Content

Posted by edward on November 02, 2012 - 16:28:
Author: bugman
Date: Fri Nov  2 16:28:18 2012
New Revision: 17952

URL: http://svn.gna.org/viewcvs/relax?rev=17952&view=rev
Log:
The Ri_prime data structure now has one element per integration point and is 
subdivided between slaves.

This is in preparation for shifting some frame order operations from the 
target function to the
initialisation.


Modified:
    branches/frame_order_testing/maths_fns/frame_order/__init__.py
    branches/frame_order_testing/maths_fns/frame_order/pseudo_ellipse.py

Modified: branches/frame_order_testing/maths_fns/frame_order/__init__.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/maths_fns/frame_order/__init__.py?rev=17952&r1=17951&r2=17952&view=diff
==============================================================================
--- branches/frame_order_testing/maths_fns/frame_order/__init__.py (original)
+++ branches/frame_order_testing/maths_fns/frame_order/__init__.py Fri Nov  2 
16:28:18 2012
@@ -335,14 +335,19 @@
                 self.func = self.func_free_rotor_qrint
 
             # Subdivide the Sobol' data points for the slave processors.
-            blocks = []
+            blocks_sobol = []
             for block in self.subdivide(self.sobol_angles, 
self.processor.processor_size()):
-                blocks.append(block)
+                blocks_sobol.append(block)
+
+            # Subdivide the Ri prime data.
+            blocks_Ri_prime = []
+            for block in self.subdivide(self.Ri_prime, 
self.processor.processor_size()):
+                blocks_Ri_prime.append(block)
 
             # Set up the slave processors.
             self.slaves = []
             for i in range(self.processor.processor_size()):
-                
self.slaves.append(Slave_command_pcs_pseudo_ellipse_qrint(blocks[i], 
full_in_ref_frame=self.full_in_ref_frame, r_ln_pivot=self.r_ln_pivot, 
A=self.A_3D, Ri_prime=self.Ri_prime, pcs_theta=self.pcs_theta, 
pcs_theta_err=self.pcs_theta_err, missing_pcs=self.missing_pcs))
+                
self.slaves.append(Slave_command_pcs_pseudo_ellipse_qrint(blocks_sobol[i], 
full_in_ref_frame=self.full_in_ref_frame, r_ln_pivot=self.r_ln_pivot, 
A=self.A_3D, Ri_prime=blocks_Ri_prime[i], pcs_theta=self.pcs_theta, 
pcs_theta_err=self.pcs_theta_err, missing_pcs=self.missing_pcs))
 
         # The target function aliases (Scipy numerical integration).
         else:
@@ -390,7 +395,7 @@
         # The rotation to the Frame Order eigenframe.
         self.R_eigen = zeros((3, 3), float64)
         self.R_ave = zeros((3, 3), float64)
-        self.Ri_prime = zeros((3, 3), float64)
+        self.Ri_prime = zeros((self.num_int_pts, 3, 3), float64)
         self.tensor_3D = zeros((3, 3), float64)
 
         # The cone axis storage and molecular frame z-axis.

Modified: branches/frame_order_testing/maths_fns/frame_order/pseudo_ellipse.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/frame_order_testing/maths_fns/frame_order/pseudo_ellipse.py?rev=17952&r1=17951&r2=17952&view=diff
==============================================================================
--- branches/frame_order_testing/maths_fns/frame_order/pseudo_ellipse.py 
(original)
+++ branches/frame_order_testing/maths_fns/frame_order/pseudo_ellipse.py Fri 
Nov  2 16:28:18 2012
@@ -733,7 +733,7 @@
         @type r_ln_pivot:           numpy rank-2, 3D array
         @keyword A:                 The full alignment tensor of the 
non-moving domain.
         @type A:                    numpy rank-2, 3D array
-        @keyword Ri_prime:          The empty rotation matrix for the 
in-frame isotropic cone motion, used to calculate the PCS for each state i in 
the numerical integration.
+        @keyword Ri_prime:          The subdivision of rotation matrices 
used to calculate the PCS for each state i in the numerical integration.
         @type Ri_prime:             numpy rank-2, 3D array
         @keyword pcs_theta:         The storage structure for the 
back-calculated PCS values.
         @type pcs_theta:            numpy rank-2 array
@@ -808,7 +808,7 @@
                 continue
 
             # Calculate the PCSs for this state.
-            pcs_pivot_motion_full_qrint(theta_i=theta, phi_i=phi, 
sigma_i=sigma, full_in_ref_frame=self.full_in_ref_frame, 
r_pivot_atom=self.r_pivot_atom, r_pivot_atom_rev=self.r_pivot_atom_rev, 
r_ln_pivot=self.r_ln_pivot, A=self.A, R_eigen=self.R_eigen, 
RT_eigen=self.RT_eigen, Ri_prime=self.Ri_prime, pcs_theta=self.pcs_theta, 
pcs_theta_err=self.pcs_theta_err, missing_pcs=self.missing_pcs)
+            pcs_pivot_motion_full_qrint(theta_i=theta, phi_i=phi, 
sigma_i=sigma, full_in_ref_frame=self.full_in_ref_frame, 
r_pivot_atom=self.r_pivot_atom, r_pivot_atom_rev=self.r_pivot_atom_rev, 
r_ln_pivot=self.r_ln_pivot, A=self.A, R_eigen=self.R_eigen, 
RT_eigen=self.RT_eigen, Ri_prime=self.Ri_prime[i], pcs_theta=self.pcs_theta, 
pcs_theta_err=self.pcs_theta_err, missing_pcs=self.missing_pcs)
 
             # Increment the number of points.
             num += 1




Related Messages


Powered by MHonArc, Updated Fri Nov 02 17:40:02 2012