<center id="q64gu"><sup id="q64gu"></sup></center>
<acronym id="q64gu"><div id="q64gu"></div></acronym><tr id="q64gu"><small id="q64gu"></small></tr>
<acronym id="q64gu"></acronym>

AMBER高級教程 之 離子液體

?如內容侵權,請聯系?管理員?刪除,本站不對內容提供者侵權行為負責。 離子液體 - 產學研 | Ionic Liquids Platform ?歡迎 專家學者、從業人員 參與 成為“離子液體”合伙人,有償分享資源、知識、訊息!

  • 原作: Chris Lim and David A. Case, 原始文檔
  • 2018-06-28 17:45:16 翻譯: 劉勝堂, 唐小峰(蘇州大學)

 

(譯者注: 離子液體指全部由離子組成的液體, 常見的鹽需要在高溫下才呈現液態, 如KCl, KOH等, 而在室溫或者室溫附近呈液態的由離子構成的物質稱為室溫離子液體, 如本教程中提到的[bmim][BF4]室溫離子液體.)

 

本教程的目的是指導使用Amber, AmberTools以及VMD的用戶模擬室溫離子液體并計算徑向分布函數(RDF).

 

室溫離子液體(RTILs), 正如它的名字所言, 是一種在室溫下以液態存在的鹽. RTILs引起各個研究領域的興趣是因為它們具有獨特的物理學和熱力學性質: 如可忽略的蒸汽壓, 高熱穩定性, 高電化學穩定性以及不易燃等特點. 此外, 離子液體具有高電導和寬電化學窗口, 這意味著它們既不容易被氧化也不容易被還原, 因此它們是電池中高效和綠色電解質的優良候選物. 由于RTILs具有各種潛在應用價值, 關于RTILs的模擬工作也廣泛的普及, 并設計和測試了各種陽離子和陰離子的組合, 以期拓展我們對這個領域的認識.

 

在本教程中, 我們將生成1-丁基-3-甲基咪唑四氟硼酸鹽([bmim][BF4])和乙腈(CH3CN)來重現參考文獻[1,2]中的數據. (譯者注: 原文在這里添加參考文獻的名稱和期刊號, 我們直接放在參考文獻部分, 并給出原文文獻.)

 

提示: 該教程中用的是普適Amber力場(GAFF), 而不是文獻中的優化過的力場. 模擬結果的某些部分與上述論文部分結果吻合的不是很好, 但這也給我們一個很好的啟示: GAFF可以幫助你開始模擬, 并能夠提供合理準確的結果, 從這點出發也許已經足夠. 但如果你需要更為精準的結果, GAFF可以作為力場改進的基石, 這涉及特定的體系, 在該教程中不再詳細描述.

1 創建初始結構

image.png

1: 離子液體組分分子結構(上圖為1-丁基-3-甲基咪唑, [bmim], 左下角圖為四氟硼酸, [BF4], 右下角為乙腈, CH3CN)

1.1 xleap繪制分子

我們用xleap繪制分子并用它產生pdb文件. 首先在命令窗口輸入xleap, 彈出如下窗口(2):

image.png

2: xleap窗口

接下來, 我們將創建我們第一個組分, xleap命令窗中鍵入: edit BF4, 彈出如下窗口(3):

image.png

3: 彈出的分子繪制界面

這里我們將創建一個BF4分子, 所需的圖形窗口彈出如圖3所示. 繪制分子非常直觀: Manipulation邊框中勾選繪制(Draw), 選擇合適的元素, 鼠標左鍵繪制一個原子, 然后拖動繪制一個鍵. 這里對于BF4, 我們從Elements欄目中從other elements下拉菜單中選擇Boron元素, 然后左鍵繪制一個硼原子(4所示).

image.png

4: 繪制了一個硼原子

緊接著, 在其他元素選項中(other elements)選擇氟原子(Fluorine), 并且從硼原子出拖動鼠標到你所需放置氟原子的位置.

image.png

5

用同樣的方式拖動其他三個氟原子, 大概形成正四面體的結構即可. 這一步不需要完美的幾何結構, 粗略估計已經足夠(譯者注: 后面能量最小化會正確優化結構).

提示: 摁住ctrl鍵并且左鍵移動鼠標旋轉可以觀察分子; 摁住ctrl并右擊鼠標后, 向上移動放大分子, 向下移動則縮小分子. 如果單擊選擇好了一個原子, 摁住shift后單擊繪圖面板中的任意其他位置則取消選擇(譯者注: 釋放shift鍵后才可以看到取消選擇的狀態).

image.png

6

通過拖動鼠標在分子上方選擇所有的原子(或通過單擊單獨的原子選擇), Edit菜單下選擇Relax selection選項后, xleap將為我們優化BF4分子的幾何結構.

提示: 如果鍵盤上的NUM/CAPS(譯者注: 數碼鎖定/大寫鎖定)鎖打開的話菜單欄可能無法正常工作, 請注意關閉.

image.png

7

關閉退出該窗口. 提示: 不要點擊窗口右上角的X按鈕, 因為這樣會直接完全關閉xleap窗口, 而你的文件沒有被保存, 所以要在Unit菜單欄下Close選項保存退出.

1.2 創建pdb文件

為生成我們所需的BF4分子, 在命令窗口中輸入如下指令:

savepdb BF4 bf4.pdb

1.3 重復步驟

重復步驟12創建剩下的兩種分子.

(提示: 在本教程中, 我們用acn指代乙腈, bmi指代bmim, bf4指代BF4)

2 Antechamber

antechamber –help (# 你可以更多地了解antechamber).

2.1 產生乙腈的mol2frcmod文件

我們用leap產生包含電荷信息的mol2文件. 下面命令將為我們從pdb文件生成mol2文件, leap命令窗口中鍵入:

antechamber –i can.pdb –fi pdb –o can.mol2 –fo mol2 –c bcc –nc 0

(-i表示輸入文件, -fi是輸入文件格式, -o為輸出文件, -fo為輸出文件格式, -c為所用電荷方法, -nc表示分子的凈電荷. 不要忘記分別用-nc 1或者-nc -1來指定陽離子和陰離子的電荷.)

2.2 硼原子的問題

Antechamber不認識硼原子, 所以我們需要自己手動輸入其參數. 我們用到的參考文獻中給出了所需每個原子的的電荷, 所以我們將用到這些數值.

2.2.1 不帶電荷模式運行antechamber

輸入命令:

antechamber –i bf4.pdb –fi pdb –o bf4.mol2 –fo mol2

2.2.2 編輯mol2文件

采用你所喜歡的文本編輯器(vigedit), 打開bf4.mol2文件, 我們需要修改以下幾點:

第一, 如果第三行的第二個數字值為0, 把它修改成4. 這意味著我們的分子包含四個鍵(四個氟原子鍵連到硼原子).

第二, 定位到ATOM部分的最后一列, 這些數值代表了每個原子的電荷, 我們看到它們現在全部是0, 因為我們沒有去指定它們. 隨后用參考給出的這些值修改這列數值. (硼原子: 1.1504, 氟原子: -0.5376)

最后, 我們需要手動添加鍵信息. 鍵信息由指定的鍵id, 成鍵的兩個原子編號(根據mol2文件中ATOM原子編號而來), 以及鍵類型(1為單重建, 2為雙重鍵等等)所組成.

具體來說, 我們將在BOND類別下首先添加這樣一條的信息:

1 1 2 1

這條記錄的意思是說第一條記錄(第一個數值)是對B1原子(第二個數值)F2原子(第三個數值)會形成單重建(第四個數值).

類似的, 添加另外三條記錄:

1 1 3 1

1 1 4 1

1 1 5 1

提示: 鍵的id號全部是1, 因為鍵id號在這里是沒有含義的.

2.3 接下來, xLEaP中輸入:

ACN = loadmol2 acn.mol2? ??# 加載mol2文件

edit ACN???????????????? ??# 允許可視化分子, 便于查找問題

quit???????????????????? ??# 退出xLEap

antechamber生成bmimBF4部分的mol2文件, 并用適當的名稱替換輸入名稱和輸出名稱. 對每個分子重復步驟12. 這里你可以得到我們生成的mol2文件: acn.mol2, bmi.mol2bf4.mol2, 并與你生成的文件進行比較.

3 Parmchk

Parmchk創建力場修正文件(frcmod)并補充缺少的參數. 以下命令可為先前創建的mol2文件生成一個frcmod文件:

parmchk -i acn.mol2 -f mol2 -o frcmod.acn

對剩余的兩個mol2文件重復此步驟. 可以在這里得到我們生成的frcmod文件: frcmod.acn, frcmod.bmifrcmod.bf4. 你可以將它們與你自己所生成的frcmod文件相比較. 請注意, frcmod.acn文件基本上是空的, 因為該分子所需的所有參數都在gaff.dat文件中. 如果你愿意, 也可以不用這些frcmod文件.

4 Packmol

Packmol可以在給定范圍內排布組裝分子, 為分子動力學模擬提供起始原子坐標. Packmol程序考慮了短程排斥相互作用從而保證了在模擬中體系不會奔潰

1. http://www.ime.unicamp.br/~martinez/packmol/下載Packmol并按照安裝說明進行安裝.

2. 創建一個名為input.inp的輸入文件, 例如:

tolerance 2.0???? ??# 原子間的容忍最短距離

output ionic2.pdb ??# 輸出文件名

filetype pdb????? ??# 輸出文件類型

#

# 創建 [bmim][BF4]和乙腈分子的周期性盒子

#

structure bf4.pdb

?????? number 102?????? ?????????# 分子格式

?????? inside cube 0. 0. 0. 35.? # 盒子原點以及盒子長度, 單位為A

end structure

# 填充bmim分子

structure bmi.pdb

?????? number 102

?????? inside cube 0. 0. 0. 35.

end structure

# 填充乙腈分子

structure acn.pdb

?????? number 154

?????? inside cube 0. 0. 0. 35.

end structure

3. 運行Packmol

packmol < input.inp

4. 在可視化分子動力學軟件(VMD)中查看由packmol生成的pdb文件:

image.png

8: packmol生成的結構

5 使用tLEaP生成Amber prmtop文件

tLEaP為剛才packmol中產生的pdb文件生成參數拓撲文件(prmtop)和坐標文件(inpcrd).

1. 創建一個輸入文件(名為commands.in):

# 相應地更改文件的位置

source leaprc.gaff

BMI = loadmol2 bmi.mol2

BF4 = loadmol2 bf4.mol2

ACN = loadmol2 acn.mol2

ionicbox = loadPdb ionicbox.pdb? # 這里和上面pdb名字不一致, 將上述packmol生成的ionic2.pdb文件改名為ionicbox.pdb (譯者注)

loadamberparams frcmod.bf4

loadamberparams frcmod.bmi

loadamberparams frcmod.acn

setbox ionicbox centers

saveAmberParm ionicbox ionicbox.prmtop ionicbox.inpcrd

2. 用輸入文件(commans.in)運行tLEaP:

tleap -f commands.in

6 Sander進行最小化

創建一個名為runmin.sh的腳本. 該腳本將創建輸入文件并運行sander. imin = 1告訴sander進行最小化, ntpr = 100表示每100步保存一次重啟文件, ntwx = 100表示每100步輸出一次軌跡, maxcyc = 10000表示最小化循環10000, ntb = 1指定周期性邊界條件.

注意: 如果要第二次運行模擬, 請確保修改sander的參數. 例如, min1完成后, 第二次輸入坐標文件應為min1.x, 而輸出文件則應以min2開頭.

bash

?1

?2

?3

?4

?5

?6

?7

?8

?9

10

11

12

13

14

15

16

17

#!/bin/bash

# 創建mdin文件

cat > mdin << EOF

minimization

&cntrl

imin=1, ntpr=100, ntwx=100, ? maxcyc=10000,

ntb=1,

&end

EOF

sander -O????????? \

-i mdin.in???????? \ ?# 輸入文件

-o min1.o????????? \ ?# 輸出文件

-p ionicbox.prmtop \ ?# 拓撲文件

-c ionicbox.inpcrd \ ?# 輸入坐標文件

-r min1.x ?????????\ ?# 重啟文件

-x min1.nc???????? \ ?# 輸出坐標并保存在軌跡中

-e min1.dat?????????? # 能量數據

用以下命令運行這個程序:

./runmin.sh

你應當查看Amber手冊以了解更多有關這些參數的信息.

7 運行分子動力學模擬

創建名為runmd.sh的腳本文件

bash

?1

?2

?3

?4

?5

?6

?7

?8

?9

10

11

12

13

14

15

16

17

18

19

20

21

#!/bin/bash

# 創建mdin文件

cat > mdin << EOF

equilibration for box

&cntrl

imin=0, ntpr=3000, ntwx=3000,

ntx=1, irest=0,

tempi=298., temp0=298., ntt=3,

gamma_ln=5., ntb=2, ntp=1, taup=1.0, ? ioutfm=1, nstlim=3000000,

ntwr=1000, dt=.001, ig=-1,

/

EOF

# 運行sander命令

sander -O? \

-i mdin??? \

-o md1.out \

-p ionicbox.prmtop \

-c min1.x????????? \ # 能量最小化的重啟文件

-r md1.x \$RUN.rst7

-x md1.nc \

-e md1.dat

再次提醒, 你應該看看Amber手冊, 以了解這個輸入文件到底在做什么.

注意: MD模擬產生的重啟文件中包含速度信息, 而最小化的啟動文件沒有包含速度信息. 為了標記這些差異性, 使用ntx = 5irest = 1標記重啟文件, 以便在后面的模擬中區分這些重啟文件.

另請注意: 當你運行下一個模擬時, 請使用上一個輸出中的重啟文件作為新的輸入坐標文件.

8 ptraj成像

我們用packmol創建的盒子顯示出一個基本問題: 大部分分子暴露于真空, 這會使模擬結果產生偏差. 在周期性邊界下, 我們的盒子在所有三個維度都會周期性復制”, 以使我們的系統代表真實的散裝液體環境. 因此, 當一個分子從一側離開盒子時, 它會從另一側進入. Ptraj的鏡像工具重新調整了離開盒子的分子, 為我們提供了中心盒子中的正確分子構象.

創建一個輸入文件ptraj.in:

trajin md1.nc??? ??# 軌跡中位于中心的分子構象盒子名稱

image center

trajout ptraj.out? # 輸出文件的名稱

要運行ptraj, 請運行以下命令:

ptraj prmtop ptraj.in

Ptmtop是我們盒子的拓撲文件.

image.png

image.png

9: MD結果??)ptraj處理之前; ()ptraj處理之后

徑向分布函數(RDFs)

1. 首先分析密度, 看平均密度是否靠近目標值.

awk ‘/Density/ { print $3 }; $1==”A” && $2==”V” {exit 0}’ md1.out > density.dat

這個awk腳本計算輸入文件(md1.out), 并輸出每行出現Density一詞的第三列. 密度輸出到density.dat文件中. awk到達輸出文件中的平均部分時, 腳本退出.

2. 使用xmgrace繪制密度數據圖:

xmgrace density.dat

3. 要計算平均密度, 請檢查xmgrace中的設置, 或運行以下腳本:

awk ‘{ sum = sum + $1 }; END { print “average = “, sum/NR }’ density.dat

這個awk腳本利用density.dat中的數據, 并將每行的第一列添加到sum, 然后輸出除以NR(awk中定義行數的變量)的總和得到平均值.

4. 檢查Energy Total以查看系統是否處于平衡狀態.

awk ‘/Etot/ {print $3}; ($1==”A” && $2==”V”) {exit 0};’ Eq2.1.out > etot.dat

如果要使用xmgrace繪制Energy Total數據圖, 請使用與上述繪制密度數據圖類似的命令.

以下是[bmim] [BF4]和乙腈的離子液體混合物的MD模擬的Energy Total圖示例:

image.png

image.png

10: 密度()和總能量()隨時間的變化曲線.

5. 一旦密度達到目標值且總能量處于平衡狀態, 便可以計算徑向分布函數.

這里得到的平均密度為1.0774cc/mol, 參考文獻中的密度1.087cc/mol.

為了計算徑向分布函數, 我們將使用ptraj, 這是一個用于分析輸入坐標文件中的三維坐標的程序. 我們將計算乙腈[CH3CN]N1原子的徑向分布函數.

1) 創建一個輸入文件(ptraj.in):

trajin trajectory filename

radial CH3CN_N1 .1 15.0 :ACN@N

2) 運行

ptraj prmtop ptraj.in

CH3CN_N1是輸出文件名稱的標題, .1(指的是0.1, 譯者注)是計算間隔的大小, 15.0是直方圖的最大值, 以及:ACN@N是用于選擇我們想要用于分析的原子的篩選命令(acn分子中的N原子).

運行ptraj.in文件后生成的輸出文件將為: CH3CN_N1_carnal.xmgr, CH3CN_N1_standard.xmgr CH3CN_N1_volume.xmgr

使用Xmgrace打開文件以查看RDF的結果圖. 例如:

xmgrace CH3CN_N1_volume.xmgr

上述命令將打開xmgrace中的CH3CN_N1_volume.xmgr文件. x軸是以埃為單位的距離, 并且g(r)表示在一個原子(乙腈中的一個氮)的給定距離(r)處找到原子(在這種情況下為另一個乙腈中的氮)的概率. 第一個峰(約四埃)代表N原子的第一個聚集層, 第二個峰(少于六埃)代表N原子的第二個聚集層.

image.png

11: 徑向分布函數

9 自擴散系數

根據愛因斯坦關系, 自擴散系數D可以用下面的公式計算:

Di=16limt→∞ddt<[r?i(t)?r?i(0)]2>Di=16limt→∞ddt<[r→i(t)?r→i(0)]2>

其中 DiDi 表示每個組分的自擴散系數, <><> 符號中表示為均方根位移, MSD, r?i(t)r→i(t) 表示其質心的的坐標向量, r?i(0)r→i(0) 為初始時刻的質心坐標向量. (譯者注: 教程中的公式應該是由于網頁轉換公式出現了問題, 這里按照參考文獻1給出的公式重新改寫)

為了計算自擴散系數D, 我們將

1) 使用ptrajgnuplot繪制平均MSD隨時間的圖 2) 找出圖的斜率 3) 將值代入方程得到D

9.1 創建輸入文件

Ptraj將計算MSD并且輸出x(時間)y(MSD)gnuplot的文件中.

創建名為ptraj.in的文件并輸入以下內容:

trajin trajName? ??# 在這里輸入你的軌跡名稱(例如, Eq1.nc)

diffusion mask timestep average

mask這里表示篩選分子所需的命令. 例如, 如果您想為乙腈計算D, 請將mask替換為:ACN. 要為所有殘基計算D(這是本教程的內容), 請使用:*.

Timestepdt * ntwx, 是輸出軌跡的時間間隔(以皮秒為單位).

9.2 運行ptraj

運行以下命令:

ptraj nameOfYourTopologyFile ptraj.in

9.3 運行gnuplot

打開gnuplot(shell中輸入gnuplot). 你應該在提示信息后出現后的一行左側看到>, 這意味著我們已經可以運行gnuplot命令了.

image.png

12

輸入:

plot ‘diffusion_r.xmgr’ with lines

9.4 計算

使用該圖作為參考, 計算圖的斜率并將該值代入到公式中. 斜率的單位是平方埃每皮秒.

注意: 雖然公式表明應該采用圖形末尾附近的斜率, ptraj的擴散工具在圖形的開頭是最準確的. 這是顯而易見的, 因為噪聲似乎隨著x的增加而增加.

另請注意: 模擬中恒溫和恒壓設置可能會破壞擴散系數. 為了獲得更精確的測量結果, 請關閉溫度和壓強控制再模擬一次.

這里我們得斜率得為0.0635990平方埃每皮秒(或者是63.5990×10^-11^平方米每秒(m/s)). 為了得到擴散系數, 我們需要將這個數字除以6, 即我們得到的擴散系數為10.5998×10^-11^米平方每秒(m/s). 而參考文獻的擴散常數為14.9×10^-11^米平方每秒(m/s), 這種差異的可能原因是我們用的是Amber普適力場, 而參考文獻使用的是修正過的精細力場.

10 結論

我們模擬室溫離子液體時, 使用xleap”手動繪制分子, 使用antechamber優化幾何結構, 使用xleap/tleap生成拓撲和坐標文件, 并使用sander進行最小化和MD模擬. 另外, 我們還使用ptraj對我們收集的數據進行分析, 例如計算徑向分布函數(RDF)和自擴散系數(self-diffusion coefficients), 并且我們使用xmgracegnuplot來幫助我們可視化數據. 希望在本教程結束時, 你會對AMBER組件提供的眾多工具感到更加得心應手, 現在你可以繼續進行更復雜的模擬(以及更復雜的分析!).

參考文獻:

1.??? Wu, X. P.; Liu, Z. P.; Huang, S. P.; Wang, W. C. Molecular dynamics simulation of room-temperature ionic liquid mixture of [bmim][BF4] and acetonitrile by a refined force field. Phys. Chem. Chem. Phys. 2005, 7 (14), 2771-2779.

Liu, Z. P.; Huang, S. P.; Wang, W. C. A refined force field for molecular simulation of imidazolium-based ionic liquids. Journal of Physical Chemistry B 2004, 108 (34), 12978-12989.

 

打賞作者

?微信 支付寶

發表評論

?
  • 友情鏈接

  • this is a cache: 0.00463