Author: bugman Date: Thu Jul 2 03:01:41 2009 New Revision: 9174 URL: http://svn.gna.org/viewcvs/relax?rev=9174&view=rev Log: Partly reverted r9167 - the previous reversion. The command used was: svn merge -r9167:9166 maths_fns/frame_order_models.py Modified: branches/frame_order/maths_fns/frame_order_models.py Modified: branches/frame_order/maths_fns/frame_order_models.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order/maths_fns/frame_order_models.py?rev=9174&r1=9173&r2=9174&view=diff ============================================================================== --- branches/frame_order/maths_fns/frame_order_models.py (original) +++ branches/frame_order/maths_fns/frame_order_models.py Thu Jul 2 03:01:41 2009 @@ -116,6 +116,10 @@ self.red_errors = red_errors self.red_tensors_bc = zeros(self.num_tensors*5, float64) + # The cone axis storage and molecular frame z-axis. + self.cone_axis = zeros(3, float64) + self.z_axis = array([0, 0, 1], float64) + # The rotation to the Frame Order eigenframe. self.rot = zeros((3, 3), float64) self.tensor_3D = zeros((3, 3), float64) @@ -142,6 +146,10 @@ # The errors. self.errors = ones((9, 9), float64) + # The cone axis storage and molecular frame z-axis. + self.cone_axis = zeros(3, float64) + self.z_axis = array([0, 0, 1], float64) + # The rotation. self.rot = zeros((3, 3), float64) @@ -155,12 +163,11 @@ def func_iso_cone(self, params): """Target function for isotropic cone model optimisation using the alignment tensors. - This function optimises against alignment tensors. The Frame Order eigenframe via the - alpha, beta, and gamma Euler angles, and the cone angle theta are the 4 parameters optimised - in this model. - - @param params: The vector of parameter values {alpha, beta, gamma, theta} where the first - three are the Euler angles for the Frame Order eigenframe and theta is the + This function optimises against alignment tensors. The cone axis spherical angles theta and + phi and the cone angle theta are the 3 parameters optimised in this model. + + @param params: The vector of parameter values {theta, phi, theta_cone} where the first two + are the polar and azimuthal angles of the cone axis theta_cone is the isotropic cone angle. @type params: list of float @return: The chi-squared or SSE value. @@ -171,7 +178,7 @@ alpha, beta, gamma, theta, phi, theta_cone = params # Generate the 2nd degree Frame Order super matrix. - self.frame_order_2nd = compile_2nd_matrix_iso_cone(self.frame_order_2nd, self.rot, alpha, beta, gamma, theta) + self.frame_order_2nd = compile_2nd_matrix_iso_cone(self.frame_order_2nd, self.rot, self.z_axis, self.cone_axis, theta, phi, theta_cone) # Reduced alignment tensor rotation into the eigenframe. R_euler_zyz(self.rot, alpha, beta, gamma) @@ -197,11 +204,11 @@ """Target function for isotropic cone model optimisation using the Frame Order matrix. This function optimises by directly matching the elements of the 2nd degree Frame Order - super matrix. The Frame Order eigenframe via the alpha, beta, and gamma Euler angles, and - the cone angle theta are the 4 parameters optimised in this model. - - @param params: The vector of parameter values {alpha, beta, gamma, theta} where the first - three are the Euler angles for the Frame Order eigenframe and theta is the + super matrix. The cone axis spherical angles theta and phi and the cone angle theta are the + 3 parameters optimised in this model. + + @param params: The vector of parameter values {theta, phi, theta_cone} where the first two + are the polar and azimuthal angles of the cone axis theta_cone is the isotropic cone angle. @type params: list of float @return: The chi-squared or SSE value. @@ -209,10 +216,10 @@ """ # Break up the parameters. - alpha, beta, gamma, theta = params + theta, phi, theta_cone = params # Generate the 2nd degree Frame Order super matrix. - self.frame_order_2nd = compile_2nd_matrix_iso_cone(self.frame_order_2nd, self.rot, alpha, beta, gamma, theta) + self.frame_order_2nd = compile_2nd_matrix_iso_cone(self.frame_order_2nd, self.rot, self.z_axis, self.cone_axis, theta, phi, theta_cone) # Make the Frame Order matrix contiguous. self.frame_order_2nd = self.frame_order_2nd.copy()