3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

NWChem触ってみた

Last updated at Posted at 2021-03-22

初めに

QM/MMをやってみたかったので、NWChemを触ってみた。
が、ドキュメントを読んでも全体像がよく分からなかったので
今回は水分子のHF/6-31Gでの構造最適化だけ試してみた。

バージョン

  • NWChem 7.0.2
  • Windows 10
  • WSL 1 / Ubuntu 18.04.4

ダウンロードとインストール

releaseページを参考に次のようにインストール。

$ sudo apt-get update
$ sudo apt -y install  python3-dev gfortran  mpi-default-bin mpi-default-dev ssh
$ curl -LJO https://github.com/nwchemgit/nwchem/releases/download/v7.0.2-release/nwchem-data_7.0.2-1_all.ubuntu_bionic.deb
$ curl -LJO https://github.com/nwchemgit/nwchem/releases/download/v7.0.2-release/nwchem_7.0.2-1_amd64.ubuntu_bionic.deb
$ sudo dpkg -i nwchem*7.0.2*bionic*.deb

これをするとnwchemのパスが通っているハズ。(通っていなければシェルを再起動)
nwchem/usr/bin/nwchemにインストールされている。
インストールされたものは実行ファイルのnwchemのみ。
(ソースコードとかは無さげ……コンパイル済みのものをインストールしたのかな)

$ which nwchem
/usr/bin/nwchem

(インストール場所って変えられないのかな…)

環境変数の設定

しなくても実行はできたので割愛。
mpirunとかの処理の最適化をするなら必要なのか?

サンプル

h2o.nw
start h2o
title "Water in 6-31g basis set"

geometry units au
    O  0.00  0.00  0.00
    H  0.00  1.43 -1.11
    H  0.00 -1.43 -1.11
end
basis
    H library 6-31g
    O library 6-31g
end
task scf optimize

公式ドキュメントにもあるサンプルをとりあえず適当なディレクトリに作り、
これを実行する。

$ nwchem h2o.nw

もしくは

$ mpirun -np 4 nwchem h2o.nw

するとGaussianのlogファイルみたいなものが標準出力される。
最適化過程における座標値やエネルギー値を出力している様子。

また、同時にファイルが生成される。

$ ls
 'h2o.b^-1'   h2o.cfock   h2o.drv.hess   h2o.nw       h2o.p
  h2o.b       h2o.c       h2o.db         h2o.movecs   h2o.zmat

.nw(インプット)を除いてどれもバイナリなので直接読むことはできない。

標準出力はシェルのリダイレクトを使うことでファイルに保存できる

$ nwchem h2o.nw > h2o.nwout

可視化

GaussianはGaussViewがあるが、NWChemは?となり調べてみたところ
Gaussianのcube形式に出力することができる。(dplot)
その場合は次の通りにインプットにdplottaskを追加する。

h2o.nw
start h2o
title "Water in 6-31g basis set"

geometry units au
    O  0.00  0.00  0.00
    H  0.00  1.43 -1.11
    H  0.00 -1.43 -1.11
end
basis
    H library 6-31g
    O library 6-31g
end
task scf optimize

dplot
    gaussian
    limitxyz; -3.0 3.0 100; -3.0 3.0 100; -3.0 3.0 100
    output chargedensity.cube
end
task dplot

これで回すと、chargedensity.cubeファイルが生成される。
中には格子点(limitxyzで指定)上の電子密度の値が並んでいる。
加えて7行目から最適化構造の座標値も出力されている。
(cubeファイルの解釈はこのページで)

chargedensity.cube
 Cube file generated by NWChem
 Unknown Title
    3   -5.669180   -5.669180   -5.669180
  101    0.113384    0.000000    0.000000
  101    0.000000    0.113384    0.000000
  101    0.000000    0.000000    0.113384
    8    8.000000    0.000000    0.000000    0.154929
    1    1.000000   -1.483748    0.000000   -0.854464
    1    1.000000    1.483748    0.000000   -0.854464
  0.77530E-13  0.10980E-12  0.15423E-12  0.21483E-12  0.29679E-12  0.40662E-12
  0.55250E-12  0.74450E-12  0.99496E-12  0.13187E-11  0.17333E-11  0.22595E-11
  0.29211E-11  0.37452E-11  0.47622E-11  0.60053E-11  0.75104E-11  0.93152E-11

....

あとはこれをGaussViewに読ませるなり、自分で解読するなり()すればOK

他にもMOとかスピン密度とかも出力できるらしいが、今回は興味がないので割愛

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?