WSLでGANSU(ガンス)を使ってみた

GPUで動くオープンソースの量子化学計算プログラムのGANSUが登場しました。

ということでこのGANSUをWSLに入れて動かしてみようと思います。

スポンサーリンク

インストール手順

基本的にはこちらの内容の通りです。

gitしてcmakeしてmakeすれば動くのですが、cmakeの要求バージョンが新しいのでcmakeのインストールが必要でした。こちらでcmakeのインストール方法を解説しています。

こちらの方法でcmakeの新しいバージョンの物を既存のcmakeとは別でインストールしました。cmakeがある場所が/home/wsl/cmake (という変な場所)なので、インストールコマンドは以下のようになります。

cd GANSU
mkdir build
cd build
~/cmake/bin/cmake ..
make

コンパイラにnvcc等を使っているので、この作業はnvccが使える状態で実行する必要があります。また当然ながらGPU計算環境が必須で、CPU用のコンパイルはできません。

cmakeはすぐ終わりますが、makeは少し時間がかかりました。成功すると/buildの中にHF_mainが作られます。

スポンサーリンク

計算方法

公式の情報通りの試計算をやってみます。

./HF_main -x ../xyz/H2O.xyz -g ../basis/sto-3g.gbs > H2O.log

このように > H2O.log を付けると標準出力をファイルにできます。その中身を見てみます。

$ cat H2O.log |grep Energy
---- Iteration: 0 ----  Energy: -83.836891177003736 Total energy: -74.930928949381311 Difference: 1.7976931348623157e+308
---- Iteration: 1 ----  Energy: -83.870402766470704 Total energy: -74.96444053884828 Difference: 0.033511589466968417
---- Iteration: 2 ----  Energy: -83.871643338707472 Total energy: -74.965681111085047 Difference: 0.0012405722367674343
---- Iteration: 3 ----  Energy: -83.871852991203625 Total energy: -74.9658907635812 Difference: 0.00020965249615301218
---- Iteration: 4 ----  Energy: -83.871863402709977 Total energy: -74.965901175087552 Difference: 1.0411506352170363e-05
---- Iteration: 5 ----  Energy: -83.871863414181973 Total energy: -74.965901186559549 Difference: 1.1471996685941122e-08
Energy difference: 1.1472e-08
Energy (without nuclear repulsion): -83.871863414181973 [hartree]
Total Energy: -74.965901186559549 [hartree]

$ tail H2O.log
Method: Restricted Hartree-Fock (RHF)
Schwarz screening threshold: 1e-12
Initial guess method: core
Convergence algorithm: DIIS (diis_size: 8, diis_include_transform: false)
Number of iterations: 5
Convergence criterion: 1e-06
Energy difference: 1.1472e-08
Energy (without nuclear repulsion): -83.871863414181973 [hartree]
Total Energy: -74.965901186559549 [hartree]
Computing time: 236 [ms]

5回のIterationで計算が終わり、計算時間は236ms、Total energyは-74.9659 [hartree]です。

また計算後にoutput.molden のファイルが作られます。

この計算は一点計算、すなわち現在の構造でのエネルギーを計算しています。分子の構造最適化をする機能はまだないようです。他のプログラムとの連携も示唆されているので、例えばPythonのASEと連携できれば構造最適化もできるのかなと思います。

コメント

タイトルとURLをコピーしました