1. 程式人生 > >有限擴散集團凝聚模型(DLCA)第三講:流動水流中的凝聚模擬(1)

有限擴散集團凝聚模型(DLCA)第三講:流動水流中的凝聚模擬(1)

上幾節課我們都再講這個模型在一個非常非常小的一個立方體中,然後這群粒子在裡面走碰粘沉。在現實世界中,水不可能就在一個小立方體中,而且水是動態的、流動的。而DLCA模型講的確實在靜止的水中切一小塊出來做分析,我們不能直接拿來用,於是本人結合另外一個“汙染物在水中擴散的模型”來更真實的模擬膠體的絮凝過程。

我們這次要做的,當然就是在流動水中,如圖1所示,讓這些粒子走碰粘沉,先做幾個假定,首先我們這個這個流動的水是紊流狀態,即Re>2000。其次,水具有自淨化的能力(水中有一堆微生物之類的東西,能把膠體給吃了)。

 

圖1

我們假設在t時刻點(x,y,z)的汙染物的濃度為C(x,y,z,t)C隨著

t的變化,即使是同一個點,值也是不同的。為什麼不同呢,那就是因為水一流動,汙染物就開始在水中擴散了,若汙染物的擴散速度為D(Dx,Dy,Dz),那麼可以計算出某一個區域的汙染物質量。

於是我們將這個河流個切割出一個小塊,如圖2,這個紅色的小塊中的汙染物質量怎麼算呢,現在假定時間是t~t+t1之間,通過流入的質量是M1,河流流動使得流出的質量是M2,水體自淨去除的質量是M3,若t時刻的膠體一共重M,那麼t+t1時刻的質量就為:M=M+M1-M2-M3


 圖2

下面,我們說一下M1M2M3是如何計算的

(1)流入紅色小塊中的質量M1,長寬高都是LL足夠小,使得L範圍內的濃度近乎相同),上文提到了擴散速度

D,它是x,y,z三個方向流入的,首先我們確定單位D的單位是m2/s,濃度的單位是mg/m3,那麼從t~t+t1時刻(t1足夠小,使得在t1時刻左右的濃度近乎相同Ct=Ct+t1)的M1為:

M1=t1*(Dx*Ct/L+Dy*Ct/L+Dz*Ct/L)

=Ct*t1*(Dx+Dy+Dz)/L

(2)流出小紅塊的質量M2:因為水流是在流動的,假設它的流速是u=(ux,uy,yz),單位是m/s,那麼它的質量M2很簡單即可求出。

M2=ux*Ct*L*L+uy*Ct*L*L+uz*Ct*L*L

=L^2*Ct*t1*(ux+uy+uz)

(3)自己降解的質量M3:假設講解的速率為K,單位是/s,那麼很顯然,M3

的計算方法為:

M3=K*L*L*L*Ct*t1

=K*L^3*Ct*t1

(4)隱藏屬性M4:但是,我們剛才說過了,我們假定Ct=Ct+t1,可是呢,無論多小的時間,濃度總是有變化的,我們一定得需要用一個M4給他補充上去,這個M4可不是M4A1全自動步槍啊,哈哈。補充的方式為:

M4=[Ct-C(t+t1)]*L^3

=M1-M2-M3

為什麼為M4=M1-M2-M3呢,這是因為質量守恆,補充上去的質量哪來的,不就是流入的質量剪掉流出的和自淨的質量的到的嘛。

我們知道了這些,下一步就是往水裡面的某一個點上面投加汙染物了,為了使得這個東西比較真實,我們在圖1的左上角開始投加,投加之後,我們每過一段時間,比如0.0001秒,然後讓它進行一次DLCA操作,之後讓水流流動0.0001秒,然後再進行一次DLCA絮凝操作。以此類推,慢慢的,在整個水中就會形成一個絮凝效果了。

可是這時候有人問了,流動和絮凝是同時進行的啊,你這走一下,絮凝一次,不對啊。沒錯,是不對,但是畢竟我們這個是模擬呀,你想想0.0001秒絮凝一下,然後流動一下,時間這麼短,這個和同時進行有區別嗎?如果是0.000010.000000010.0000000001秒。。。如果時間無限短的話那不就是同步了嘛。

大家還有人會問,河流可不是立方體吧,外一是彎彎曲曲的怎麼辦呢,但這個教程我覺得我今天講到這裡就可以了,大家消化一下,下次課程將講解,如何投藥,以及曲面積分求解不規則河流過程。

參考文獻:

[1] 卓金武, 李必文,魏永生,. MATLAB在數學建模中的應用[M].北京航空航天大學出版社, 2014.

[2] 郭航. 水中絮凝體分形成長動態模擬技術研究[D].哈爾濱工業大學, 2012.

[3] 陳彥光, 劉繼生.區域交通網路分形的DBM特徵——交通網路Laplacian分形性質的實證研究[J].地理科學, 1999, 19(2):114-118.