vect_z = array([2, 1, 3], float64) r, theta, phi = cartesian_to_spherical(vect_z) # Load the tensors. self._execute_uf(uf_name='script', file=status.install_path + sep+'test_suite'+sep+'system_tests'+sep+'scripts'+sep+'frame_order'+sep+'tensors'+sep+'free_rotor_axis2_1_3_rot_tensors.py') # Data init. cdp.ave_pos_beta = 0.5 cdp.ave_pos_gamma = 0.2 cdp.axis_theta = theta cdp.axis_phi = phi # Select the Frame Order model. self._execute_uf(uf_name='frame_order.select_model', model='free rotor') # Set the reference domain. self._execute_uf(uf_name='frame_order.ref_domain', ref='full') # Calculate the chi2. self._execute_uf(uf_name='calc') #cdp.chi2b = cdp.chi2 #self._execute_uf(uf_name='minimise', min_algor='simplex') ds.chi2 = cdp.chi2 # Save the program state. #self._execute_uf(uf_name='state.save', state="free_rotor", force=True) # Chi2 printout. print("\n\n") print("Chi2: %s" % cdp.chi2)
# The incremented angle. if val == 'var': val = get_angle(i, incs=INC, deg=False) # Set the parameter name, storing an original copy for optimisation comparison. setattr(cdp, params[j], val) setattr(cdp, 'orig_' + params[j], val) # Select the Frame Order model. self._execute_uf(uf_name='frame_order.select_model', model='pseudo-ellipse, free rotor') # Set the reference domain. self._execute_uf(uf_name='frame_order.ref_domain', ref='full') # Calculate the chi2. self._execute_uf(uf_name='calc') #cdp.chi2b = cdp.chi2 #self._execute_uf(uf_name='minimise', min_algor='simplex') chi2[round].append(cdp.chi2) # Save the program state. #self._execute_uf(uf_name='state.save', state="pseudo_ellipse_free_rotor%s" % round, force=True) # Chi2 printout. ds.chi2 = chi2 print("\n\n") for round in range(len(files)): print("\n\nFile: %s\n" % files[round]) for i in range(INC): print("Cone %3i deg, chi2: %s" % (get_angle(i, incs=INC, deg=True), chi2[round][i]))
vect_x = vect_x / norm(vect_x) vect_y = vect_y / norm(vect_y) vect_z = vect_z / norm(vect_z) # Build the frame. EIG_FRAME = zeros((3, 3), float64) EIG_FRAME[:, 0] = vect_x EIG_FRAME[:, 1] = vect_y EIG_FRAME[:, 2] = vect_z a, b, g = R_to_euler_zyz(EIG_FRAME) # Load the tensors. self._execute_uf(uf_name='script', file=status.install_path + sep+'test_suite'+sep+'system_tests'+sep+'scripts'+sep+'frame_order'+sep+'tensors'+sep+'iso_cone_free_rotor_axis2_1_3_tensors_beta78_75.py') # Data stores. ds.chi2 = [] ds.angles = [] # Loop over the cones. for i in range(INC): # Switch data pipes. ds.angles.append(get_angle(i, incs=INC, deg=True)) self._execute_uf(uf_name='pipe.switch', pipe_name='cone_%.1f_deg' % ds.angles[-1]) # Data init. cdp.ave_pos_alpha = cdp.ave_pos_alpha2 = 0.0 cdp.ave_pos_beta = cdp.ave_pos_beta2 = 78.75 / 360.0 * 2.0 * pi cdp.ave_pos_gamma = cdp.ave_pos_gamma2 = 0.0 cdp.eigen_alpha = cdp.eigen_alpha2 = a cdp.eigen_beta = cdp.eigen_beta2 = b cdp.eigen_gamma = cdp.eigen_gamma2 = g