python - 虽然循环没有给我结果
问题描述
我目前正在编写一个代码来在环形空间中找到某个半径(零剪切应力的半径)。这是根据 S.Levy 于 1966 年发表的一篇论文得出的。
而洛普没有给我一个输出。我的输出应该是得到满足条件的 rm k_rel_1 = k_rel_2
。
任何人都可以帮忙吗?
这是我的代码:
import math
Ri = 0.27109328958898232 #Inner-Wall Radius
Ro = 0.356459960335948 #Outer-Wall Radius
R = Ro - Ri #Wall Radius
f = 0.0039 #friction factor for an annulus (given in page 29) (--> NEEDS TO BE CHECKED)
NRe = 4200 #Reynolds-number (RANDOM VALUE --> NEEDS TO BE CHECKED)
NRe_f = NRe * (f/2)**0.5
ko = 0.4 #mixing lenght in the outer wall assumed in the paper
ki = 1 #mixing lenght in the inner wall (RANDOM VALUE --> NEEDS TO BE CHECKED)
rm = 0.28 #assumed value between Ri and Ro
nu = 1.4342E-4 #kinematic viscosity of air in ft^2/s at 0°C (--> NEEDS TO BE CHECKED)
rho = 0.080738 #Density of air in lb/ft^3 at 0°C (--> NEEDS TO BE CHECKED)
tau_R_o = 1 #Shear Stress outer wall (RANDOM VALUE --> NEEDS TO BE CHECKED)
tau_R_i = 1 #Shear Stress inner wall (RANDOM VALUE --> NEEDS TO BE CHECKED)
res = 1
while res > 0.00001 :
print(rm)
tau_rel = (Ro*(rm**2-Ri**2))/(Ri*(Ro**2-rm**2))
k_rel_1 = ((rm-Ri)/(Ro-rm))**0.5 * (Ro/Ri)**0.5 * ((rm+Ri)/(Ro+rm))**0.5 # =ko/ki
so = rm/Ro #Ratio of rm to outer-Wall Radius Ro
si = rm/Ri #Ratio of rm to inner-Wall Radius Ri
v21_1 = 0.5 * NRe_f * ((1-(rm/Ro))/(1-(Ri/Ro)))**0.5 * (1+rm/Ro)**0.5
v21_2 = v21_1*k_rel_1
A = math.log(1.5) + math.log(((tau_R_o/rho)**0.5) / nu * abs(Ro-rm))
A += ( (-2*so*(1-so)*math.log(2)) / ((1+so)*(2*so-1)) )
A += ( 0.5 * so*(1-so)*(1-3*so) / ( (1+so) * (so**2 + 0.5 * (1-so)**2) ) * math.log(3) )
A += ( ( 6/(1+so)) * math.log(so) / ( (1+so)*(((((1-so)/so)**2)-1))*((2*(so/(1-so))**2)+1) ) )
A += ( (so*(1-so)*2**0.5*math.atan(2**0.5)) / ( (1+so)*(so**2 + 0.5*(1-so)**2)) )
A += 14.84*ko - math.log(42)
B = math.log(1.5) + math.log(((tau_R_i/rho)**0.5) / nu * abs(Ri-rm))
A += ( (-2*si*(1-si)*math.log(2)) / ((1+si)*(2*si-1)) )
A += ( 0.5 * si*(1-si)*(1-3*si) / ( (1+si) * (si**2 + 0.5 * (1-si)**2) ) * math.log(3) )
A += ( ( 6/(1+si)) * math.log(si) / ( (1+si)*(((((1-si)/si)**2)-1))*((2*(si/(1-si))**2)+1) ) )
A += ( (si*(1-si)*2**0.5*math.atan(2**0.5)) / ( (1+si)*(si**2 + 0.5*(1-si)**2)) )
A += 14.84*ki - math.log(42)
k_rel_2 = (1/tau_rel)**0.5 * (A/B)
res = k_rel_2 - k_rel_1
rm += 0.00001
解决方案
推荐阅读
- linux - 如何编写linux内核模块来修改数据包的源MAC地址?
- unity3d - 将数据库链接到服务器上的 php 脚本到 c#
- android - Android Studio 预览版没有链接障碍
- python - 如何将唯一标识符与来自 Python 应用程序的 PostgreSQL 连接相关联?
- delphi - 如何遍历过滤的 dbGrid
- javascript - 如何通过在javascript中移动滑块来增加圆圈中的线条
- javascript - 使用queryselectorall选择innerHTML等于指定值的所有元素是否可行?
- ffmpeg - FFMPEG 再保险
- java - 如何在 libGdx 中创建我自己在 .png 中绘制的字体?
- java - 当我们使用保留端口时,为什么套接字编程工作?