使用ase庫小例子

2021-10-22 07:27:00 字數 1067 閱讀 1290

視覺化 氮氣分子能量 和 氮原子受力大小 與 兩氮原子間距離的關係

from ase import atoms  #匯入相應的包

from ase.calculators.emt import emt

import matplotlib.pyplot as plt

#構建氮氣分子並初始化相應引數

atoms = atoms(

'n2'

, positions=[[

0,0,

-1],

[0,0

,1]]

)atoms.calc = emt(

)step =

0.05

nsteps =

int(

3/ step)

distance =

energy =

force =

#進入迴圈,計算每步的能量和氮原子受力

for i in

range

(nsteps)

: d =

0.5+ i * step

atoms.positions[1,

2]= atoms.positions[0,

2]+ d e = atoms.get_potential_energy(

) f = atoms.get_forces(

) f = f[0,

2]#繪圖fig = plt.figure(

)plt.plot(distance, energy)

plt.plot(distance, force)

plt.show(

)

結果如下:

橫座標是距離,單位是埃

縱座標藍線是能量,單位是ev

縱座標黃線是受力,負值為排斥力

可見,氮原子在相差1埃的時候能量最低,體系最穩定。

本**參照ase官方文件的例子,做小修改。

ase官方文件

libiconv使用小例子

最近用到一點轉碼的東西,在網上搜到乙個libiconv,使用了一下感覺還可以,不過還是有一兩處容易犯錯的地方,除錯了半天才搞明白,此處是乙個將utf 8轉換為gbk的小例子 std string convfromutf8 std string s size t inlen s.size const ...

xpath使用小例子

要解析的xml檔案 檔名e.xml harry potter 29.99 learning xml 39.95 python指令碼 usr bin env python coding utf8from lxml import etreefrom xml.etree import elementtre...

WIN平台下ASE使用資源檔案建立ASE服務

win平台下ase使用資源檔案建立ase服務 因為迎檢演示工作需要,在虛擬機器上恢復乙個備份來作為演示系統的資料庫。分配的虛擬機器上已經安裝了sybase ase12.5.4,並且已經建立有服務。本來看到這個環境,心裡還在想,直接load就可以了,省了不少功夫。結果經過檢查發現,那個服務無法直接使用...