網(wǎng)站制作NEWS
PHREEQC簡介
1.軟件簡介
Parkhurst等人在1980年用FORTRAN語言開發(fā)出模擬程序PHREEQE,該程序可進(jìn)行以下計(jì)算:①水的混合;②液相中的溶解與沉淀反應(yīng)的平衡;③溫度變化對水化學(xué)成分的影響;④組分的摩爾濃度、液相組分的活度、pH、pe、飽和指數(shù)、可逆/不可逆方程的摩爾轉(zhuǎn)換等。
Parkhurst于1995年發(fā)布了用C語言編寫的PHREEQC程序。這個(gè)版本解決了幾乎所有有關(guān)組分?jǐn)?shù)、液相組分形態(tài)、溶解、相、交換作用和表面配合作用方面的限制,并且解決了輸入文件僅能使用FORTRAN格式的缺點(diǎn)。此外,還改進(jìn)了對方程的求解方法,增加了一些新的功能選擇,PHREEQC具有以下特點(diǎn):
1)測定的元素濃度主要存在形態(tài)可以在輸入文件中給出;
2)氧化還原電位可以用測得的Eh值(pe值),也可以用氧化還原對[As(Ⅲ)/As(V)或U(Ⅳ)和U(Ⅵ)]來定義;
3)表面控制的反應(yīng),如表面配合作用和離子交換可以通過雙層模型與非靜電模型的結(jié)合來模擬;
4)封閉體系中與多組分氣相反應(yīng)的模擬;
5)固相中礦物含量的管理和熱力學(xué)穩(wěn)定礦物組合的自動確定;
6)在反應(yīng)和遷移計(jì)算過程中,通過氫—氧摩爾平衡計(jì)算液相中的水量和pe值,以此能正確模擬水的消耗和產(chǎn)生量;
7)反應(yīng)路徑的計(jì)算主要是依據(jù)體系的平衡,而不僅僅是液相的平衡;
8)借助于一維遷移模型來模擬物質(zhì)的對流遷移;
9)通過逆向模擬來推斷特定水樣的組分,通過檢查所有的平衡反應(yīng)來識別分析數(shù)據(jù)的不確定性。
最新版本的PHREEQC2(Parkhurst和Appelo,1999)增加了以下的模擬功能:
1)理想與非理想固溶體礦物的形成;
2)使用者自定義轉(zhuǎn)換速率的動力學(xué)反應(yīng);
3)一維遷移的彌散或擴(kuò)散反應(yīng);
4)交換劑上位置數(shù)隨反應(yīng)物質(zhì)溶解與沉淀的變化;
5)反推模擬過程中的同位素平衡。
此外,使用者還可以用自定義格式來減少輸出數(shù)據(jù)量,并以兼容電子數(shù)據(jù)表的格式輸出。為了使用者能對動力學(xué)和輸出格式等問題進(jìn)行自定義,在程序中包含了一個(gè)BASIC解釋程序,它同時(shí)也支持用戶界面“PHREEEQC for Windows”中的圖形輸出。
在PHREEQC2中還存在以下仍未解決的問題:
1)離子交換模型是以定義活度等于等當(dāng)量分?jǐn)?shù)為基礎(chǔ)的,沒有考慮較為復(fù)雜的交換模型;
2)表面配合作用的模擬主要符合第一靈敏度分析,并沒有對等溫或三層以及四層模型進(jìn)行較為精確的計(jì)算;
3)沒有指明被模擬體系在物理上的不可能性,例如,當(dāng)需要酸或非碳酸鹽堿度大于總堿度時(shí),還要輸入堿的含量值;
4)在一維遷移模型中,簡單地假定遷移是發(fā)生在均勻介質(zhì)中簡單邊界條件下的穩(wěn)定流動。
2.PHREEQC界面結(jié)構(gòu)
程序啟動后,打開一個(gè)包括4個(gè)文件的窗口,分別為INPUT(輸入),DATABASE(數(shù)據(jù)庫),GRID(網(wǎng)格)和CHART(曲線圖)。
(1)輸入
輸入窗口由兩個(gè)窗口構(gòu)成:左側(cè)是初始為空白的窗口,用于輸入要模擬的化學(xué)分析結(jié)果,以及模擬執(zhí)行所需要的命令;右側(cè)窗口列出了PHREEQC關(guān)鍵詞(PHREEQC Key-words)和PHREEQC中的BASIC語句(PHREEQC BASIC statements)。用鼠標(biāo)單擊“+”可打開關(guān)鍵詞目錄,也就是關(guān)鍵詞或模擬執(zhí)行所需要的命令。
在PHREEQC Keywords下為命令目錄。簡單的輸入通常包括3個(gè)關(guān)鍵詞:TITLE、SOLUTION和END。程序至少需要包括SOLUTION命令。END在簡單問題中并不一定需要,但用于分開多級反應(yīng)。TITLE僅被用來記錄對所需要解決問題的描述。通過鼠標(biāo)雙擊右側(cè)目錄中的命令,可把相應(yīng)的關(guān)鍵詞輸入到左側(cè)的輸入窗口中。在輸入分析數(shù)據(jù)時(shí),SOLUTION1下的輸入順序有一定的邏輯性,但只要所有輸入的分析數(shù)據(jù)在關(guān)鍵詞SOLUTION下,無論輸入文件中輸入順序如何,原則上對于PHREEQC來說都是完全有效的。
(2)數(shù)據(jù)庫
PHREEQC中的數(shù)據(jù)塊,隨PHREEQC程序一起安裝,可以通過菜單Calculation/file下的Database File進(jìn)行選擇,數(shù)據(jù)塊主要包括以下方面:
1)溶液中的主要組分形態(tài)(SOLUTION_MASTER_SPECIES);
2)溶液中的組分形態(tài)(SOLUTION_SPECIES);
3)相:包括固相和氣相(PHASES);
4)主要組分形態(tài)的交換(EXCHANGE_MASTER_SPECIES);
5)組分形態(tài)的交換(EXCHANGE_SPECIES);
6)表面—主要組分形態(tài)(SURFACE_MASTER_SPECIES);
7)表面—組分形態(tài)(按陽離子和陰離子分類的強(qiáng)和弱結(jié)合的物質(zhì)形態(tài))(SURFACE_SPECIES);
8)反應(yīng)速率(RATES)。
以“?!睘殚_頭的行,僅為注解,并不為程序所讀入。例如,用SOLUTION_SPE-CIES定義溶液中組分形態(tài)的第一行(#名稱—連續(xù)編號)。
在對不常見的元素進(jìn)行模擬時(shí),會經(jīng)常發(fā)現(xiàn),并不是所有必需的數(shù)據(jù)都存在于已有的數(shù)據(jù)庫中,原則上可以根據(jù)自己的需要建立數(shù)據(jù)庫(例如不同數(shù)據(jù)庫的結(jié)合),或者修改已有的數(shù)據(jù)庫。在PHREEQC視窗界面的DATABASE文件夾中,數(shù)據(jù)庫里的內(nèi)容一般不能改動。如果要修改的話,必須用編輯器(如WORDPAD)打開相應(yīng)的數(shù)據(jù)庫,并且在修改后再存為ASCII格式文件。
(3)輸出
通過Calculations/Start或計(jì)算器圖標(biāo)可啟動模擬計(jì)算。自動跳出“PHREEQC for Windows—progress”窗口,第一行到第三行分別顯示Input,Output和Database文件,第四行顯示計(jì)算步驟。計(jì)算結(jié)束時(shí),顯示DONE。單擊DONE,運(yùn)行窗口自動關(guān)閉,同時(shí)Output文件夾自動打開。
輸出文件將自動以輸入文件名加上擴(kuò)展名“.out”保存。如果用其他名稱保存,則可在“Calculations/Files”下的“Output File”中進(jìn)行定義。
(4)網(wǎng)格
通過GRID可以使數(shù)據(jù)以電子表格格式(Spreadsheet—Format)輸出。為此,必須在輸入文件中用SELECTED_OUTPUT命令來定義要輸出哪些內(nèi)容。
(5)曲線圖
在Grid文件夾中選中相應(yīng)的數(shù)據(jù)范圍,用鼠標(biāo)右鍵單擊“Plot in chart”,所選數(shù)據(jù)將在CHART中以曲線圖的形式表現(xiàn)出來。其中,所選數(shù)據(jù)的第一列作為x坐標(biāo)值,其他列作為y坐標(biāo)值。另外,也可以使用關(guān)鍵詞USER_GRAPH。因此,可以在輸入文件中直接定義哪些結(jié)果要投到CHART圖上。
3.PHREEQC中的關(guān)鍵字
下面僅介紹幾種常用的關(guān)鍵字。
(1)SOLUTION
用來定義初始溶液的溫度和化學(xué)組分。所有輸入的濃度都將轉(zhuǎn)化為以摩爾為單位,即等于元素的摩爾數(shù)、元素的化合價(jià)狀態(tài)和元素的質(zhì)量。若在每一種溶液中離子存在狀態(tài)的計(jì)算是有效的,那每一種溶液對隨后的批反應(yīng)、運(yùn)移反應(yīng)或反向模擬計(jì)算是可行的。離子存在的能力是用來調(diào)整單個(gè)元素的濃度以達(dá)到電荷的平衡或是與純組分的平衡。
(2)EQUILIBRIUM_PHASES
用來定義與水相逆向反應(yīng)的純相的集合。當(dāng)含有這個(gè)關(guān)鍵字的數(shù)據(jù)塊與水溶液相聯(lián)系時(shí),每一相都將溶解或沉淀來達(dá)到平衡,或是完全溶解。純相包括含有固定組分的礦物和具有一定壓力的氣體。兩種類型的輸入是可行的,在一種類型中,相本身達(dá)到平衡(或是達(dá)到一定的飽和指數(shù)或是達(dá)到一定的壓力);在另一種類型中,在一定條件下,與特定純相有關(guān)的替代反應(yīng)將會發(fā)生以達(dá)到平衡(或是達(dá)到一定的飽和指數(shù)或是達(dá)到一定的壓力)。
(3)EXCHANGE
用來定義交換物集合的數(shù)量與組分。交換集合的初始組分可以兩種方式來定義:①顯性條件下,通過列出每一種交換組分的成分;②隱性條件下,通過指定每一種交換物與固定組分的溶液達(dá)到平衡。交換的主要離子、化學(xué)計(jì)量和交換反應(yīng)的lg K都以關(guān)鍵字EX-CHANGE_MASTER_SPECIES和EXCHANGE_SPECIES定義。交換位置的數(shù)目能夠被固定,能夠與相集合中的相的數(shù)量有關(guān),或是能夠與動力學(xué)反應(yīng)物相關(guān)。
(4)SURFACE
用來定義在溶液表面集合中的每一溶液表面的物質(zhì)的數(shù)量和組分。每一表面集合的組分能夠以兩種方式來定義:①隱含地,通過指定溶液表面物質(zhì)與固定組分溶液的平衡;②顯性條件下,通過在中性的溶液中定義溶液表面物質(zhì)的數(shù)量。溶液的表面集合可有多種溶液表面,并且每一種溶液表面可有多個(gè)黏合點(diǎn),它們是以帶有下劃線的字母來標(biāo)示的。
(5)SAVE
用于保存溶液組成、交換集合、氣相、單一相集合、固體溶液集合或表面集合,保存后的數(shù)據(jù)塊將用于批次反應(yīng)計(jì)算。該組成被保存在計(jì)算機(jī)內(nèi)存中,在計(jì)算機(jī)運(yùn)行的其余時(shí)間里可隨時(shí)調(diào)用。
(6)USE
用來明確指定哪一種溶液、交換組分、純相組分、固體溶液組分、表面組分應(yīng)用在模擬反應(yīng)的批反應(yīng)中。USE也能夠預(yù)先確定批反應(yīng)中的動力學(xué)(KINETICS數(shù)據(jù)塊)控制的反應(yīng)、反應(yīng)參數(shù)(REACTION數(shù)據(jù)塊)、反應(yīng)溫度參數(shù)(REACTION_TEMPERA-TURE數(shù)據(jù)塊)、混合參數(shù)(MIX數(shù)據(jù)塊)。
(7)REACTION
用來定義不可逆的反應(yīng),此反應(yīng)是在多組反應(yīng)期間或是運(yùn)移計(jì)算期間,進(jìn)入或是來自水溶液中的所指定運(yùn)移元素的數(shù)量。REACTION不是顯性指定的,且不需要直接依靠溶液的組分或時(shí)間。應(yīng)用KINETICS和RATES數(shù)據(jù)塊代替REACTION數(shù)據(jù)塊來模擬隨著時(shí)間或溶液組分而變化的不可逆反應(yīng)的速率。
(8)REACTION_TEMPERATURE
用于定義批次反應(yīng)步驟中的溫度。在進(jìn)行批次反應(yīng)計(jì)算時(shí),若需要指定溫度而不是使用缺省溫度,則必須進(jìn)入這個(gè)數(shù)據(jù)塊。該數(shù)據(jù)塊也用于在一個(gè)單元或一系列單元的對流運(yùn)動計(jì)算中指定溫度(ADVECTION),還可以指定一個(gè)單元或一系列單元的對流—紊流運(yùn)動計(jì)算的初始溫度(TRANSPORT)。
(9)ADVECTION
用來指定對流模擬單元數(shù)和“轉(zhuǎn)移”數(shù)。對流模擬是用來模擬一維有化學(xué)反應(yīng)的對流或者“活塞”式流動。彌散和擴(kuò)散不能在這里模擬,以及單元中水不流動是不允許的。但是,所有用PHREEQC定義的化學(xué)過程都可以包含在一個(gè)對流模擬中。TRANS-PORT數(shù)據(jù)塊則可以用來建立其他的物理過程模擬,例如彌散、擴(kuò)散及與靜止水單元相連。
(10)KINETICS
用來確認(rèn)動力學(xué)反應(yīng)和指定多組反應(yīng)的反應(yīng)參數(shù)、運(yùn)移計(jì)算。動力學(xué)反應(yīng)速率的數(shù)學(xué)表達(dá)式是以RATES數(shù)據(jù)塊來定義的。
(11)MIX
用于兩種或兩種以上的水溶液混合的情況。在一般情況下,混合液作為分批反應(yīng)計(jì)算中的一部分,但也可用于對流(反應(yīng))計(jì)算中。
(12)RATES
用來定義動力學(xué)反應(yīng)的數(shù)學(xué)速率表達(dá)式。一般速率公式是在RATES數(shù)據(jù)塊中進(jìn)行的,且多組反應(yīng)指定的參數(shù)或是動力學(xué)運(yùn)移是在KINETICS數(shù)據(jù)塊中進(jìn)行的。
(13)TRANSPORT
用來模擬一維的運(yùn)移過程,它包括與一維流動系統(tǒng)有關(guān)的對流、彌散、擴(kuò)散和擴(kuò)散到的滯流區(qū)域。所有由PHREEQC模擬的化學(xué)進(jìn)程,包括動力學(xué)控制的反應(yīng),可包含在對流—彌散運(yùn)移模擬中。純粹的對流運(yùn)移加上(沒有彌散、擴(kuò)散或是滯流區(qū)域的)反應(yīng)都可用ADVECTION數(shù)據(jù)塊來模擬。
多重隨機(jī)標(biāo)簽