視覺化 氮氣分子能量 和 氮原子受力大小 與 兩氮原子間距離的關係
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就可以了,省了不少功夫。結果經過檢查發現,那個服務無法直接使用...