Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #OUTPUTS:
- # l1
- # l2
- # lo
- #CONSTANTS:
- meww = 1
- mewo = 1
- rhow = 1
- rhoo = 1
- gamma = 1
- #Looping variabes:
- #h - 90 to 120 microns
- #delta P - 0.2 - 0.5psi
- #Qw2 - 0.1 - 0.3 micro L / sec
- h_divisions = 20
- delta_P_divisions = 20
- Qw2_divisions = 20
- CA_divisions = 20
- total_answers = h_divisions * delta_P_divisions * Qw2_divisions * CA_divisions
- h_lower_limit = 100
- h_upper_limit = 110
- h_step = (h_upper_limit - h_lower_limit)/h_divisions
- delta_P_lower_limit = 0.2
- delta_P_upper_limit = 0.5
- delta_P_step = (delta_P_upper_limit - delta_P_lower_limit)/delta_P_divisions
- Qw2_lower_limit = 0.1
- Qw2_upper_limit = 0.3
- Qw2_step = (Qw2_upper_limit - Qw2_lower_limit)/Qw2_divisions
- CA_lower_limit = 0.04
- CA_upper_limit = 0.1
- CA_step = (CA_upper_limit - CA_lower_limit)/ CA_divisions
- #GOALS
- desired_w1 = 100 #in microns
- desired_w2 = 95 #in microns
- solution = [[0,0,0,0,0,0] for x in range(total_answers)]
- for h in range(int(h_lower_limit*100), int(h_upper_limit*100), int(h_step*100)):
- for delta_P in range( int(delta_P_lower_limit*100), int(delta_P_upper_limit*100), int(delta_P_step*100)):
- for Qw2 in range( int(Qw2_lower_limit*1000), int(Qw2_upper_limit*1000), int(Qw2_step*1000)):
- Qw1 = 2 * Qw2
- Qo = Qw1 + Qw2
- #NOTE: FOLLOWING WIDTHS CALCULATED USING BERNOULLI
- #IF NOT APPLICABLE, PLEASE CHANGE
- w1 = math.sqrt(rhow/(2*delta_P)) * Qw1/h
- w2 = math.sqrt(rhow/(2*delta_P)) * Qw2/h
- wo = math.sqrt(rhoo/(2*delta_P)) * Qo/h
- for CA in range(CA_lower_limit,CA_upper_limit, CA_step):
- wn = CA* gamma / (2 * mewo * Qo)
- if (h > w1) or (h > w2) or (h > wo) or (h > wn):
- solution[h * delta_P * Qw2 * CA] = [0,0,0,0,0,0]
- else:
- solution[h * delta_P * Qw2 * CA] = [h, w1, w2, wo, wn, delta_P]
- selected_answer = 0
- error_square = 10000000
- flow_error = 10000000
- for i in range(total_answers):
- current_error = math.pow(1000000 * w1 - desired_w1, 2) + math.pow(1000000 * w2 - desired_w2, 2)
- if current_error < error_square:
- error_square = current_error
- selected_answer = i
- elif current_error is error_square:
- flow = math.pow(Qw1,2) + math.pow(Qw2,2)
- if flow < flow_error:
- error_square = current_error
- selected_answer = i
- print(solution[selected_answer])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement