# Optimise the pivot and model, again iterating with increasing precision. frame_order.pivot(pivot, fix=False) num_int_pts = [1000, 10000, 50000] func_tol = [1e-2, 1e-3, 1e-4] for i in range(len(num_int_pts)): frame_order.num_int_pts(num=num_int_pts[i]) minimise.execute('simplex', func_tol=func_tol[i]) # The distance from the optimised pivot and the rotation axis. opt_piv = array([cdp.pivot_x, cdp.pivot_y, cdp.pivot_z]) print("\n\nOptimised pivot displacement: %s" % norm(pivot - opt_piv)) pt = closest_point_ax(line_pt=pivot, axis=AXIS, point=opt_piv) print("Distance from axis: %s\n" % norm(pt - opt_piv)) # Recreate the axis and compare to the original. opt_axis = create_rotor_axis_alpha(alpha=cdp.axis_alpha, pivot=opt_piv, point=pipe_centre_of_mass(verbosity=0)) print("Original axis: %s" % AXIS) print("Optimised axis: %s" % opt_axis) # Test Monte Carlo simulations. frame_order.num_int_pts(num=10000) monte_carlo.setup(number=5) monte_carlo.create_data() monte_carlo.initial_values() minimise.execute('simplex', func_tol=1e-2) eliminate() monte_carlo.error_analysis() # Create the PDB representation. frame_order.pdb_model(ave_pos='ave_pos', rep='frame_order', dist=None, compress_type=2, force=True)
# Optimise the pivot and model, again iterating with increasing precision. frame_order.pivot(pivot, fix=False) num_int_pts = [1000, 10000, 50000] func_tol = [1e-2, 1e-3, 1e-4] for i in range(len(num_int_pts)): frame_order.num_int_pts(num=num_int_pts[i]) minimise.execute('simplex', func_tol=func_tol[i]) # The distance from the optimised pivot and the rotation axis. opt_piv = array([cdp.pivot_x, cdp.pivot_y, cdp.pivot_z]) print("\n\nOptimised pivot displacement: %s" % norm(pivot - opt_piv)) pt = closest_point_ax(line_pt=pivot, axis=AXIS, point=opt_piv) print("Distance from axis: %s\n" % norm(pt - opt_piv)) # Recreate the axis and compare to the original. opt_axis = create_rotor_axis_alpha(alpha=cdp.axis_alpha, pivot=opt_piv, point=pipe_centre_of_mass(verbosity=0)) print("Original axis: %s" % AXIS) print("Optimised axis: %s" % opt_axis) # Test Monte Carlo simulations. frame_order.num_int_pts(num=10000) monte_carlo.setup(number=5) monte_carlo.create_data() monte_carlo.initial_values() minimise.execute('simplex', func_tol=1e-2) eliminate() monte_carlo.error_analysis() # Create the PDB representation. frame_order.pdb_model(ave_pos='ave_pos', rep='frame_order', compress_type=2, force=True)