Author: bugman Date: Tue Jul 1 09:13:39 2014 New Revision: 24366 URL: http://svn.gna.org/viewcvs/relax?rev=24366&view=rev Log: Fix for the pivots created by the specific_analyses.frame_order.data.generate_pivot() function. This is for the double rotor model where the 1st mode of motion is about the 2nd pivot, and the 2nd mode of motion about the 1st pivot. Modified: branches/frame_order_cleanup/specific_analyses/frame_order/data.py Modified: branches/frame_order_cleanup/specific_analyses/frame_order/data.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/specific_analyses/frame_order/data.py?rev=24366&r1=24365&r2=24366&view=diff ============================================================================== --- branches/frame_order_cleanup/specific_analyses/frame_order/data.py (original) +++ branches/frame_order_cleanup/specific_analyses/frame_order/data.py Tue Jul 1 09:13:39 2014 @@ -107,23 +107,27 @@ # Initialise. pivot = None - # The first pivot point. - if order == 1: - pivot = array([cdp.pivot_x, cdp.pivot_y, cdp.pivot_z], float64) + # The double rotor parameterisation. + if cdp.model in ['double rotor']: + # The 2nd pivot point (the centre of the frame). + pivot_2nd = array([cdp.pivot_x, cdp.pivot_y, cdp.pivot_z], float64) - # The 2nd pivot. - elif order == 2: - # The double rotor parameterisation. - if cdp.model in ['double rotor']: - # The first pivot. - pivot_1st = array([cdp.pivot_x, cdp.pivot_y, cdp.pivot_z], float64) - + # Generate the first pivot. + if order == 1: # The eigenframe. frame = zeros((3, 3), float64) euler_to_R_zyz(cdp.eigen_alpha, cdp.eigen_beta, cdp.eigen_gamma, frame) - # The 2nd pivot. - pivot = pivot_1st + frame[:,2] * cdp.pivot_disp + # The 1st pivot. + pivot = pivot_2nd + frame[:,2] * cdp.pivot_disp + + # Alias the 2nd pivot. + elif order == 2: + pivot = pivot_2nd + + # All other models. + elif order == 1: + pivot = array([cdp.pivot_x, cdp.pivot_y, cdp.pivot_z], float64) # Return the pivot. return pivot