在一个系统中,有两种放射性原子A和B,原子A会衰变成原子B,而原子B也会衰变成原子A。严格上来说,这并不是一个“衰变”循环。一个更加恰当的解释应当是这个系统在保持能量不变的状态下可以在原子A和B中相互转化。而描述这个过程的速率方程是这样的:
$$\frac{dN_{A}}{dt}=\frac{N_{B}}{\tau_{dcy}}-\frac{N_{A}}{\tau_{dcy}}$$ (0.1)
$$\frac{dN_{B}}{dt}=\frac{N_{A}}{\tau_{dcy}}-\frac{N_{B}}{\tau_{dcy}}$$ (0.2)
利用这个方程解决这个原子数分别为NA和NB的系统,同时:
$$t_{dcy}=1s$$
##方程解析
假设某类原子的衰变方程为:
$$\frac{dN}{dt}=-\frac{N}{t_{dcy}}$$ (1.1)
然后对一段时间内的原子数量做泰勒展开:
$$N(\Delta t)=N(0)+\frac{dN}{dt}\cdot\Delta t+\frac{1}{2}\cdot\frac{d^{2}N}{d^{2}t}$$+...(1.2)
只取前两项,则有:
$$N(\Delta t)=N(0)+\frac{dN}{dt}\cdot\Delta t$$(1.3)
对(1.1)方程做近似:
$$\frac{dN}{dt}=lim(\Delta t\to0)\frac{N(t+\Delta t)-N(t)}{t}\approx\frac{N(t+\Delta t)-N(t)}{\Delta t}$$(1.4)
$$N(t+\Delta t)\approx N(t)+\frac{dN}{dt}\cdot\Delta t$$(1.5)
由(1.1),有:
$$N(t+\Delta t)\approx N(t)-\frac{N(t)}{t_{dcy}}\cdot \Delta t$$(1.6)
##题目方程解析
令:
$$\Delta N(t)=N_B(t)-N_A(t)$$(1.7)
由(1.3)知:
$$N_{A}(\Delta t)\approx N_{A}(0)+\frac{dN_{A}}{dt}\cdot\Delta t$$(1.8.1)
$$N_{B}(\Delta t)\approx N_{B}(0)+\frac{dN_{B}}{dt}\cdot\Delta t$$(1.8.2)
由(1.5)(1.7)知:
$$N_{A}(t+\Delta t)\approx N_{A}(0)+\frac{dN_{A}}{dt}\cdot\Delta t=N_{A}(t)+\frac{1}{t_{dcy}}\cdot\Delta N(t)\cdot\Delta t$$(1.9.1)
$$N_{B}(t+\Delta t)\approx N_{B}(0)+\frac{dN_{B}}{dt}\cdot\Delta t=N_{B}(t)+\frac{1}{t_{dcy}}\cdot\Delta N(t)\cdot\Delta t$$(1.9.2)
##代码模拟
```python
import numpy as np
import pylab as pl
Number_A=[]
Number_B=[]
t=[]
print("the number of A atoms ->")
number_a=input()
Number_A.append(number_a)
print("the number of B atoms ->")
number_b=input()
Number_B.append(number_b)
print("the time of decay ->")
t_decay=input()
print("the time step ->")
dt=input()
def Bigger(a,b):
if a>b:
return a
else:
return b
def Smaller(a,b):
if a>b:
return b
else:
return a
big=Bigger(Number_A[0],Number_B[0])
small=Smaller(Number_A[0],Number_B[0])
t.append(0.0)
for i in range(100):
NA=Number_A[i]+((Number_B[i]-Number_A[i])/t_decay)*dt
NB=Number_B[i]+((Number_A[i]-Number_B[i])/t_decay)*dt
tadd=t[i]+dt
Number_A.append(NA)
Number_B.append(NB)
t.append(tadd)
t_max=t[-1]
pl.plot(t,Number_A,'r')
pl.plot(t,Number_B,'g')
pl.title('the decay between A and B')
pl.xlabel('the time of decaying')
pl.ylabel('number of atoms')
pl.xlim(0.0,t_max)
pl.ylim(small,big)
pl.show()
```
##模拟结果
###模拟1
A原子数为100,B原子数为80,衰变周期为1s,timestep为0.05s,模拟结果为:![1](https://github.com/LiuChuang0059/compuational_physicsN2015301020059/blob/master/3205350-164793e1cb4e2b4e.png)
A原子数和B原子数逐渐趋于一致为90
###模拟2
A原子数为100,B原子数为0,衰变周期为1.5s,time step为0.06s,模拟结果为:
![2](https://github.com/LiuChuang0059/compuational_physicsN2015301020059/blob/master/3205350-8861677672896fc7.png)
A原子数与B原子数依旧趋于一致
##结论
在这样一个系统中,两种原子的数量会逐渐趋于一致,且两种原子数量的变化率变为0.实际上是A原子与B原子处于相互转化的动态平衡中。
[1]: https://github.com/LiuChuang0059/compuational_physicsN2015301020059/blob/master/3205350-164793e1cb4e2b4e.png
[2]: https://github.com/LiuChuang0059/compuational_physicsN2015301020059/blob/master/3205350-8861677672896fc7.png