關(guān)于系統(tǒng)中兩種原子相互轉(zhuǎn)化的模擬問題


簡述題目

在一個系統(tǒng)中埃唯,有兩種放射性原子A和B撩匕,原子A會衰變成原子B,而原子B也會衰變成原子A墨叛。嚴(yán)格上來說滑沧,這并不是一個“衰變”循環(huán)。一個更加恰當(dāng)?shù)慕忉寫?yīng)當(dāng)是這個系統(tǒng)在保持能量不變的狀態(tài)下可以在原子A和B中相互轉(zhuǎn)化巍实。而描述這個過程的速率方程是這樣的:


(0.1)
(0.1)

(0.2)
(0.2)

利用這個方程解決這個原子數(shù)分別為NA和NB的系統(tǒng)滓技,同時:


衰變周期
衰變周期

方程的解析

假設(shè)某類原子的衰變方程為:

(1.1)
(1.1)

然后對一段時間內(nèi)的原子數(shù)量做泰勒展開:
![(1.2)](http://latex.codecogs.com/png.latex?N(\Delta t)=N(0)+\frac{dN}{dt}\cdot\Delta t+\frac{1}{2} \cdot \frac{d^2 N}{dt^2}+...)
只取前兩項,則有:
![(1.3)](http://latex.codecogs.com/png.latex?N(\Delta t)\approx N(0)+\frac{dN}{dt}\cdot\Delta t .)
對(1.1)方程做近似:
![(1.4)](http://latex.codecogs.com/png.latex?\frac{dN}{dt}=\lim(\Delta t \to 0)\frac{N(t+\Delta t)-N(t)}{t}\approx\frac{N(t+\Delta t)-N(t)}{\Delta t})
所以有:
![(1.5)](http://latex.codecogs.com/png.latex?N(t+\Delta t)\approx N(t)+\frac{dN}{dt}\cdot\Delta t.)
由(1.1),有:
![(1.6)](http://latex.codecogs.com/png.latex?N(t+\Delta t)\approx N(t)-\frac{N(t)}{t_{dcy}}\cdot\Delta t)

題目方程解析

令:
![(1.7)](http://latex.codecogs.com/png.latex?\Delta N(t)=N_{B}(t)-N_{A}(t))
由(1.3)知:
![(1.8.1)](http://latex.codecogs.com/png.latex?N_{A}(\Delta t)\approx N_{A}(0)+\frac{dN_{A}}{dt}\cdot\Delta t)
![(1.8.2)](http://latex.codecogs.com/png.latex?N_{B}(\Delta t)\approx N_{B}(0)+\frac{dN_{B}}{dt}\cdot\Delta t)
由(1.5)(1.7)知:
![(1.9.1)](http://latex.codecogs.com/png.latex?\begin{align}N_{A}(t+\Delta t)\approx N_{A}(t)+\frac{dN_{A}}{dt}\cdot \Delta t \&=N_{A}(t)+\frac{1}{t_{dcy}}\cdot\Delta N(t)\cdot\Delta t\end{align})
![(1.9.2)](http://latex.codecogs.com/png.latex?\begin{align}N_{B}(t+\Delta t)\approx N_{B}(t)+\frac{dN_{B}}{dt}\cdot \Delta t \&=N_{B}(t)-\frac{1}{t_{dcy}}\cdot\Delta N(t)\cdot\Delta t\end{align})

代碼模擬

  • 我對c語言比較熟悉棚潦,所以先用c語言做模擬令漂,之后再改成python
#include <stdio.h>
#include <math.h>
#define MAX 100
double dt;                  //time step
double t_decay;        //time of decay
double t[MAX];
double N_A[MAX],N_B[MAX];           //number of atoms of A or B
double t_max;
double initialize(double Number_A[],double Number_B[],double time_decay,double dt)  //initialize the system
{
    printf("initial number of A-atom ->\n");
    scanf("%lf",&Number_A[0]);
    printf("initila number of B-atom ->\n");
    scanf("%lf",&Number_B[0]);
    printf("the time of decaying ->");
    scanf("%lf",&time_decay);
    printf("time step ->");
    scanf("%lf",&dt);
    t[0]=0.0;
    return;
}
double calculate(double Number_A[],double Number_B[],double time_decay,double Delta_N)
{
    int i;
    for(i=0;i<MAX;i++)
    {
        Number_A[i+1]=Number_A[i]+((Number_B[i]-Number_A[i])/time_decay)*dt;
        Number_B[i+1]=Number_B[i]- ((Number_B[i]-Number_A[i])/time_decay)*dt;
        t[i+1]=t[i]+dt;
    }
    return;
}
double store(double Number_A[],double Number_B[],double t[])         //output the result
{
    FILE *fp_out;
    int i;
    fp_out=fopen("decay_AB.dat","w");
    for(i=0;i<MAX;i++)
    {
        fprintf(fp_out,"%lf\t%lf\t%lf\n",t[i],Number_A[i],Number_B[i]);
    }
    fclose(fp_out);
    return;
}
void main()
{
    initialize(N_A,N_B,t_decay,dt);
    calculate(N_A,N_B,t_decay,Delta_N);
    store(N_A,N_B,t);
}
  • 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()

實際模擬(用python做的模擬,比C要方便直觀一些)

模擬1

A原子數(shù)為100,B原子數(shù)為80叠必,衰變周期為1s荚孵,time step為0.05s,模擬結(jié)果為:


模擬1

A原子數(shù)和B原子數(shù)逐漸趨于一致為90

模擬2

A原子數(shù)為100,B原子數(shù)為0纬朝,衰變周期為1.5s收叶,time step為0.06s,模擬結(jié)果為:


模擬2

A原子數(shù)與B原子數(shù)依舊趨于一致

結(jié)論

在這樣一個系統(tǒng)中共苛,兩種原子的數(shù)量會逐漸趨于一致判没,且兩種原子數(shù)量的變化率變?yōu)?.實際上是A原子與B原子處于相互轉(zhuǎn)化的動態(tài)平衡中。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末隅茎,一起剝皮案震驚了整個濱河市澄峰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌辟犀,老刑警劉巖俏竞,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異堂竟,居然都是意外死亡魂毁,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門出嘹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來席楚,“玉大人,你說我怎么就攤上這事疚漆『ㄕ停” “怎么了刁赦?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵娶聘,是天一觀的道長。 經(jīng)常有香客問我甚脉,道長丸升,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任牺氨,我火速辦了婚禮狡耻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘猴凹。我一直安慰自己夷狰,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布郊霎。 她就那樣靜靜地躺著沼头,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上进倍,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天土至,我揣著相機與錄音,去河邊找鬼猾昆。 笑死陶因,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的垂蜗。 我是一名探鬼主播楷扬,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼么抗!你這毒婦竟也來了毅否?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤蝇刀,失蹤者是張志新(化名)和其女友劉穎螟加,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吞琐,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡捆探,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了站粟。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片黍图。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖奴烙,靈堂內(nèi)的尸體忽然破棺而出助被,到底是詐尸還是另有隱情,我是刑警寧澤切诀,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布揩环,位于F島的核電站,受9級特大地震影響幅虑,放射性物質(zhì)發(fā)生泄漏丰滑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一倒庵、第九天 我趴在偏房一處隱蔽的房頂上張望褒墨。 院中可真熱鬧,春花似錦擎宝、人聲如沸郁妈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽噩咪。三九已至锄奢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間剧腻,已是汗流浹背拘央。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留书在,地道東北人灰伟。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像儒旬,于是被迫代替她去往敵國和親栏账。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗栈源。 張土汪:刷leetcod...
    土汪閱讀 12,724評論 0 33
  • 不支持上傳文件挡爵,所以就復(fù)制過來了。作者信息什么的都沒刪甚垦。對前端基本屬于一竅不通茶鹃,所以沒有任何修改,反正用著沒問題就...
    全棧在路上閱讀 1,950評論 0 2
  • 做最好的自己 人一輩子都在省著艰亮,攢著闭翩,不論多摳,錢還是沒存夠迄埃。一輩子都在忍著疗韵,讓著,...
    長不大的媛ye閱讀 311評論 0 0
  • “世界上沒有丑女人,只有懶女人……”不知是哪一位偉大的哲學(xué)家說出這么一句流傳千古的至理名言逞怨≌甙蹋看看二十一世紀(jì)的...
    肖先生肖軍閱讀 800評論 2 0
  • 伴隨著北方進入春天的季節(jié),對于她來說也是一個鼓足勇氣的季節(jié)骇钦。學(xué)校開了學(xué)宛渐,梧桐綠了葉竞漾,就連曾經(jīng)失聯(lián)多年的同桌也突然發(fā)...
    古小楓閱讀 365評論 0 3