Author: bugman Date: Tue Mar 16 18:18:35 2010 New Revision: 11015 URL: http://svn.gna.org/viewcvs/relax?rev=11015&view=rev Log: Fix for the ellipsoid() function for the new param_types == 3 (Dxx, Dyy, Dzz, Dxy, Dxz, Dyz) data. The ordering Dx <= Dy <= Dz was not being used so the rhombicity was incorrectly calculated. Modified: 1.3/generic_fns/diffusion_tensor.py Modified: 1.3/generic_fns/diffusion_tensor.py URL: http://svn.gna.org/viewcvs/relax/1.3/generic_fns/diffusion_tensor.py?rev=11015&r1=11014&r2=11015&view=diff ============================================================================== --- 1.3/generic_fns/diffusion_tensor.py (original) +++ 1.3/generic_fns/diffusion_tensor.py Tue Mar 16 18:18:35 2010 @@ -372,11 +372,21 @@ # Eigenvalues. Di, R = eig(tensor) + # Reordering structure. + reorder = zeros(3, int) + Di_sort = sorted(Di) + Di = Di.tolist() + R_sort = zeros((3, 3), float64) + + # Reorder columns. + for i in range(3): + R_sort[:, i] = R[:, Di.index(Di_sort[i])] + # Euler angles. - alpha, beta, gamma = R_to_euler_zyz(R) + alpha, beta, gamma = R_to_euler_zyz(R_sort) # Set the parameters. - set(value=[Di[0], Di[1], Di[2]], param=['Dx', 'Dy', 'Dz']) + set(value=[Di_sort[0], Di_sort[1], Di_sort[2]], param=['Dx', 'Dy', 'Dz']) # Unknown parameter combination. else: