賈沛宇
摘 要:逾滲理論是處理強(qiáng)無序和具有隨機(jī)幾何結(jié)構(gòu)系統(tǒng)常用的理論方法之一。用fortran語言模擬逾滲模型將為科技工作者的研究提供極大便利。本文給出了用fortran語言模擬二維逾滲模型的一種運(yùn)行時(shí)間短、結(jié)果較為準(zhǔn)確的程序方法,并詳細(xì)分析模擬結(jié)果。
關(guān)鍵詞:二維逾滲 fortran 語言逾滲 閾值
一、用fortran模擬二維逾滲
建立二維點(diǎn)逾滲模型如下:把平面分為正方形格子,每一個(gè)格子有占據(jù)和空兩種概率。分別以灰和白表示。如圖所示。設(shè)每一個(gè)格點(diǎn)被占據(jù)的概率為P,這一概率與周圍環(huán)境無關(guān)。若一組占據(jù)格點(diǎn)其間任意二格點(diǎn)滿足直接相連或間接相連,則這組占據(jù)格點(diǎn)稱為集團(tuán)。其中跨越邊界的大集團(tuán)稱為跨越集團(tuán),沒有跨越邊界的小集團(tuán)稱為孤立集團(tuán)。
本法用fortran語言在計(jì)算機(jī)上模擬二維點(diǎn)逾滲模型主要有以下三步:第一步生成逾滲集團(tuán);第二步標(biāo)定集團(tuán),即找出每個(gè)集團(tuán)所包含的格點(diǎn),并對(duì)每個(gè)集團(tuán)編號(hào),以便進(jìn)一步分析;第三步根據(jù)第二步結(jié)果具體計(jì)算逾滲閾值。
1.1生成逾滲集團(tuán)
1.1.1調(diào)用init_random_seed函數(shù),產(chǎn)生隨機(jī)數(shù)。設(shè)置100行100列的數(shù)組(i表示行,j表示列),按從下到上從左到右的順序?qū)⒚總€(gè)格子依次命名為(1,1),(1,2)……默認(rèn)產(chǎn)生的隨機(jī)數(shù)按照定義的順序(從下到上,從左到右)依次填充在給定的格子中。
1.1.2將區(qū)間[0,1]分成100份,給定概率P,使P從0開始以0.01的步幅不斷增大到1。
1.1.3表示該格點(diǎn)為占據(jù)格點(diǎn);反之,則對(duì)應(yīng)為0,表示該格點(diǎn)為空白格點(diǎn)。這樣便將模型中占據(jù)、空白兩種情況在計(jì)算機(jī)模擬上予以了區(qū)分。
1.1.4統(tǒng)計(jì)占據(jù)格點(diǎn)的格點(diǎn)數(shù)目。即格點(diǎn)中數(shù)字為“1”的格點(diǎn)數(shù)目。
1.2標(biāo)定集團(tuán)編號(hào)
本文提供的標(biāo)定集團(tuán)編號(hào)方法由Hoshen和Kopelman算法發(fā)展而來。按照以下規(guī)則進(jìn)行:按照從下到上從左到右的順序考察每一個(gè)格點(diǎn)。若為空白格點(diǎn),則將其跳過。若為占據(jù)格點(diǎn),則考察其緊鄰的左和下二格點(diǎn)的占據(jù)情況。若左、下二格點(diǎn)均為空白格點(diǎn)(即均為“0”),則賦予該占據(jù)格點(diǎn)新的集團(tuán)編號(hào);若左、下二格點(diǎn)中一個(gè)為占據(jù)格點(diǎn)(即為“1”),另一為空白格點(diǎn)(即為“0”),則該占據(jù)格點(diǎn)集團(tuán)編號(hào)與左、下二格點(diǎn)中占據(jù)格點(diǎn)集團(tuán)編號(hào)相同;若左、下二格點(diǎn)均為占據(jù)格點(diǎn)(即均為“1”),則比較兩占據(jù)格點(diǎn)集團(tuán)編號(hào),將這三個(gè)占據(jù)格點(diǎn)集團(tuán)編號(hào)全部命名為左、下兩個(gè)占據(jù)集團(tuán)中編號(hào)數(shù)較小的編號(hào)。
但這一規(guī)則在第一行和第一列的具體運(yùn)行中有困難。原因是第一行的格點(diǎn)不存在下方格點(diǎn),第一列格點(diǎn)不存在左方格點(diǎn)。為了使平面所有格點(diǎn)均遵循這一規(guī)則,精簡編程語言,加快計(jì)算機(jī)運(yùn)行速度,特?cái)U(kuò)充原有格點(diǎn)。定義“0”行,“0”列,補(bǔ)充在原有空間格點(diǎn)的下方和左方,并定義其全部為空白格點(diǎn)(即為“0”)。該擴(kuò)充格點(diǎn)解決了原有格點(diǎn)中第一行第一列不適用原有規(guī)則的問題,并且不影響原有格點(diǎn)集團(tuán)編號(hào),使得上述標(biāo)定集團(tuán)編號(hào)規(guī)則在所有的平面格點(diǎn)中均適用。
1.3計(jì)算逾滲閾值和臨界概率
1.3.1判斷跨越集團(tuán),并統(tǒng)計(jì)跨越集團(tuán)中格點(diǎn)數(shù)目。在按照第二步給定的規(guī)則標(biāo)定好集團(tuán)編號(hào)之后,跨越集團(tuán)即為集團(tuán)內(nèi)格點(diǎn)包含所有行數(shù)(在本文程序中即為行數(shù)i取遍從1到100的所有行數(shù))的集團(tuán)。
1.3.2求跨越集團(tuán)所占概率。
定義跨越集團(tuán)所占概率probability=
對(duì)于每生成的一組隨機(jī)數(shù),P分別從“0”開始按照每次0.01的步幅不斷增大,即P依次取0.01,0.02……一直到1.分別算出每給定一個(gè)P值,對(duì)應(yīng)的跨越集團(tuán)所占的概率。隨著P的增大,跨越集團(tuán)從無到有。在P值很小時(shí),概率probalility一直為0.直到P值增加到某一值時(shí),概率probalility開始大于0,并隨著P的增加開始急劇增大。
1.3.3判斷逾滲閾值Pc。在P的一系列取值中,在某一數(shù)值處,概率probalility的開始不為0(即平面格點(diǎn)開始出現(xiàn)跨越集團(tuán)),并且急劇增加,則取該P(yáng)值為逾滲閾值Pc。在fortran語言中判斷的標(biāo)準(zhǔn)為:該P(yáng)值(即逾滲閾值Pc)對(duì)應(yīng)的概率probability不為0,而它前面的一項(xiàng)P值對(duì)應(yīng)的概率probability為0.給出多組隨機(jī)數(shù),求出每組隨機(jī)數(shù)的逾滲閾值Pc。再將一系列Pc求平均,模擬出較為準(zhǔn)確的逾滲閾值Pc。
二、結(jié)果分析
本文給定的程序中共運(yùn)行30次100行100列的隨機(jī)數(shù),分別計(jì)算出每次隨機(jī)數(shù)的逾滲閾值Pc,并將這一系列Pc多次求解平均數(shù),以求達(dá)到更精確的擬合效果。運(yùn)用dislin軟件,繪制出三條跨越集團(tuán)所占概率probability對(duì)P值的關(guān)系曲線。由于程序運(yùn)行自動(dòng)給出隨機(jī)數(shù),每次運(yùn)行結(jié)果略有不同。本文選取其中一次運(yùn)行結(jié)果并予以分析。
程序運(yùn)行之后,計(jì)算機(jī)給出的運(yùn)行結(jié)果臨界閾值Pc=0.60567,臨界指數(shù)為0.10240。
查閱相關(guān)文獻(xiàn),對(duì)于二維正方形格點(diǎn),逾滲閾值Pc≈0.5927。本文提供的程序達(dá)到了擬合的精確度。并且運(yùn)算速度快,運(yùn)行時(shí)間相對(duì)較短。但本程序存在一定誤差。多次運(yùn)行發(fā)現(xiàn),30組隨機(jī)數(shù)和50組隨機(jī)數(shù)的運(yùn)行結(jié)果極其相似。誤差存在原因是模型給定的平面正方形格子為100行100列,讀者可以適當(dāng)擴(kuò)大行列數(shù)。同時(shí)本文只給出了30組隨機(jī)數(shù)的運(yùn)行結(jié)果,樣本數(shù)量不夠大。讀者可自行取更大的樣本數(shù)量,擬合結(jié)果將更加精確。
圖1給出了三條跨越集團(tuán)所占概率probability對(duì)給定P的關(guān)系曲線。每條曲線均由大量數(shù)據(jù)多次求平均值后畫出。當(dāng)0≤P≤0.55時(shí),跨越集團(tuán)所占概率probability=0。當(dāng)P取為0.55—0.60的某一數(shù)值時(shí),跨越集團(tuán)所占概率probability開始不為0,并且隨著P的增加而急劇增加。在P=0.8之后,跨越集團(tuán)所占概率probability接近1,并且隨著P的增加無限接近于1。從該曲線可以看出二維平面正方形格點(diǎn)模型逾滲閾值Pc在[0.55,0.60]區(qū)間范圍內(nèi),在逾滲閾值Pc處,跨越集團(tuán)所占概率發(fā)生急劇變化。反映在二維逾滲的實(shí)際問題中,則是研究對(duì)象的物理性質(zhì)發(fā)生突變。擬合結(jié)果與實(shí)際結(jié)果完全符合。
參考文獻(xiàn):
[1]劉生麗,馮輝霞,張建強(qiáng),王毅,等.逾滲理論的研究及應(yīng)用進(jìn)展[J].應(yīng)用化工,2010,39(7):1075-1078.
[2]齊共金,張長瑞,曹英斌,等.逾滲模型在計(jì)算材料學(xué)中的研究進(jìn)展[J].材料科學(xué)與工程學(xué)報(bào),2004,22(1):122-127.