def FandTGen(N): #Constants and Parametres iterations_of_positions = 10000 mean_length_list = [] #Empty List to be filled later origin = [0,0,0] #Empty lists to fill later number_list = [] mean_mag_force_list = [] mean_mag_torque_list = [] summed_force_list = [] summed_torque_list = [] for i in range(iterations_of_positions): #more empty lists innit initial_force_list = [] final_force_list = [] torque_list = [] for i in range(N): #This loop generates a sphere magnitude, vector = obs.RandSphere(N) initial_force_list.append(vector) #print(initial_force_list) transformed_v = obs.translation(vector, initial_force_list) #transforiming to get a nice graph for i in range(N): transformed_v[i] = transformed_v[i] / np.linalg.norm(transformed_v[i]) #literally for getting a nice graph alpha_list = [] #list for angles to the sphere for i in range(N): mtx,alpha = obs.fullrotation(transformed_v[i]) final_force_list.append(mtx) alpha_list.append(alpha) summed_force_list.append(obs.forces(final_force_list)) summed_torque_list.append(obs.torque(final_force_list, initial_force_list, N, torque_list)) mean_mag_force_list.append(scipy.linalg.norm(obs.forces(final_force_list))) mean_mag_torque_list.append(scipy.linalg.norm(obs.torque(final_force_list, initial_force_list, N, torque_list))) mean_force = sum(mean_mag_force_list)/(iterations_of_positions) mean_torque = sum(mean_mag_torque_list)/(iterations_of_positions) return(mean_force, mean_torque, sum(summed_force_list)/iterations_of_positions, sum(summed_torque_list)/iterations_of_positions)
iterations_of_numbers = 8 #How many times we want to increase number of sperm mean_length_list = [] #Empty List to be filled later flagella_number_list = [] #Ditto origin = [0,0,0] N = 2 n_bins = 30 #Bins for the histogram plot time1 = timeit.default_timer() #Timing The Loop for i in range(iterations_of_numbers): vector_magnitude_list = [] for i in range(iterations_of_postitions): #This loop generates the spheres magnitude, vector = Obs.RandSphere(N) vector_magnitude_list.append(magnitude) #print(str(vector_magnitude_list)) N += 2 #How many the number of flagella increases by flagella_number_list.append(N) mean_length_list.append(Obs.mean_value(vector_magnitude_list, n_bins)) #Now we append the empty lists from before #Finally, write to a file for a,b in zip(mean_length_list,flagella_number_list): f.write("%s,%s\n" % (a,b)) f.close() time2 = timeit.default_timer() print("Time taken for code to run... in seconds :- " + str(time2 - time1)) #Finish Timing The Loop