循环可以运行,但是循环进行到第三次之后,print输出的k,r,V_gamma,c_ Nb的结果不变了这怎么回事?
import numpy as np #导入numy
#初始状态
V_gamma=0.0281 #γ'相的初始体积分数
c_Nb=0.001094 #Nb的初始浓度
T=1000+273.15 #开式加热温度
R=8.314 #玻尔兹曼常数
delta_t=0.1 #增量步
t=0. #初始时间
e=np.e #自然对数
pi=np.pi
#gamma不变参数
D=8.8*10**(-5)*e**(-257000/R/T) #γ'相溶质元素扩散系数
r0=1.3 #γ'相的初始尺寸
cp=0.0716 #γ'相中的溶质元素浓度
cw=0.0281 #γ'相溶质元素平衡浓度
r=r0
#数据记录 作为输出
list_t=[]
list_delta=[]
list_gamma=[]
list_c=[]
list_r=[]
#列表输入第一个数据(t=0)
list_t.append(t)
list_gamma.append(V_gamma)
list_c.append(c_Nb)
list_r.append(r0)
#迭代计算
while t<1:
t=t+delta_t #时间更新
list_t.append(t) #记录时间
if r>0:
cr=cw*e**(2*2.78*10**(-5)/R/T/r0) #γ'相的c_r的计算
k=2*(cr-c_Nb)/(cp-cr) #γ'相的k值的计算
print('k=',k)
r=r0-k*D/2/r0-k*(D*delta_t/pi)**0.5 #γ'相尺寸的计算
print('r=',r)
V_gamma=0.0281*(r/r0)**3 #γ'相体积分数的计算
print('V_gamma',V_gamma)
c_Nb=(0.0299-V_gamma*cp)/(1-V_gamma) #Nb元素浓度的计算
print('c_Nb=',c_Nb)
print('\n')
else:
V_gamma=0
r=0