focus_point = [ x_gridpoints[x_directon] , y_gridpoints[y_directon] , 0.036] calculation_centre_point = [x_gridpoints[x_directon] , y_gridpoints[y_directon] , 0.036] phi_focus = phase_algorithms.phase_find(rt, focus_point[0], focus_point[1], focus_point[2]) # phi is the initial phase of each transducer to focus on a point #phi_signature = phase_algorithms.add_twin_signature(rt, np.copy(phi_focus), 90) phi_signature = phase_algorithms.add_vortex_signature(rt, np.copy(phi_focus)) #phi_signature = phase_algorithms.add_bottle_signature(rt, np.copy(phi_focus),0.03) #phi_noise = phase_algorithms.phase_random_noise(2, np.copy(phi_signature)) # number is randomness multiplier (0-1)*multiplier scaled between 0 and 2pi phi = phi_signature potential_calculated = algorithms.force_calc(calculation_centre_point, rt, nt, phi, vti = True) ## Outputs = pabs, fx, fy, fz, u_with_gravity, u_with_gravity_nano, laplace_u u_with_gravity_nano = potential_calculated[5] test_1d_array_1 = [1,2,3,4,5,4,3,4,5,6,5,4,3,2,1,2,3,2,1,0] test_1d_array_2 = [10.1,9,10,9,8,7,6,5,4,3,2,1,0,1,2,3,4,3,2,1,2,3,4,5,6,7,8,9,10,9,10.1] test_1d_array_3 = [0,1,2,3,4,5,6,7,8,9,10,9,8,7,6,5,4,3,2,1,0] ## Single Hill test_1d_array_4 = [10,9,8,7,6,5,4,3,2,1,0,1,2,3,4,5,6,7,8,9,10] ## Single vally test_2d_array_1 = [5.1,5.2,5.3,5.4,5.5,5.6,3.1,3.2,3.3,5.7,5.8,3.4,4.5,3.5,5.9,5.11,3.6,3.7,3.8,5.12,5.13,5.14,5.15,5.16,5.17]## 5 by 5 test_3d_array_1 = [0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0] flat_array = u_with_gravity_nano.flatten() ## Flat input array use .flatten()
ntrans, [0, 0, 1]) # nt is the direction vector of each transducer focus_point = [0, 0, 0] phi_focus = phase_algorithms.phase_find( rt, focus_point[0], focus_point[1], focus_point[2] ) # phi is the initial phase of each transducer to focus on a point phi_signature = phase_algorithms.add_twin_signature(rt, np.copy(phi_focus), 90) #phi_signature = phase_algorithms.add_vortex_signature(rt, np.copy(phi_focus)) #phi_signature = phase_algorithms.add_bottle_signature(rt, np.copy(phi_focus),0.03) #phi_noise = phase_algorithms.phase_random_noise(2, np.copy(phi_signature)) # number is randomness multiplier (0-1)*multiplier scaled between 0 and 2pi phi = phi_signature potential_calculated = algorithms.force_calc( focus_point, rt, nt, phi, vti=False ) ## Outputs = pabs, fx, fy, fz, u_with_gravity, u_with_gravity_nano, laplace_u u_with_gravity_nano = potential_calculated[5] potential_array = u_with_gravity_nano potential_array = np.pad(potential_array, (1), 'constant', constant_values=(0)) # Padding the edge with 0 length = len(potential_array) regions = np.full((length, length, length), 0, dtype=int) been = np.full((length, length, length), False, dtype=bool) region = 0 # First region index - 1 been[0, :, :] = True been[length - 1, :, :] = True been[:, 0, :] = True
focus_point = [ 0 , 0, 0.05] calculation_centre_point = [ 0 , 0, 0.05] phi_focus = phase_algorithms.phase_find(rt, focus_point[0], focus_point[1], focus_point[2]) # phi is the initial phase of each transducer to focus on a point phi_signature = phase_algorithms.add_twin_signature(rt, np.copy(phi_focus), 90) #phi_signature = phase_algorithms.add_vortex_signature(rt, np.copy(phi_focus)) #phi_signature = phase_algorithms.add_bottle_signature(rt, np.copy(phi_focus),0.02) #phi_noise = phase_algorithms.phase_random_noise(2, np.copy(phi_signature)) # number is randomness multiplier (0-1)*multiplier scaled between 0 and 2pi phi = phi_signature potential_calculated = algorithms.force_calc(calculation_centre_point, rt, nt, phi, vti = True) pabs = potential_calculated[0] fx = potential_calculated[1] fy = potential_calculated[2] fz = potential_calculated[3] u_with_gravity = potential_calculated[4] u_with_gravity_nano = potential_calculated[5] laplace_u = potential_calculated[6] print("For use in paraview: ") print("Trap point at index ", np.divide(focus_point, constants.deltaxyz), " Away from [0,0,0]") print("Particle radius in indexes = ", np.divide(np.divide(constants.particle_diamiter,2), constants.deltaxyz))