高辣慎入hh出轨,男男黄gay片免费网站www,亚洲国产成人久久精品大牛影视,少妇性活bbbbbbbbb四川

預(yù)存
Document
當(dāng)前位置:文庫百科 ? 文章詳情
ASE原子模擬環(huán)境入門之結(jié)構(gòu)優(yōu)化: H2O
來源: 時(shí)間:2022-12-16 16:40:21 瀏覽:4293次

我們來計(jì)算一下H2O分子的結(jié)構(gòu)

練習(xí):創(chuàng)立一個(gè)Atoms對(duì)象來代表一個(gè)水分子,提供分子的化學(xué)符號(hào),猜測(cè)沒各原子的位置。將它可視化,保證分子呈V字形。

練習(xí):使用GPAW給這個(gè)猜測(cè)的H2O分子運(yùn)行一個(gè)自洽計(jì)算。




優(yōu)化器


我們接下來要優(yōu)化幾何構(gòu)型。ASE提供了幾種優(yōu)化算法,可以在配備求解器的atom上運(yùn)行:


from ase.optimize import BFGS

opt = BFGS(atoms, trajectory='opt.traj', logfile='opt.log')

opt.run(fmax=0.05)

練習(xí):運(yùn)行一個(gè)結(jié)構(gòu)優(yōu)化,計(jì)算H2O的平衡幾何構(gòu)型。

上面的trajectory關(guān)鍵字確保中間幾何構(gòu)型的軌跡被寫入opt.traj。

練習(xí):將輸出的軌跡可視化,并動(dòng)態(tài)地播放。用鼠標(biāo)拖動(dòng)選框選擇水分子的三個(gè)原子——這將顯示它們的夾角。H2O的H-O-H夾角是多少?

在ASE中,如果我們知道正確的語法,我們也可以通過編程來做事情:


from ase.io import read

atoms = read('opt.traj')

print(atoms.get_angle(0, 1, 2))

print(atoms.get_angle(2, 0, 1))

print(atoms.get_angle(1, 2, 0))

有關(guān)Atoms對(duì)象的文檔提供了一個(gè)很長(zhǎng)的方法列表。



G2分子數(shù)據(jù)集


ASE知道許多常見的分子,所以我們實(shí)際上不需要自己輸入所有的分子坐標(biāo)。就是這么幸運(yùn),ase.build.molecule()函數(shù)做的正是我們需要的:


from ase.build import molecule

atoms = molecule('H2O', vacuum=3.0)

這個(gè)函數(shù)從G2測(cè)試集返回一個(gè)分子,如果我們能記住分子的確切名稱,這就很好了。如果我們沒有記住所有的分子名,我們使用G2測(cè)試集的更通用的模塊ase.collections.g2:

from ase.collections import g2

print(g2.names)  # These are the molecule name

satoms = g2['CH3CH2OH']

view(atoms)

view(g2)  # View all 162 systems




使用其它計(jì)算軟件


我們同樣可以使用其它計(jì)算軟件,通常是通過接口(sockets)來訪問的,比如form  ase.calculators.emt import EMTfrom  ase.calculators.aims import Aims。有關(guān)列表,請(qǐng)參見ase.calculators或運(yùn)行:


$ ase info --calculators

我們以計(jì)算軟件FHI-Aims為例。用戶自行安裝FHI-Aims。然后我們使用FHI-Aims來進(jìn)行同樣的弛豫計(jì)算。但在上面的列表中,Aims(可能)并不是可用的。我們首先需要告訴ASE如何運(yùn)行Aims。這意味著: 1)用于運(yùn)行Aims的命令;

2)在哪里可以找到有關(guān)的信息。 我們可以通過在shell中設(shè)置環(huán)境變量來實(shí)現(xiàn):

$ export ASE_AIMS_COMMAND=aims.x

$ export AIMS_SPECIES_DIR=/home/alumne/software/FHIaims/species_defaults/light

ase info --calculators命令可以告訴我們,它認(rèn)為Aims可執(zhí)行文件名為aims.x

然而,如果我們打開一個(gè)新的shell,它會(huì)忘記這一點(diǎn)。如果我們又不想在這些電腦上修改.bashrc文件,那么我們可以在Python腳本中設(shè)置這些變量:


import os

os.environ['ASE_AIMS_COMMAND'] = 'aims.x'

os.environ['AIMS_SPECIES_DIR'] = '/home/alumne/software/FHIaims/species_defaults/light'

練習(xí):使用ASE調(diào)用FHI-Aims計(jì)算軟件運(yùn)行一個(gè)H2O結(jié)構(gòu)優(yōu)化計(jì)算

要啟用力的計(jì)算,需要compute_forces=True。Aims需要一個(gè)明確給定的XC泛函,所以我們將xc='LDA'。xc關(guān)鍵字由幾個(gè)ASE計(jì)算器支持,可以更容易地指定常用的xc泛函。

運(yùn)行之后,會(huì)出現(xiàn)一下新的文件。ASE會(huì)先建立control.ingeometry.in,然后在這兩個(gè)輸入文件的基礎(chǔ)上運(yùn)行FHI-Aims,產(chǎn)生aims.out。一定要檢查一下這些文件。作為完美主義者和偏執(zhí)狂,我們當(dāng)然期望保證ASE設(shè)置的每一個(gè)參數(shù)都是我們所設(shè)想的。

大多數(shù)ASE計(jì)算器可以使用calc.write_input_file(atoms)生成一個(gè)文件,而不觸發(fā)計(jì)算。例如,如果您希望現(xiàn)在生成文件,但是以后運(yùn)行它們(無論是否使用ASE),這是非常有用的。

ASE知道許多文件格式。ase.io.read()可以讀取輸入文件和輸出文件,并返回Atoms。這些文件也可以用ASE  GUI直接打開。

注意,默認(rèn)情況下,后續(xù)的計(jì)算將相互覆蓋。因此Aims輸入和輸出文件對(duì)應(yīng)于結(jié)構(gòu)弛豫的最后一步。ase.optimize的文檔會(huì)告訴我們,我們可以通過添加一個(gè)“觀察者”(observer)來阻止這種覆蓋的行為,或者使用更靈活的ase.optimize.Dynamics.irun()方法來強(qiáng)制將不同的步驟放到不同的目錄中。




附錄:計(jì)算器與代碼之間的通信


下面的知識(shí)對(duì)于正常使用ASE不是必要的。除非您對(duì)如何優(yōu)化ASE和外部計(jì)算器之間的通信感興趣,否則您可以跳過。

不同的計(jì)算器以不同的方式與計(jì)算代碼通信。GPAW是用Python編寫的,因此ASE和GPAW運(yùn)行在同一個(gè)進(jìn)程中。然而,F(xiàn)HI-aims是一個(gè)單獨(dú)的程序。Aims計(jì)算器為我們所做的是生成一個(gè)輸入文件,運(yùn)行FHI-aims,讀取輸出,并返回結(jié)果。

我們剛做了一個(gè)涉及多個(gè)幾何步驟的弛豫。每一步都啟動(dòng)一個(gè)新的Aims流程,然后停止。這是低效的,因?yàn)橐粋€(gè)步驟的基態(tài)電荷密度和波函數(shù)將是下一個(gè)步驟的一個(gè)很好的初始猜測(cè),降低了收斂所需的步驟數(shù)。但是當(dāng)程序終止時(shí),這些量就丟失了。為了在結(jié)構(gòu)優(yōu)化和動(dòng)力學(xué)方面獲得最佳性能,我們需要避免這種效率損失。

許多ASE計(jì)算器支持更高級(jí)的通信方式。這些計(jì)算器可以通過管道(pipes)(Lammps, CP2K)或接口(sockets)(Siesta, Aims,  Espresso)與持久外部進(jìn)程通信,或者它們可以通過直接庫調(diào)用(Lammpslib, GPAW)在同一進(jìn)程中工作。

ASE可以使用i-PI協(xié)議通過接口(sockets)與FHI-aims 通信(http://ipi-code.org/)。這是通過將計(jì)算器包裝在ase.calculators.socketio.SocketIOCalculator中來實(shí)現(xiàn)的。接口(sockets)計(jì)算器將使用它包裝的計(jì)算器來啟動(dòng)一個(gè)計(jì)算,然后運(yùn)行它。

關(guān)于接口(sockets)I/O計(jì)算器的文檔已經(jīng)提供了完整的示例,因此我們只需要稍作調(diào)整就可以在本地機(jī)器上運(yùn)行它們。

選做練習(xí):給予我們剛才使用FHO-aim進(jìn)行弛豫計(jì)算的例子,寫一段代碼使用ase.calculators.socketio.SocketIOCalculator運(yùn)行同樣的計(jì)算

你可以運(yùn)行python3  myscript.py來查看計(jì)算總共花了多長(zhǎng)時(shí)間。在接口(sockets)上運(yùn)行弛豫能得到多大的加速?INET接口(sockets)通常具有高延遲。如果你沒有看到太多的加速,這可能是原因。在這種情況下,嘗試切換到UNIX接口(sockets)。

接口(sockets)I/O計(jì)算器自動(dòng)生成一個(gè)輸入文件,并立即啟動(dòng)計(jì)算。因?yàn)樗粏?dòng)流程一次,所以后續(xù)步驟不會(huì)相互覆蓋,我們可以在aims.out中找到所有的中間步驟。

練習(xí)答案

GPAW優(yōu)化


from ase import Atoms

from ase.optimize import BFGS

from gpaw import GPAW

atoms = Atoms('HOH',positions=[[0, 0, -1], [0, 1, 0], [0, 0, 1]])

atoms.center(vacuum=3.0)

calc = GPAW(mode='lcao', basis='dzp', txt='gpaw.txt')

atoms.calc = calc

opt = BFGS(atoms, trajectory='opt.traj')

opt.run(fmax=0.05)

FHI-aims優(yōu)化


import os

from ase import Atoms

from ase.optimize import BFGS

from ase.calculators.aims import Aims

os.environ['ASE_AIMS_COMMAND'] = 'aims.x'

os.environ['AIMS_SPECIES_DIR'] = '/home/alumne/software/FHIaims/species_defaults/light'

atoms = Atoms('HOH',positions=[[0, 0, -1], [0, 1, 0], [0, 0, 1]])

calc = Aims(xc='LDA', compute_forces=True)

atoms.calc = calc

opt = BFGS(atoms, trajectory='opt-aims.traj')

opt.run(fmax=0.05)

FHI-aims/socket-io優(yōu)化

import os

from ase import Atoms

from ase.optimize import BFGS

from ase.calculators.aims import Aims

from ase.calculators.socketio import SocketIOCalculator

os.environ['ASE_AIMS_COMMAND'] = 'aims.x'

os.environ['AIMS_SPECIES_DIR'] = '/home/alumne/software/FHIaims/species_defaults/light'

atoms = Atoms('HOH',positions=[[0, 0, -1], [0, 1, 0], [0, 0, 1]])

opt = BFGS(atoms, trajectory='opt-aims-socketio.traj')

aims = Aims(xc='LDA',compute_forces=True,use_pimd_wrapper=('UNIX:mysocket', 31415))

with SocketIOCalculator(aims, unixsocket='mysocket') as calc:

   atoms.calc = calc

   opt.run(fmax=0.05)


計(jì)算狗·模擬計(jì)算

評(píng)論 / 文明上網(wǎng)理性發(fā)言
12條評(píng)論
全部評(píng)論 / 我的評(píng)論
最熱 /  最新
全部 3小時(shí)前 四川
文字是人類用符號(hào)記錄表達(dá)信息以傳之久遠(yuǎn)的方式和工具。現(xiàn)代文字大多是記錄語言的工具。人類往往先有口頭的語言后產(chǎn)生書面文字,很多小語種,有語言但沒有文字。文字的不同體現(xiàn)了國(guó)家和民族的書面表達(dá)的方式和思維不同。文字使人類進(jìn)入有歷史記錄的文明社會(huì)。
點(diǎn)贊12
回復(fù)
全部
查看更多評(píng)論
相關(guān)文章

基礎(chǔ)理論丨一文了解XPS(概念、定性定量分析、分析方法、譜線結(jié)構(gòu))

2020-05-03

晶體結(jié)構(gòu)可視化軟件 VESTA使用教程(下篇)

2021-01-22

手把手教你用ChemDraw 畫化學(xué)結(jié)構(gòu)式:基礎(chǔ)篇

2021-06-19

【科研干貨】電化學(xué)表征:循環(huán)伏安法詳解(上)

2019-10-25

【科研干貨】電化學(xué)表征:循環(huán)伏安法詳解(下)

2019-10-25

Zeta電位的基本理論、測(cè)試方法和應(yīng)用

2020-08-24

項(xiàng)目推薦/Project
第一性原理-NO3RR

第一性原理-NO3RR

第一性原理-AIMD

第一性原理-AIMD

熱門文章/popular

基礎(chǔ)理論丨一文了解XPS(概念、定性定量分析、分析方法、譜線結(jié)構(gòu))

晶體結(jié)構(gòu)可視化軟件 VESTA使用教程(下篇)

手把手教你用ChemDraw 畫化學(xué)結(jié)構(gòu)式:基礎(chǔ)篇

【科研干貨】電化學(xué)表征:循環(huán)伏安法詳解(上)

電化學(xué)實(shí)驗(yàn)基礎(chǔ)之電化學(xué)工作站篇 (二)三電極和兩電極體系的搭建 和測(cè)試

【科研干貨】電化學(xué)表征:循環(huán)伏安法詳解(下)

微信掃碼分享文章
成人亚洲性情网站www在线观看| 国产精品第一页| 羞羞漫画在线观看| 久久精品国产亚洲av四区| 午夜亚洲国产理论片2020| 男男做爰猛烈叫床视频gv| 夜躁狠狠综合亚洲色噜噜狠狠| 国产成人一区二区三区传媒| 色多多app| 99精品亚洲av无码国产另类| 两男一女两根同进去舒服吗| 97人妻精品一区二区三区| 苍井空av成人片免费观看| 重口老太大和小伙乱| 免费av在线观看| 麻豆国产一区二区三区四区| 大胸美女被吃奶爽死视频免费| 极致凌虐被迫高潮sm在线观看| 成人做爰视频www| 国产h视频在线观看| 两个人免费视频高清播放| 学长别揉了~流水了想要~| 麻豆精产国品一二三产区区| 糖心vlog官网| 粗大挺进朋友人妻淑娟| 亚洲爆乳无码精品aaa片蜜桃| 阿娇张开两腿实干13分钟图片| 少爷湿润粗大跪趴含bl| 亚洲av无码国产精品午夜久久| 国产精品三级在线观看无码| 人妻夜夜爽天天爽| 丰满护士巨好爽好大乳小说| 国产真实老头老太bbwbbw| 国产av旡码专区亚洲av苍井空| 刺激的至亲乱45部| 精品人妻av一区二区三区| 熟女人妻大叫粗大受不了| 久久精品国产99国产精2018| 成全视频在线观看免费观看| 第一次进入女朋友的身体注意事项| 最近中文字幕免费mv视频7|